1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
实验环境: linux6.2为网关服务器,eth0连接内网,ip为192.168.1.1 /24  eth1连接公网,ip地址为172.16.16.1 /16
                      linux5.5为内部web服务器,ip地址为192.168.1.5 /24
                      xp为公网环境,ip地址为172.16.16.172 /16
                       linux6.2开启路由转发功能
实现目的:
网站服务器
默认规则设置为DROP
允许接收响应本机 ping 测试请求的各种ICMP数据包
允许访问本机80端口的web服务,禁止访问其他端口的TCP请求
允许发往本机以建立连接或与已有连接相关的各种tcp包
禁止其他任何形式的入站访问数据
  
网关服务器
所有规则均在filter表的FORWARD链内添加,默认策略设置为DROP
针对tcp协议的80.20.21.25.110.143端口,以及UDP协议的53端口,分别从局域网访问Internet.从Internet响应局域网请求的过程编写转发规则
执行DNS查询,获知站点 web.qq.com  w.qq.com im.qq.com当前所用的ip 地址包括:112.90.141.163. 112.90.141.163. 112.90.141.164.   58.251.149.159.   58.254.60.202.  123.138.238.100  123.138.238.101. 然后依次针对这些ip地址编写转发规则,禁止tcp协议的80.443端口的访问
测试转发控制效果,从局域网中的主机无法访问Internet中的web.qq.com等被封站点,但能访问其他web站点,也能够访问DNS,FTP等服务
实验过程
[root@localhost 桌面] # iptables -F                                                                 [root@localhost 桌面]# iptables -P INPUT DROP                  
[root@localhost 桌面] # iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT  [root@localhost 桌面]# iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
[root@localhost 桌面] # iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@localhost 桌面] # /etc/init.d/iptables save
测试入站控制效果:从其他主机可以访问本机中的web服务,但不能访问其他任何服务器(如: ftp ,DNS等):从本机可以 ping 通其他主机,但其他主机无法 ping 通本机
网关服务器编写转发规则
[root@localhost 桌面] # iptables -P FORWARD DROP
[root@localhost 桌面] # iptables -A FORWARD -s 192.168.1.0/24 -p tcp -m multiport --dport 80,20,21,25,110,143 -j ACCEPT
新建一个文本 vim ip.txt
112.90.141.163 112.90.141.164   58.251.149.159   58.254.60.202  123.138.238.100 
[root@localhost 桌面] # for i in `cat ip.txt`;do iptables -I FORWARD -d $i -p tcp -m multiport --dport 80,443 -j DROP;done 
测试转发控制效果:从局域网中的主机无法访问Internet中的web.qq.com等被封站点,但能够访问其他web站点,也能够访问DNS,FTP等网络服务















本文转自谢无赖51CTO博客,原文链接:http://blog.51cto.com/xieping/886052 ,如需转载请自行联系原作者