实验环境: 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等网络服务