由前面所说已经建立了内外网已经建立了链接。
而防火墙在网络中的应用设置在网关的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访问了。
本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1958757,如需转载请自行联系原作者