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内容进去
最后,在防火墙配置文件/etc/sysconfig/iptables中开放ftp端口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 ...
随机推荐
- stardict dict url
http ://download.huzheng.org/zh_CN/ tar -xjvf a.tar.bz2 -C /usr/share/stardict/dic
- 在xpage上怎么用jdbc去连接sql server呀
你去http://www.openntf.org/Internal/home.nsf 下載以下對應版本最新控件 XPages Extension Library 這裏面已經包括OSGI功能 OSGI在 ...
- 视频转换ffmpeg
使用yum在centos下安装ffmpeg ffmpeg -i IMG_1893.MOV -ab 56 -ar 22050 -b 500 -r 15 -s 640x480 test.mp4 说 ...
- Javascript中类型的判断
数据类型的判断有这么几种方式 1.一元运算符 typeOf 2.关系运算符 instanceof 3.constructor 属性 4.prototype属性 一.typeof typeof的返回值有 ...
- 重写Checkbox 改写选择框的大小
/* 作者:Starts_2000 * 日期:2009-07-30 * 网站:http://www.csharpwin.com CS 程序员之窗. * 你可以免费使用或修改以下代码,但请保留版权信息. ...
- Oracle pl/sql导入sql文件,插入更新数据,中文乱码问题解决方案
http://szh-java.iteye.com/blog/1869360 问题描述:用a.sql文件执行insert或update,不论是通过pl/sql还是sqlplus环境下执行,@文件名执行 ...
- java实现simhash算法
一个牛人分享的,放在github上,用java实现,网络上还有很多用ruby写的 https://github.com/commoncrawl/commoncrawl/blob/master/sr ...
- sudo: add-apt-repository: command not found
错误来啦:sudo: add-apt-repository:command not found 网上解决办法是直接安装工具包 命令:sudo apt-get install python-s ...
- linux达人养成计划学习笔记(六)—— 挂载命令
一.查询与自动挂载 mount #查询系统中已挂载的设备 mount -a #根据配置文件/etc/fstab的内容,自动挂载 二.挂载命令格式 mount [-t 文件系统] [-o 特殊选项] 设 ...
- JQuery UI datepicker 使用方法(转)
官方地址:http://docs.jquery.com/UI/Datepicker,官方示例: http://jqueryui.com/demos/datepicker/. 一个不错的地址,用来DIY ...