访问手机版  

网络工程师培训选超级网工

招聘|合作 登陆|注册

就业课程 就业课程

就业课程 认证课程

思科认证
数通方向:CCNA | CCNP | CCIE
安全方向:CCNA安全
华为认证
数通方向:HCNA | HCNP | HCIE
安全方向:HCNA安全 | HCNP安全
云计算方向:HCNA云计算 | HCNP云计算
存储方向:HCNA存储 | HCNP存储
华三认证
数通方向:H3CNE | H3CSE | H3CCE云计算
红帽认证
包含方向:RHCA | RHCSA | RHCE
微软认证
包含方向:MCSA | MCSE
甲骨文认证
包含方向:OCA | OCP | OCM

企业课程 企业课程

企业定制系列课程
为企业提供个性服务
> 点击查看 <
【许望】linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置

linux(RHEL) 下 FTP(vsftpd) 服务器的防火墙配置

 

 

 

FTP服务器在与客户端通讯的过程中会用到两个端口,一个是控制端口,通常是21/tcp,一个是数据端口,运行在主动模式下的FTP服务器的数据端口一般是20/tcp,运行在被动模式下的FTP服务器的数据端口通常是一个随机端口/tcp。

 

现今普遍的FTP服务器都是跑在被动服务器模式下(原因这儿不做解释),这就为服务器的防火墙配置造成了问题,因为被模式下的服务器使用的数据端口不是固定的。

 

很多初学的朋友普通以为放行21/tcp端口就好了,这是错误的,看下面的实验:

将 iptables 的策略恢复为红帽的默认值

执行 setup > Network configuration > Firewall configuration,选中 Enabled,这样会把 iptables 的策略重置为默认策略,默认策略只开放了sshd服务

安装 ftp 服务器软件并开启 ftp 服务

[root@server1 ~]# yum install -y vsftpd; service vsftpd restart; chkconfig vsftpd on

在 iptables 中开放 21/tcp 端口

[root@server1 ~]# iptables -I INPUT -p tcp --dport 21 -j ACCEPT; service iptables save

客户端访问测试

[root@station1 ~]# ftp server1.example.com

Connected to server1.example.com (192.168.1.61).

220 (vsFTPd 2.2.2)

Name (server1.example.com:root): ftp

331 Please specify the password.

Password:

230 Login successful. 命令通道是通的

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (192,168,1,61,45,120).

ftp: connect: No route to host 数据通道不通

ftp>

为了解决这个,专门开发了名为 nf_conntrack_ftp 的内枋模块。

配置 iptables 使用该模块:

[root@server1 ~]# vim /etc/sysconfig/iptables-config

IPTABLES_MODULES="nf_conntrack_ftp"

[root@server1 ~]# /etc/init.d/iptables restart

这种解决方法是官方推荐的方法,它适用于 RHEL6, 它是当需要使用的时候才加载 nf_conntrack_ftp 模块,而网上流行的开机加载 nf_conntrack_ftp 的方法就会一直占用内存,而不管到底现在有没有使用。

在 RHEL7 中,只需要在 firewalld 中开放预置的 ftp 服务就好了。firewalld 中的 ftp 服务已经为我们配置好了使用 nf_conntrack_ftp 模块。

 

更多详细资讯可关注银河官方微博(新浪):@成都银河教育中心

超级网工是中国西部第一家华为认证思科认证H3C认证RedHat认证Oracle认证微软认证网络工程师考试培训中心。超级网工,网络工程师培训的超级训练营。