linux访问ftp带端口,使用iptables做端口转发访问ftp

本文介绍了如何利用iptables在Linux上进行FTP端口转发,包括遇到的问题和解决方法,如PASV模式的安全检查与ip_nat_ftp模块的使用。
摘要由CSDN通过智能技术生成

用iptables做端口转发是个很实用的功能,可以让我们忽略协议细节而实现透明转发,对于加密的数据传输更是好用。

ftp协议不同于http协议,因为ftp的控制端口和数据端口是分离的,在被动模式下,数据端口是通过控制信息来商定的,所以我们不能简单地对21端口做转发。

注:假定我们是通过在 本机IP 上做NAT设置使 源IP 可以通过 本机IP 访问到 目标IP

1、首先书写并运行nat命令

modprobe iptable_nat

/sbin/iptables -t nat -A POSTROUTING -d 目标ip  -p tcp --dport 21 -j MASQUERADE

/sbin/iptables -t nat -A PREROUTING -d 本机ip -p tcp --dport 21 -j DNAT --to-dest 目标IP:21

2、这个时候可以通过iptables -t nat -L命令进行查看目前nat,现在已经可以进行ftp的连接和登录了,www.linuxidc.com 同时一些控制命令也是正常的,但是使用LIST命令就会失败,抓包有如下结果。

本机IP.00021-源IP.01289: 227 Entering Passive Mode (目标IP,8,215)

源IP.01289-本机IP.00021: LIST -al

本机IP.00021-源IP.01289: 425 Security: Bad IP connecting.

3、出现上述问题的原因是,源IP通过本机IP转发到目标IP,在进入被动模式的时候,目标IP发送了目标的IP给源IP,所以源IP就直接尝试和目标IP建立数据连接,因为建立数据连接和控制连接的ip不同,所以目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值