RHEL4/5iptables实例(更新中)
时间:2021-07-01 10:21:17
帮助过:40人阅读
[root@localhost ~]# cat /etc/access #!/bin/bash #清除策略 sudo /etc/init.d/iptables stop #开放服务器端口 sudo /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT sudo /sbin/iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT sudo /sbin/iptables
[root@localhost ~]# cat /etc/access
#!/bin/bash
#清除策略
sudo /etc/init.d/iptables stop
#开放服务器端口
sudo /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p tcp --sport 80 -j ACCEPT
#允许访问外界
sudo /sbin/iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --sport 80 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p tcp --dport 123 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --sport 123 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p udp --dport 123 -j ACCEPT
sudo /sbin/iptables -I INPUT -p udp --sport 123 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p tcp --dport 53 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp --sport 53 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p udp --dport 53 -j ACCEPT
sudo /sbin/iptables -I INPUT -p udp --sport 53 -j ACCEPT
#允许lo口互访
sudo /sbin/iptables -I INPUT -i lo -j ACCEPT
sudo /sbin/iptables -I OUTPUT -o lo -j ACCEPT
#允许icmp包
sudo /sbin/iptables -I INPUT -p icmp -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p icmp -j ACCEPT
#允许LAN(本地网段)的互访
sudo /sbin/iptables -I OUTPUT -p tcp --sport 0:65535 -d 10.10.1.0/24 -j ACCEPT
sudo /sbin/iptables -I INPUT -p tcp -s 10.10.1.0/24 --dport 0:65535 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -p udp --sport 0:65535 -d 10.10.1.0/24 -j ACCEPT
sudo /sbin/iptables -I INPUT -p udp -s 10.10.1.0/24 --dport 0:65535 -j ACCEPT
#更改默认策略为DROP(丢弃所有不匹配的包)
sudo /sbin/iptables -P INPUT DROP
sudo /sbin/iptables -P OUTPUT DROP
sudo /sbin/iptables -P FORWARD DROP
#################################################
#本身为OPENVPN服务器时,允许client通过该隧道访问外界(默认NAT eth1端口)
sudo /sbin/iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
#OPENVPN服务器时,允许client以NAT某个端口的方式访问特定网段
sudo /sbin/iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth1 -d 10.31.255.0/24 -j MASQUERADE
sudo /sbin/iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -d 172.17.167.0/24 -j MASQUERADE
#允许OPENVPN客户端互访
sudo /sbin/iptables -A FORWARD -o tun0 -d 10.8.0.0/24 -j ACCEPT
sudo /sbin/iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -j ACCEPT
#################################################
#过滤特定网段访问一个特定IP地址10.10.1.100(就是自己本身的IP)的某个端口
sudo /sbin/iptables -I INPUT -s 10.10.1.0/24 -p tcp -d 10.10.1.100 --dport 5566 -j DROP
#过滤一个访问的IP访问本机IP的某个端口
sudo /sbin/iptables -I INPUT -m iprange --src-range 10.10.1.20-10.10.1.22 -p tcp -d 10.10.1.100 --dport 5566 -j DROP
#################################################
#LVS服务器通讯包
sudo /sbin/iptables -I INPUT -i eth0 -d 224.0.0.18 -j ACCEPT
sudo /sbin/iptables -I OUTPUT -o eth0 -d 224.0.0.18 -j ACCEPT
#################################################
#启用通网段IP NAT端口映射功能.就是将访问10.31.255.14的15941端口映射到10.31.255.41的15941端口#10.31.255.41这个主机要将网关设置为10.31.255.14
#启用10.31.255.0网段IP地址 在eth1网卡上的转发
iptables -A FORWARD -o eth1 -d 10.31.255.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -s 10.31.255.0/24 -j ACCEPT
#将访问10.31.255.14这个IP地址的15941端口DNAT到10.31.255.41的15941端口
iptables -t nat -A PREROUTING -d 10.31.255.14 -p tcp --dport 15941 -j DNAT --to-destination 10.31.255.41:15941
#################################################
#Iptables的DNAT和SNAT说明
#使用DNAT可实现访问本地IP地址(202.96.209.133,且它必须添加到网卡上)到内部某个特定IP地址的映射,就是DMZ
#iptables -t nat -A PREROUTING -d 202.96.209.133 -j DNAT --to-destination 192.168.0.110
#然后将内部网段的IP都通过本机一个IP地址202.96.209.134(这个IP必须添加到网卡上)转发出去
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 202.96.209.134