我已连接到OpenVPN服务器,并希望列出FTP服务器上的所有文件。
ftp> ls
500 I won't open a connection to 10.125.1.20 (only to 31.x.x.100)
ftp: bind: Address already in use
ftp>
该tun
接口的IP为10.125.1.20,看来我的FTP客户端(ftp
在Linux中是命令)将IP报告给FTP服务器,而不是OpenVPN服务器提供的IP。
我可以使用iptables转发做些什么来使其正常工作吗?
看来您在连接到OpenVPN服务器的主机上运行FTP客户端,并且流量在VPN内部路由(因此,对于外部世界,您的源IP地址是OpenVPN服务器的外部接口之一) )。
是真的吗
如果没有,请向我们提供详细信息。
如果是,那么您的问题与OpenVPN的“盒子”完全有关:
正确地NAT了您的“标准” IP连接(实际上,您能够成功连接到远程FTP服务器)
是不正确NATting FTP协议(即,不幸的是,没有太大的NAT友好的,要经NAT,需要特殊处理)。
为了解决您的问题,您应该确保在NAT盒(OpenVPN)上加载了正确的内核模块。在我的Ubuntu中(可能也在CentOS 6上):
# modprobe nf_conntrack_ftp
该模块将仔细观察通过FTP“控制”连接(您能够建立,验证和“启动”文件传输的)所有流量,以检查您的FTP客户端声明用于文件的哪些客户端端口。 -转移并正确地“破坏”控制连接(通过施加NAT盒端口来“伪造”此类端口)。
换一种说法:
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句