CentOS 7设置iptables防火墙开放proftpd端口
由于ftp的被动模式是这样的,客户端跟服务器端的21号端口交互信令,服务器端开启21号端口能够使客户端登录以及查看目录。
但是ftp被动模式用于传输数据的端口却不是21,而是大于1024的随机或配置文件里的端口,并且服务器端通过21号端口告诉客户端我要通过>1024的某个端口来发送数据(ftp-data),客户端得知服务器端这个端口后,再由客户端主动向服务器端的>1024的端口发起tcp连接。
问题就来了,如果按上述的原理,服务器端防火墙并没有打开1024以上的端口,客户端主动发起的连接就无法穿越防火墙,因为传输文件连接失败
根据上面描述原理,解决方法有四:
假设已经将ftp的默认21端口更改为11222
1、关闭防火墙
2、服务器端防火墙打开1024以上的端口
iptables -A INPUT -p tcp --dport 11222 -j ACCEPT
iptables -A INPUT -p tcp --dport 1024: -j ACCEPT
弊端:此方法等于没开防火墙
3、设置proftpd使用固定的一段端口进行数据传输
修改proftpd配置文件,添加以下配置
PassivePorts 20000 25000 # 被动模式端口段
iptables防火墙开启此范围端口
iptables -A INPUT -p tcp --dport 11222 -j ACCEPT
iptables -A INPUT -p tcp --dport 20000:25000 -j ACCEPT
弊端:开启的端口范围略大,有风险
4、加载模块ip_conntrack_ftp,这时在加载ip_conntrack_ftp模块时需要更改代理端口为11222
打开/etc/sysconfig/iptables-config,保证此文件定义加载了ip_conntrack_ftp,如:
IPTABLES_MODULES="ip_conntrack_ftp"
然后在文件/etc/modprobe.conf增加此模块的参数:
options ip_conntrack_ftp ports=11222
如果需要手动加载,则可以执行以下命令:
/sbin/modprobe ip_conntrack_ftp ports=11222
注意:CentOS 6以上并不存在了modprobe.conf文件,需要在/etc/modprobe.d/目录下自定义添加
由于我们使用的是CentOS7,于是手动创建/etc/modprobe.d/proftpd.conf,添加上面的options ip_conntrack_ftp ports=11222内容进去
最后,重启防火墙即可
CentOS 7设置iptables防火墙开放proftpd端口的更多相关文章
- CentOS 7 设置iptables防火墙开放proftpd端口
由于ftp的被动模式是这样的,客户端跟服务器端的21号端口交互信令,服务器端开启21号端口能够使客户端登录以及查看目录.但是ftp被动模式用于传输数据的端口却不是21,而是大于1024的随机或配置文件 ...
- CentOS 6、CentOS7 防火墙开放指定端口
当我们在CentOS服务器中装了一些开发环境(如 tomcat.mysql.nginx 等...)时,希望能从外界访问,就需要配置防火墙对指定端口开放. CentOS 6.51.开放指定端口/sbin ...
- CentOS中iptables防火墙 开放80端口方法
开放端口: 代码如下 复制代码 [root@WX32 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT 保存配置: 代码如下 复制代码 [root ...
- linux设置iptables防火墙的详细步骤(centos防火墙设置方法)
CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Lin ...
- CentOS 防火墙开放特定端口
iptables是linux下的防火墙,同时也是服务名称. service iptables status 查看防火墙状态 service iptables start ...
- Linux 防火墙开放特定端口 (iptables)
iptables是linux下的防火墙,同时也是服务名称. service iptables status 查看防火墙状态 service iptables start ...
- Win10如何设置防火墙开放特定端口 windows10防火墙设置对特定端口开放的方法
Win10防火墙虽然能够很好地保护我们的系统,但同时也会因限制了某些端口,而给我们的操作带了一些不便.对于既想使用某些端口,又不愿关闭防火墙的用户而言,在Win10系统中设置防火墙开放特定端口就非常必 ...
- SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口
SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口 第一种方式: 1.sudo chmod a+w /etc/sysconfig/SuSEfirewall2 ...
- SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口,出现Unsafe permissions for file /etc/sysconfig/SuSEfirewall2 to be sourced
SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口时出现 Unsafe permissions for file /etc/sysconfig/SuSEf ...
随机推荐
- lc面试准备:Remove Duplicates from Sorted List II
1 题目 Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct ...
- 对于利用pca 和 cca 进行fmri激活区识别的理解
1.pca 抛开fmri研究这个范畴,我们有一个超长向量,这个超长向量在fmri研究中,就是体素数据.向量中的每个数值,都代表在相应坐标轴下的坐标值.这些坐标轴所组成的坐标系,其实是标准单位坐标系.向 ...
- windows 7 下 BCGControlBar 的安装破解
一定要以管理员权限启动,否则没有注册码输入框,不能破解,折腾我好几遍 谨记
- HDU-4925 Apple Tree
http://acm.hdu.edu.cn/showproblem.php?pid=4925 Apple Tree Time Limit: 2000/1000 MS (Java/Others) ...
- SDK Manager无法启动
首先cmd切换到android-sdk-windows\tools\lib,找到find_java.bat 打开回显:rem @echo off,再运行find_java.bat,若输出的set ja ...
- 二:java语法基础:
1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...
- php 错误信息配置
display_errors = on/off错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项.错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利.推荐关闭此选项. ...
- 《University Calculus》-chape5-积分法-积分的定义
这一章节讨论积分的定义以及微积分基本定理. 笔者先前在数学证明专栏中关于高斯定理的证明的开头,给出了一段关于微积分思想的概括,文中提到根据导数(微分)的定义,根据其逆定义来给出积分的定义和计算方法,这 ...
- linux-kernel/CodingStyle
https://www.kernel.org/doc/Documentation/zh_CN/CodingStyle Chinese translated version of Documentati ...
- 大众点评网王宏:从.Net迁移向Java平台 - 51CTO.COM
大众点评网王宏:从.Net迁移向Java平台 - 51CTO.COM 大众点评网王宏:从.Net迁移向Java平台