为什么Debian下测试端口是通的,外网却无法访问内网的http和ftp服务?
我的内网服务器装的是Debian 6,http服务使用Apache2/PHP/MySQL、ftp服务使用vsftpd,没有启用iptables。
路由器是TP-Link的WR941N,原厂固件,关掉了防火墙。做了80和21的端口转发指向服务器,同时启用了花生壳动态域名解析服务。
我在内网可以通过域名访问服务器的 http 和 ftp 服务,也可以通过路由器的公网 IP 正常访问服务器。
但是外网却没有办法通过上述的任何一种方式来访问我的服务器,不管是域名还是公网 IP。
我请朋友帮忙查过,从外网 ping 域名可以解析出我的公网IP地址,外网 telnet 连接 80 端口和 21 端口都是通的,应该可以直接访问。但是我请很多朋友帮忙访问我 http 和 ftp 服务,众口一辞都说打不开。
http服务是刚刚设置的,俺没啥经验。
但是vsftpd刚装好时也是不能外网访问,执行过下面两条指令加载内核模块后可以正常通过公网IP访问(那时还没设置花生壳):
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
这次见了鬼,原本能访问的ftp现在也挂了,重新输入这两条指令也无效!
这到底是怎么一回事呢?俺觉得问题可能出在debian本身,奈何俺实乃Linux菜鸟一枚,只好求助各位大神了。或者有没有可能是路由器固件版本的问题?
1楼(未知网友)
你用什么接入的互联网? 管局大概从2013年开始封所有民用接入网络的入口80端口,21端口,8080端口等常用服务器端口,意在加强网站监管。 所以如果你用民用ISP建站就不要想了。你可以试试吧apache的监听端口改成81看看能不能访问。
2楼(匿名用户)
FTP服务不仅仅是21端口。传输数据的时候根据模式的不同(被动和主动)会打开其他的端口。80端口不通确实有点奇怪