linux下ftp防火墙端口映射,centos6利用iptables用DNAT实现端口映射并解决ftp列表错误问题...
之前写了centos7下利用firewall防火墙实现了端口映射的功能来达到加速80端口的目的,但是如果同时也要转发ftp流量的话就会一直出现ftp连接列表错误问题,查询了下相关资料,这是由于源IP通过本机IP转发到目标IP,在进入被动模式的时候,目标IP发送了目标的IP给源IP,所以源IP就直接尝试和目标IP建立数据连接,因为建立数据连接和控制连接的ip不同,所以目标IP拒绝访问,可以使用iptables的ip_conntrack模块来实现伪装目标ip为本机ip来解决这个问题,但是centos7下firewall和iptables不知道是不是不能共存,而且卸载firewall再安装iptables也有一些问题,所以我就直接改用centos6来配置了。
首先要开启转发功能:
vi /etc/sysctl.conf
添加或修改下面这一行:
net.ipv4.ip_forward = 1
让修改生效:
sysctl -p
转发功能开启后设置iptables规则,假设目标ip为a.a.a.a,首先对80端口和21端口进行映射,输入命令:
#iptables -t nat -A PREROUTING -p tcp --dport 80 -m tcp -j DNAT --to-destination a.a.a.a:80
#iptables -t nat -A PREROUTING -p tcp --dport 21 -m tcp -j DNAT --to-destination a.a.a.a:21
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
保存iptables,并重启生效:
service iptables save
service iptables restart
然后输入#iptables -t nat -nL可以查看到nat规则已经生效。但是试着访问了一下网页却依然无法访问,编辑iptables文件:
vi /etc/sysconfig/iptables
删除下面这一行:
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
重启iptables:
service iptables restart
这样就可以访问80端口了,然后我们再来尝试连接ftp,和之前一样出现了列表错误的问题,这里就需要试使用iptables的ip_conntrack模块来处理,执行以下命令:
#modprobe ip_conntrack
#modprobe ip_conntrack_ftp
#modprobe ip_nat_ftp
然后再连接一下ftp,已经没有问题了,可有通过lsmod来查看是否生效,如果重启后模块失效只要在/etc/rc.local文件中加入以上命令开机自动加载即可。
这样就把web的80端口和ftp的21端口都通过端口映射功能实现了加速。
linux下ftp防火墙端口映射,centos6利用iptables用DNAT实现端口映射并解决ftp列表错误问题...相关推荐
- linux下查看防火墙状态、关闭防火墙、开放关闭端口等
linux下查看防火墙状态.关闭防火墙.开放关闭端口等 1. 查看防火墙状态 2. 关闭防火墙 3. 开启防火墙 4. 关闭.开启防火墙示例看图 5. 查看防火墙开放的端口.设置开放端口 5.1 查看 ...
- linux 抓包分析qq号,linux下抓包号召--tcpdump的利用.
linux下抓包号召--tcpdump的利用. (2011-07-24 02:13:00) 标签: 杂谈 例:tcpdump host 172.16.29.40 and port 4600 -X -s ...
- linux系统中建立网络白名单,Linux下设置防火墙白名单(RHEL 6和CentOS 7)的步骤
进入Linux 命令行,编辑防火墙规则配置文件 iptables vi /etc/sysconfig/iptables 下面是一个白名单设置的例子: # Firewall configuration ...
- Linux下ip route、ip rule、iptables的关系(转
http://www.cnblogs.com/sammyliu/p/4713562.html(本文内容转自此篇博客) Linux下ip route.ip rule.iptables的关系(转) 1.基 ...
- 关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决的方法
关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决的方法 参考文章: (1)关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决的方法 (2)https: ...
- linux下iptable防火墙的配置
一.什么是iptables? IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包 ...
- linux oracle 关闭防火墙,Linux 下关闭防火墙设置
一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后 ...
- Linux 下关闭防火墙设置
一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on关闭: chkconfig iptables off2) 即时生效,重启后复原 ...
- linux tomcat 改端口号,Linux下启动tomcat、配置tomcat后台账号、修改tomcat端口
启动tomcat以前,请确认已经配置好java环境变量.还有记得关闭防火墙.不然不能正常访问tomcat.java 1.启动tomcattomcat 一.先找到tomcat安装包测试 二.解压缩安装包 ...
最新文章
- 干货 | 吴恩达亲自为这份深度学习专项课程精炼图笔记点了赞!(附下载)
- MySql事务select for update及数据的一致性处理讲解
- python学习面向对象_python学习之面向对象学习
- 030_CSS外边距合并
- CorelDRAW中将矩形变圆角的方法
- 巨蟒python全栈开发-第6天 is==
- blocked by CORS policy,是否跨域?
- 【codevs1262】不要把球传给我,非常无语的一道题目
- 数据解析(XML,JSON)
- TcxButtonEditProperties取得TcxGridDBTableView
- 软件设计模式学习笔记(八)
- 中国止血分析仪行业市场供需与战略研究报告
- unity3d 不规则外发光描边_PS发光字体教程
- android 双击点亮屏幕,手机双击点亮屏幕是怎么实现的
- 富途证券递交招股书:前三季营收5.8亿港元 腾讯持股38%
- APE格式文件全攻略
- html+css+js 做一个加解密小网页
- 使用封装的API接口,在控制台输出undefined
- python 类初学之 小猫
- Element UI table 修改定位