VSFTP服务器外网到内网的访问方法讨论
发表于 : 2015-08-18 16:52
有内网服务器一台,IP172.16.6.229,网关为路由器中一个VLAN的IP地址:172.16.6.254,使用路由器将内网的服务器以NAT(网络地址转换)协议方式直接暴露在公网上。
内网的计算机可向因特网上的其它计算机发送连接请求,但因特网上的其它计算机无法向内网的计算机发送连接请求,所以无法用通常的方法去建立FTP服务器。
内网的IP地址有如下2种形式:
172.16.x.x/16
192.168.68.x/24
使用VSFTP架设了FTP服务器,APACHE架设了WEB服务器,并且开启了UFW,使用手机3G网络进行测试,WEB和FTP均可以正常访问。不过有远端的计算机测试后,不能进行访问,错误提示证明已经能看到服务器的欢迎消息了,但是由于超时而断开了连接。显然不是因为超时而出的问题。查看VSFTP的日志,也没有什么特别的提示。
在VSFPD.conf 中,我设置了主动模式的的port范围,min_ports 30001,max_ports 31000,同时在UFW中需要开启这个范围的端口。
有说UFW中开启端口的范围不能大于15个,不知道是不是真的,不过我在UFW中依然设置了sudo ufw allow 30001:31000。
同时UFW也设置了开启20,21,22,23,25,80,443,等常用端口
sudo ufw status
状态: 激活
至 动作 来自
- -- --
Anywhere ALLOW 192.168.68.0/24
Anywhere ALLOW 172.16.6.0/24
Anywhere ALLOW 172.16.0.0/24
Anywhere ALLOW 172.16.1.0/24
Anywhere ALLOW 172.16.2.0/24
Anywhere ALLOW 172.16.3.0/24
Anywhere ALLOW 172.16.4.0/24
Anywhere ALLOW 172.16.5.0/24
Anywhere ALLOW 172.16.7.0/24
Anywhere ALLOW 172.16.8.0/24
Anywhere ALLOW 172.16.9.0/24
Anywhere ALLOW 172.16.10.0/24
22 ALLOW Anywhere
23 ALLOW Anywhere
25 ALLOW Anywhere
80 ALLOW Anywhere
8088 ALLOW Anywhere
30001:31000/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere
20/tcp ALLOW Anywhere
443 ALLOW Anywhere
21 (v6) ALLOW Anywhere (v6)
20 (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
23 (v6) ALLOW Anywhere (v6)
25 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
8088 (v6) ALLOW Anywhere (v6)
30001:31000/tcp (v6) ALLOW Anywhere (v6)
21/tcp (v6) ALLOW Anywhere (v6)
20/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
家用的电脑或者企业其他地方的电脑不能访问的原因,估计可能是主动模式和被动模式的问题。
一般客户端都有关于主动模式和被动模式的设置
主动模式需要手动设置固定的端口,比如上例,应该设置为30001-31000
连接的时候也许被动模式不能连接,就应该使用主动模式
还有看到帖子说:家用路由器或者是低端的路由器不支持动态端口映射,所以,不能进行连接,我想问题可能就出在这里,但是无法求证了。
个人手机安卓系统安装了FTP客户端4.0的软件,通过3G访问没有问题,说明,网络链路应该没问题,应该是连接时协议或者端口的问题。
希望大家能跟帖讨论,共同研究一下这个问题。
内网的计算机可向因特网上的其它计算机发送连接请求,但因特网上的其它计算机无法向内网的计算机发送连接请求,所以无法用通常的方法去建立FTP服务器。
内网的IP地址有如下2种形式:
172.16.x.x/16
192.168.68.x/24
使用VSFTP架设了FTP服务器,APACHE架设了WEB服务器,并且开启了UFW,使用手机3G网络进行测试,WEB和FTP均可以正常访问。不过有远端的计算机测试后,不能进行访问,错误提示证明已经能看到服务器的欢迎消息了,但是由于超时而断开了连接。显然不是因为超时而出的问题。查看VSFTP的日志,也没有什么特别的提示。
在VSFPD.conf 中,我设置了主动模式的的port范围,min_ports 30001,max_ports 31000,同时在UFW中需要开启这个范围的端口。
有说UFW中开启端口的范围不能大于15个,不知道是不是真的,不过我在UFW中依然设置了sudo ufw allow 30001:31000。
同时UFW也设置了开启20,21,22,23,25,80,443,等常用端口
sudo ufw status
状态: 激活
至 动作 来自
- -- --
Anywhere ALLOW 192.168.68.0/24
Anywhere ALLOW 172.16.6.0/24
Anywhere ALLOW 172.16.0.0/24
Anywhere ALLOW 172.16.1.0/24
Anywhere ALLOW 172.16.2.0/24
Anywhere ALLOW 172.16.3.0/24
Anywhere ALLOW 172.16.4.0/24
Anywhere ALLOW 172.16.5.0/24
Anywhere ALLOW 172.16.7.0/24
Anywhere ALLOW 172.16.8.0/24
Anywhere ALLOW 172.16.9.0/24
Anywhere ALLOW 172.16.10.0/24
22 ALLOW Anywhere
23 ALLOW Anywhere
25 ALLOW Anywhere
80 ALLOW Anywhere
8088 ALLOW Anywhere
30001:31000/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere
20/tcp ALLOW Anywhere
443 ALLOW Anywhere
21 (v6) ALLOW Anywhere (v6)
20 (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
23 (v6) ALLOW Anywhere (v6)
25 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
8088 (v6) ALLOW Anywhere (v6)
30001:31000/tcp (v6) ALLOW Anywhere (v6)
21/tcp (v6) ALLOW Anywhere (v6)
20/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
家用的电脑或者企业其他地方的电脑不能访问的原因,估计可能是主动模式和被动模式的问题。
一般客户端都有关于主动模式和被动模式的设置
主动模式需要手动设置固定的端口,比如上例,应该设置为30001-31000
连接的时候也许被动模式不能连接,就应该使用主动模式
还有看到帖子说:家用路由器或者是低端的路由器不支持动态端口映射,所以,不能进行连接,我想问题可能就出在这里,但是无法求证了。
个人手机安卓系统安装了FTP客户端4.0的软件,通过3G访问没有问题,说明,网络链路应该没问题,应该是连接时协议或者端口的问题。
希望大家能跟帖讨论,共同研究一下这个问题。