我有宽带互联网连接。我有无线调制解调器(Airtel India)。我没有静态 IP 地址。我想托管一个 ssh/web/ftp 服务器,供外界查看,仅用于测试和学习目的,这样我就可以让我的朋友连接到我当前的 IP 地址并进行测试。我的调制解调器有一个管理界面,允许端口转发和打开端口。
我按照图示设置了 ssh 服务器,并使用此网站检查了端口 22 是否打开, 端口扫描
并且端口 22 已打开。我有一个 openssh 服务器正在运行,如果我运行它,它就可以工作, 这是我的本地 IP 地址,但如果我运行它,它就无法工作,其中 122.xx.xx.xx 是我调制解调器的外部 IP 地址,我从 whatismyipaddress.com 检查过。由于看起来端口是打开的,我想知道我是否需要更改服务器配置中的某些设置以公开我的服务器。我应该如何解决这个问题?ssh [email protected]
ssh [email protected]
答案1
可能是您的路由器不支持您从内部网络连接到外部 IP 地址,不幸的是有些路由器无法路由该操作。
您可以尝试访问这个网站:http://portscan.me 它将对您的 IP 地址执行端口扫描,因此假设您来自与您的服务器相同的 IP 地址,那么您应该能够看到端口 22 是否向世界开放。
扫描可能需要几分钟才能完成。
答案2
在 LAN 内执行 ssh @WAN_IP 时,它无法工作。这是一个路由问题,我不想深入讨论。您可以使用 tcpdump 来找出问题所在。
其次,如果你想在动态 IP 上托管网站/ssh/ftp 服务器,这是可能的。我使用 Airtel 托管我的服务器。如果你有自己的域名,你可以使用 http://freedns.afraid.org/ 否则,Dyndns 提供了为列出的域数量创建子域的选项。 http://www.dyndns.com/
有几种方法可以做到这一点。a
. 您可以在桥接模式下使用路由器,并让您的 Linux 机器建立 PPOE 连接,这样公共 IP 就直接分配给 Linux 机器。然后,您可以使用 Linux 机器进行 NAT。b.
(比第一个 0Telnet 进入调制解调器/路由器更简单,您将可以访问 Web 界面中未列出的许多其他选项。对于 telnet,请执行“telnet ROUTER_IP”,默认用户名通常是 admin,密码是 password。在那里,您可以使用 DMZ 选项。在 DMZ 中,所有端口都暴露在互联网上(密码将与您用于登录 Web 界面的密码相同)。您启动一项服务,并且可以从任何地方访问它,而无需进行任何其他更改。