我有一个旧盒子,我将其用作网络服务器来托管一些应用程序。我最近搬到了一个新地方,我的网络服务器现在不允许通过端口 80 进行访问。在我以前使用 Shaw 互联网的地方,网络服务器运行正常。我现在使用 Shaw 互联网的地方不允许使用端口 80。我所做的就是插入服务器,转发端口并运行 sudo ifup eth0。我以为这样就可以了,但是我仍然无法使端口 80 正常工作。我已为静态 IP 192.168.0.20 转发了端口 80/80 TCP 和 20/20 TCP(这有效)。我的接口文件如下所示:
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.1
broadcast 192.168.0.255
gateway 192.168.0.1
在服务器上运行 nmap 显示端口 80 已打开,并且 ifconfig 返回与我的接口文件相同的 inet addr。有什么想法我可能遗漏了什么吗?谢谢!
答案1
我刚刚尝试从朋友家访问我的外部 IP,成功了。但是当我尝试在我家本地访问它时,连接超时了。
那么你的问题在于你的路由器不允许发夹形。我见过的最好的解释是在 Mikrotik 的 wiki 上其中还解释了如何解决这个问题,如果你可以访问你的路由器,它允许你控制它的防火墙/NAT系统。但这种解决方法的缺陷是你的Web服务器将看到全部连接来自您的路由器,这样对连接 IP 的通常控制(出于安全或统计原因)将变得不可能。
有些路由器允许使用发夹式路由,其中最著名的是 Infiniti 的 Edgemax;通过 Google 搜索可以找到一些路由器。顺便说一句,这也是为什么在自己的 LAN 上开发网站是个坏主意(即使不考虑安全性)的原因之一,另一种选择是租用 VPS。