欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RHEL4/5 iptables实例(更新中)

程序员文章站 2022-06-17 17:29:08
...

[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