![无法从外部 ssh 到家庭 ubuntu 服务器](https://linux22.com/image/1401312/%E6%97%A0%E6%B3%95%E4%BB%8E%E5%A4%96%E9%83%A8%20ssh%20%E5%88%B0%E5%AE%B6%E5%BA%AD%20ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我有 netgear 路由器。最初我已将所有 tcp 端口转发到内部服务器 192.168.0.100 centos
我能够使用我的 ssh 进入该目录ssh user@publicip
。
现在我已经安装了 Ubuntu trusty,IP 192.168.0.32
并将路由器上的所有端口转发到该 IP。
但我无法从外部进行 ssh。我收到错误ssh: connect to host 12.15.14.44 port 22: Connection timed out.
我可以在内部网络内进行 ssh 。
我在 Ubuntu 中没有firewall
并且没有启用。selinux
我还可以检查什么?
不仅 ssh 无法访问,80 端口也无法访问
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:38758 0.0.0.0:* LISTEN 31944/rpc.statd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 7343/mysqld
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 692/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 21368/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 7911/postgres
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 7605/master
tcp6 0 0 :::47082 :::* LISTEN 31944/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 692/rpcbind
tcp6 0 0 :::80 :::* LISTEN 20447/apache2
tcp6 0 0 :::22 :::* LISTEN 21368/sshd
tcp6 0 0 :::25 :::* LISTEN 7605/master
答案1
- 首先使用 tcpdump 来确保 ubuntu 没有获取流量,如果没有,那么..
- ..将 centos 的 IP 从 192.168.0.100 更改为另一个空闲 IP,192.168.0.2xx,
- 为 ubuntu 添加一个别名,这样它同时具有 192.168.0.32 和 192.168.0.100,并且
- 尝试从外部进行 sshing。如果成功,则说明 netgear 的问题在于它仍然将连接转发到旧 IP