自己动手做的防火墙,希望高手们能帮找找毛病!
1、首先将主机A的防火墙的策略清空,然后设置默认规则为DROP
#iptables -F
#iptables -X
#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -P FORWARD DROP
#iptables -t nat -F
#iptables -t nat -X
#iptables -t nat -P PREROUTING DROP
#iptables -t nat -P POSTROUTING DROP
#iptables -t nat -P OUTPUT DROP
#iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
#iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
2、允许DNS查询请求
#iptables -t nat -A POSTROUTING -d 202.106.0.20 -o eth0 -p udp --dport 53 -j SNAT --to 222.231.36.179
#iptables -t nat -A POSTROUTING -d 202.106.0.20 -o eth0 -p tcp --dport 53 -j SNAT --to 222.231.36.179
#iptables -A FORWARD -d 202.106.0.20 -o eth0 -p udp --dport 53 -j ACCEPT
#iptables -A FORWARD -s 202.106.0.20 -i eth0 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A FORWARD -d 202.106.0.20 -o eth0 -p tcp --dport 53 -j ACCEPT
#iptables -A FORWARD -s 202.106.0.20 -i eth0 -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
3、允许内网通过80/443端口访问Internet
#iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -p tcp --dport 80 -j SNAT --to 222.231.36.179
#iptables -t FORWARD -s 10.10.0.0/24 -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT
#iptables -A FORWARD -i eth0 -d 10.10.0.0/24 -o eth1 -p tcp --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -p tcp --dport 443 -j SNAT --to 222.231.36.179
#iptables -t FORWARD -s 10.10.0.0/24 -i eth1 -o eth0 -p tcp --dport 443 -j ACCEPT
#iptables -A FORWARD -i eth0 -d 10.10.0.0/24 -o eth1 -p tcp --sport 443 -m state --state ESTABLISHED,RELATED -j ACCEPT
4、允许内网访问DMZ
#iptables -A FORWARD -s 10.10.0.0/24 -i eth1 -d 192.168.0.0/24 -o eth2 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.0/24 -i eth2 –d 10.10.0.0/24 -o eth1 !--syn -j ACCEPT
5、允许外网访问DMZ
#iptables -t nat -A PREROUTING -d 222.231.36.179 -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.1:80
#iptables -A FORWARD -i eth0 -d 192.168.0.1 -o eth2 -p tcp --dport 80 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.1 -i eth2 -o eth0 -p tcp --sport 80 !--syn -j ACCEPT
#iptables -t nat -A PREROUTING -d 222.231.36.179 -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.0.1:443
#iptables -A FORWARD -i eth0 -d 192.168.0.1 -o eth2 -p tcp --dport 443 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.1 -i eth2 -o eth0 -p tcp --sport 443 !--syn -j ACCEPT
#iptables -t nat -A PREROUTING -d 222.231.36.179 -i eth0 -p tcp --dport 25 -j DNAT --to 192.168.0.2:25
#iptables -A FORWARD -i eth0 -d 192.168.0.2 -o eth2 -p tcp --dport 25 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.2 -i eth2 -o eth0 -p tcp --sport 25 !--syn -j ACCEPT
#iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -p tcp --dport 25
-j SNAT --to 222.231.36.179:25
#iptables -A FORWARD -s 192.168.0.2 -i eth2 -o eth0 -p tcp --dport 25 -j ACCEPT
#iptables -A FORWARD -i eth0 -d 192.168.0.2 -o eth2 -p tcp --sport 25 !--syn -j ACCEPT
#iptables -t nat -A PREROUTING -d 222.231.36.179 -i eth0 -p tcp --dport 3306 -j DNAT --to 192.168.0.3:3306
#iptables -A FORWARD -i eth0 -d 192.168.0.3 -o eth2 -p tcp --dport 3306 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.3 -i eth2 -o eth0 -p tcp --sport 3306 !--syn -j ACCEPT
#iptables -t nat -A PREROUTING -d 222.231.36.179 -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.0.4:22
#iptables -A FORWARD -i eth0 -d 192.168.0.4 -p tcp --dport 22 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.4 -i eth2 -o eth0 -p tcp --sport 22 !--syn -j ACCEPT
#iptables -t nat -A PREROUTING -d 222.231.36.179 -i eth0 -p tcp --dport 21 -j DNAT --to 192.168.0.5:21
#iptables -A FORWARD -i eth0 -d 192.168.0.5 -p tcp --dport 21 -j ACCEPT
#iptables -A FORWARD -s 192.168.0.5 -i eth2 -o eth0 -p tcp --sport 21 !--syn -j ACCEPT
这是我这几天学习的结果。现在还没有应用,希望大家能帮忙找找存在的问题。谢谢大家!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
LZ可以先测试一下,然后把测试中出现的和规则不符的地方拿出来大家讨论
支持一下楼主。
你这不叫自己做防火墙,而叫自己配规则
实践出真知!
楼主用虚拟机测试的如何了?