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 ...
随机推荐
- #ifdef __cplusplus extern c #endif 的作用
#ifdef __cplusplus // C++编译环境中才会定义__cplusplus (plus就是"+"的意思) extern "C" { // 告诉编 ...
- Unity 利用Coroutine实现跳动数字效果
纯粹转载:转载注明参考链接! 参考链接:http://xataxnova.blog.163.com/blog/static/236620063201451061738122/,作者:网易博客 xata ...
- [LeetCode#12] Roman to Integer
Problem: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range ...
- poj3580
区间操作的究极题,我们一个个来分析其实只有insert,delete,revolve三种没讲过insert 先把x旋到根,一开始我比较SB的,准备把新节点插入到右子树的最左节点,这显然很烦 好的方法是 ...
- bzoj1816
这道题不是很难,二分答案+判定即可 注意在一套牌中Joker只能用一次 ..] of longint; mid,l,r,n,m,i,ans:longint; function check(x: ...
- css3倒影
使用CSS3制作倒影 img { -webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from ...
- Android问题:设置了requestWindowfeature(window.feature_no_title)后,为什么还要getwindow.setFlags?
//设置窗体全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams. ...
- [Citrix NetScaler] 简述
额 就这个题目 Citrix NetScaler 是一个VPN,一个代理,一个Gateway的存在,一个Citrix的产品 首先是我们利用Citrix NetScaler的测试环境: 架构上分2种: ...
- java---Unicode-字符转换器
实现一个字符(包括汉字)的简单互相转换: package cn.hncu.gui2; import java.awt.Button; import java.awt.Color; import jav ...
- sql2005如何附加数据库
1.首先把mdf(数据库主文件)和ldf(数据库日志文件)放到C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data 2.登陆sq ...