- 我的无线网络正在监听 192.168.1.4
- SSH 正在监听 192.168.1.4:22
- 防火墙未运行
- 未配置 TCP 包装器,
- 我可以无线连接到互联网
- 我的内核日志显示我正在尝试从另一台主机连接,但 nmap 扫描显示所有端口都已关闭。
我如何打开一个端口?
答案1
您有公共 IP 地址吗?您在哪里运行 NMAP?听起来您正在尝试使用来自互联网的本地网络 IP。实际上,计算机不在同一个网络中,无法相互访问。相反,您应该使用面向互联网的 IP 地址。
在检查端口是否打开之前,尝试在主机之间运行 ping 命令。
在源计算机上:
ping 192.168.1.4
如果 ping 数据包通过,则两台计算机之间可以建立连接。
然后您也可以在主机上运行 netstat -l 命令来查看 SSH 守护进程是否确实监听了 22 端口:
netstat -l
答案2
您的问题不太清楚,您介意解释一下吗?
除非服务在端口上运行,否则 nmap 不会将其显示为打开。据我所知,在 Ubuntu 中,iptables 的默认策略是接受,因此如果您启动在 X 端口上运行的服务,它将毫无问题地通过防火墙。因此,这些端口并不是真正“关闭”的,因为它们被阻止了,只是没有任何东西可以监听它们上的任何内容。
话虽如此,如果你想明确打开一个端口,你可以用 iptables 打开它
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT
您可以将 -p 更改为不同的协议,将 --dport 更改为不同的端口号。iptables 还有一大堆其他选项可供您查看。如果您想阻止它们,可以将 -j ACCEPT 更改为 DROP 或 REJECT。