之前写了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列表错误问题...相关推荐

  1. linux下查看防火墙状态、关闭防火墙、开放关闭端口等

    linux下查看防火墙状态.关闭防火墙.开放关闭端口等 1. 查看防火墙状态 2. 关闭防火墙 3. 开启防火墙 4. 关闭.开启防火墙示例看图 5. 查看防火墙开放的端口.设置开放端口 5.1 查看 ...

  2. linux 抓包分析qq号,linux下抓包号召--tcpdump的利用.

    linux下抓包号召--tcpdump的利用. (2011-07-24 02:13:00) 标签: 杂谈 例:tcpdump host 172.16.29.40 and port 4600 -X -s ...

  3. linux系统中建立网络白名单,Linux下设置防火墙白名单(RHEL 6和CentOS 7)的步骤

    进入Linux 命令行,编辑防火墙规则配置文件 iptables vi /etc/sysconfig/iptables 下面是一个白名单设置的例子: # Firewall configuration ...

  4. Linux下ip route、ip rule、iptables的关系(转

    http://www.cnblogs.com/sammyliu/p/4713562.html(本文内容转自此篇博客) Linux下ip route.ip rule.iptables的关系(转) 1.基 ...

  5. 关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决的方法

    关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决的方法 参考文章: (1)关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决的方法 (2)https: ...

  6. linux下iptable防火墙的配置

    一.什么是iptables? IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包 ...

  7. linux oracle 关闭防火墙,Linux 下关闭防火墙设置

    一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后 ...

  8. Linux 下关闭防火墙设置

    一.Linux下开启/关闭防火墙命令 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on关闭: chkconfig iptables off2) 即时生效,重启后复原 ...

  9. linux tomcat 改端口号,Linux下启动tomcat、配置tomcat后台账号、修改tomcat端口

    启动tomcat以前,请确认已经配置好java环境变量.还有记得关闭防火墙.不然不能正常访问tomcat.java 1.启动tomcattomcat 一.先找到tomcat安装包测试 二.解压缩安装包 ...

最新文章

  1. 干货 | 吴恩达亲自为这份深度学习专项课程精炼图笔记点了赞!(附下载)
  2. MySql事务select for update及数据的一致性处理讲解
  3. python学习面向对象_python学习之面向对象学习
  4. 030_CSS外边距合并
  5. CorelDRAW中将矩形变圆角的方法
  6. 巨蟒python全栈开发-第6天 is==
  7. blocked by CORS policy,是否跨域?
  8. 【codevs1262】不要把球传给我,非常无语的一道题目
  9. 数据解析(XML,JSON)
  10. TcxButtonEditProperties取得TcxGridDBTableView
  11. 软件设计模式学习笔记(八)
  12. 中国止血分析仪行业市场供需与战略研究报告
  13. unity3d 不规则外发光描边_PS发光字体教程
  14. android 双击点亮屏幕,手机双击点亮屏幕是怎么实现的
  15. 富途证券递交招股书:前三季营收5.8亿港元 腾讯持股38%
  16. APE格式文件全攻略
  17. html+css+js 做一个加解密小网页
  18. 使用封装的API接口,在控制台输出undefined
  19. python 类初学之 小猫
  20. Element UI table 修改定位

热门文章

  1. 说说android端实现Airplay多屏互动(二)
  2. SU插件情报局 | SDT_Enscape助手详解
  3. U盘做成系统盘后从64G变成32G,怎么办
  4. 面试必问问题【一】~~~~~~~~~~~~你有什么想要了解的?你有什么想问的?
  5. 花十分钟,让你变成AI产品经理
  6. LeetCode买股票的最佳时机C++版
  7. rachl与chacl的区别
  8. numpy.eye()对角线矩阵的一些心得
  9. QWidget设置背景图片
  10. python alpha策略_从零开始学量化:04阿尔法策略