由前面所说已经建立了内外网已经建立了链接。

而防火墙在网络中的应用设置在网关的FORWARD链上 

默认FORWARD是ACCEPT.

这里我们将其改为DROP

iptables -P FORWARD DROP

然后添加规则。

这里我们限制只有外网可以访问内网的web服务。而内网不允许访问外网

这里一旦转发设置为DROP那么所有服务都不能访问,必须设置规则。

 iptables -A FORWARD -d 192.168.20.2 -p tcp --dport 80 -j ACCEPT

 iptables -A FORWARD -s 192.168.20.2 -p tcp --sport 80 -j ACCEPT


这样网关就可以转发外网对内网的请求报文,内网的响应报文。

注意:你这里是连接不通除了192.168.0.12外的主机的。例如 

ping www.baidu.com 是ping不通的,因为你这里不可能设置百度的服务器的路由,说转到你192.168.0.110 .必须使用nat转换才行,后面会叙述这些!


下面讲述如何进行 ftp外网访问。


ftp若想被访问,

第一步网关必须要有安装nf_conntrack_ftp这个模块

modprobe nf_conntrack_ftp  


你也可以在centos 6版本

/etc/rc.d/init.d/iptables 中 IPTABLES_MODULES="nf_conntrack_ftp"//加入这些

或centos 7版本中

/etc/sysconfig/iptables-config 中同样设置


第二步 允许命令连接 NEW,ESTABLISHED,允许数据连接RELATED,ESTABLISHED

iptables -I FORWARD -m state --state RELATED ESTABLISHED -j ACCEPT //允许已经建立命令连接的所有直接通过。且这里允许任何主机直接只要建立了链接,既可以互通。

iptables -I FORWARD -d 192.168.20.2 -p tcp --dport 21 -m state --state NEW -j ACCEPT


.如此就可以。当然这里只准外网访问内网192.168.20.2  且192.168.20.2必须安装vsftpd .并启动了服务。ftp默认的访问路径为/var/ftp/pub/ .放在这个目录下都可以访问。


之后外网主机就可以用lftp 192.168.20.2访问了。