问一个ftp router port forwarding 的问题

#2~basket b boy

资深人士
注册
2002-05-28
消息
2,578
荣誉分数
158
声望点数
223
我从外面访问一个ftp server, 我在router上用 public 21, forward to server 21号口可以访问,但是我如果用其它public 口对 21口就不能访问,(好像只有IE浏览器可以访问).换一个问法,就是怎样设定通过一个ROUTER 访问多台FTP SERVERS ? 谢谢
 
FTP有两个通道,信令走21,数据走随机高端口。FTP还有两个模式,主动和被动。附网文一篇供参考,一般来说,概念搞清楚了,具体设置不会太难。

FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
 
say rout port 21 - ftp server1 port 21
13500 - server2 port 22
your ftp client needs to specify port number, command line:
c:> ftp
open rout 13500
 
FTP有两个通道,信令走21,数据走随机高端口。FTP还有两个模式,主动和被动。附网文一篇供参考,一般来说,概念搞清楚了,具体设置不会太难。

FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
谢谢,让我好好研究这个主动,被动模式,因为中间有个router, router 对于不同的visitor 和 server 中间有个角色转换,让我很confuse.
 
黑客攻击也是类似原理,从内部向往发包打开router端口。
我就是想让朋友用deploy一个网站到我家的server上,黑客谈不上,但是得小心了,以后得加密才行。。安全第一
 
say rout port 21 - ftp server1 port 21
13500 - server2 port 22
your ftp client needs to specify port number, command line:
c:> ftp
open rout 13500
谢谢, 你是说外部访问的vistor需要做一定设置是吗?
我现在暂时就是 router port 21- server1 21
我试过 router port 13500 -server1 21, 以及13500 -13500,并且在server 13500打开防火墙,只有 ie 浏览器可以浏览,其他一切browser和ftp都不行,说是不认data口。。。
 
借此帖再问一个困扰我很久的问题,就是我用的新的isp 的 gate way 没有 NAT Reflection 功能,我如果内部访问服务器只能以ip 地址访问,不能通过domain访问。我现在的办法是改了host文件,但是方法很笨。查了网上的资料,好像是不是把isp给的 router改成bridge mode, 另外接一个带nat reflection功能的路由器就能解决此问题?有没有人做过类似工作,是不是可以work? 谢谢
 
旧的ISP路由器有吗?
用旧的ISP路由器可以通过domain访问内部服务器吗?
什么是内部服务器,能定义一下吗?
能否给一个通过domain访问的例子?
 
旧的ISP路由器有吗?
用旧的ISP路由器可以通过domain访问内部服务器吗?
什么是内部服务器,能定义一下吗?
能否给一个通过domain访问的例子?
旧的ISP router 是可以,但是因为网络升级,ISP 让我更新了router,旧的还了回去。
所谓内部访问服务器是这样的,我port forwarding 了192.168.2.10 的80口,外面通过域名可以访问这台机器的80口。但是我工作的另一台机器192.168.2.11 是跟服务器在一个网络里,就不能直接通过域名访问,只能以192.168.2.10 访问。
 
试过映射到一个不同的端口 如8080吗?

旧的ISP router 是可以,但是因为网络升级,ISP 让我更新了router,旧的还了回去。
所谓内部访问服务器是这样的,我port forwarding 了192.168.2.10 的80口,外面通过域名可以访问这台机器的80口。但是我工作的另一台机器192.168.2.11 是跟服务器在一个网络里,就不能直接通过域名访问,只能以192.168.2.10 访问。
 
总结一下你的第二个问题:
1. 网站服务器在家里,通过路由器做端口映射,可以从外面通过域名访问
2. 可以从家里用内网IP用访问,但是不能用域名访问,这个不够方便,也不够酷
3. 修改家里用户端机器上的HOSTS文件,把域名映射到内网IP,访问则成功,但不喜欢

建议解决方案:
1. 购置一个支持NAT Reflection的路由器
2. 或把服务器搬到DMZ, 迫使内网也经过路由器访问那个网站,就像访问任何一个外网网站一样
 
后退
顶部
首页 论坛
消息
我的