当我们内网有一台ftp(vsftpd)服务器要发布,而且还有还有一台rhel_6.0作为我们的边缘设备时怎么发布我们内网的FTP服务器。

涉及ftp的主动被动模式这里不再详述请参考有关资料  

下面是详细步骤:                              

1.gw(linux):eth0 192.168.1.1/24

             eth1 172.16.16.1/24



2.lanftpserver(linux):192.168.1.7/24(安装并启动ftp服务)


3.internet xp 172.16.16.172/24(不用指明网关)


要求:gw别人不能访问,gw可以随意访问别人

     ftp只提供ftp服务别的不可以,ftp可以随意访问别人


只开启GW防火墙的时候:

 1.开启路由转发  vim /etc/sysctl        sysctl  -p

 2.做SNAT实现内网访问外网

 3.做DNAT实现内网ftp服务器的发布

 4.iptables  -P INPUT  DROP

 5.iptables  -I  INPUT -m  state  --state ESTABLISHED,RELATED  -j ACEPT

客户端可以主动访问内网的ftpserver



如果客户端被动访问ftpserver 在gw上面加载模块

( modprobe ip_nat_ftp  modprobe ip_conntrack_ftp )

客户端可以被动访问ftpserver









gw防火墙开启之后又开启了lanftp防火墙的时候:


1.iptables  -P INPUT DROP

2.iptables -I INPUT  -p tcp --dport 21 -j ACCEPT

3.iptables  -I  INPUT -m  state  --state ESTABLISHED,RELATED  -j ACCEPT

客户端可以主动访问ftpserver



如果在ftpserver 防火墙开启之后想要被动访问ftp

在ftp上面加载被动连接的模块:

vim  /etc/sysconfig/iptableconfig

modprobe “ip_conntrack_ftp”



注意:

linux内核低于2.6的 ip_conntrack_ftp改成nf_conntrack_ftp)


永久加载ftp模块:vim /etc/sysconfig/iptables-config

IPTABLES_MODULES="ip_nat_ftp   ip_conntrack_ftp"

重启系统或者防火墙可以自动加载ftp模块



纯属交流如有错误请联系作者。