栏目头部广告

iptables与firewalls网络防火墙相关配置

1、路由相关

route -n
route del -net 0.0.0.0 netmask 0.0.0.0 gw 10.23.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.23.0.1

2、Linux内核层面禁ping

vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1
sysctl -p

3、firewalld防火墙

systemctl restart firewalld.service
systemctl enable firewalld.service
firewall-cmd --zone=public --remove-service=ssh --permanent    # 禁ssh
firewall-cmd --permanent --add-icmp-block=echo-request         # 禁ping
firewall-cmd --list-all
firewall-cmd --zone=public --add-service=ssh --permanent       # 开启ssh
firewall-cmd --remove-icmp-block=echo-request --permanent      # 开启ping
systemctl restart firewalld.service

4、iptables防火墙

service iptables status        # 先检查是否安装了iptables
yum install -y iptables        # 安装iptables
yum update iptables            # 升级iptables
yum install iptables-services  # 安装iptables-services
iptables -L

# 允许ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT 
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

# 禁止PING设置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

iptables -L -n                                    # 查看iptables现有规则
iptables -P INPUT ACCEPT                          # 先允许所有,不然有可能会悲剧
iptables -F                                       # 清空所有默认规则
iptables -X                                       # 清空所有自定义规则
iptables -Z                                       # 所有计数器归0
iptables -A INPUT -i lo -j ACCEPT                 # 允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT     # 开放22端口
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT # 允许ping
iptables -P INPUT DROP                            # 其他入站一律丢弃
iptables -P OUTPUT ACCEPT                         # 所有出站一律绿灯
iptables -P FORWARD DROP                          # 所有转发一律丢弃
service iptables save                             # 保存规则

# 放行50000-60000内所有端口
iptables -A INPUT -i eth0 -s 10.25.25.100/32 -p tcp -m multiport --dports 50000:60000 -j ACCEPT

# SNAT:10.13.0.0/16段通过10.13.37.245的外网IP访问外网
iptables -t nat -A POSTROUTING -s 10.13.0.0/16 -o eth0 -j SNAT --to-source 10.13.37.245

# DNAT:可以实现168这个没eip的机器上搭建nginx,通过访问245这个的eip访问到168的nginx
iptables -t nat -A PREROUTING -d 10.13.37.245 -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.13.140.168
iptables -nL -t nat

【注意】SNAT和DNAT都需要单独加指向有外网IP主机的路由

# 查看出向所有规则
iptables -L INPUT --line-numbers

# 查看PREROUTING规则
iptables --line-numbers --list PREROUTING -t nat
iptables -t nat -D PREROUTING $line                    # 删除指定行

作者:UStarGao
链接:https://www.starcto.com/nettool/166.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`