我在 Google Cloud Platform 上有一个 Ubuntu 虚拟机,它运行一个 OpenVPN 服务器。
在我的办公室,一台 Ubuntu 笔记本电脑和一台 Windows PC 充当 OpenVPN 客户端。
因此,在 VPN 上,IP 地址如下:
- 虚拟机:
10.8.0.1
- Ubuntu 笔记本电脑:
10.8.0.2
- Windows 电脑:
10.8.0.3
我需要通过端口 102 建立连接。因此,我在所有三台机器上都打开了端口 102(Windows:添加防火墙规则,Ubuntu 笔记本电脑:ufw allow 102
以及在 VM 上:在 VPC 中创建防火墙规则)
从虚拟机中,我使用命令nmap
检查 10.8.0.2 上的 102 端口是否可以访问。我使用了以下命令:
nmap -p 102 10.8.0.2
输出如下所示:
但是,令人惊讶的是,当我在笔记本电脑上使用“ufw status”检查开放端口时,它显示端口 102 已打开,如下所示:
然后我想这可能是由于我办公室路由器上的某些端口转发问题造成的。但事实似乎并非如此,因为我能够看到以下结果nmap -p 102 10.8.0.2
(这是针对同一办公室路由器后面的 Windows PC):
所以,我猜这似乎与 Ubuntu 防火墙配置有关。我做错了什么?任何帮助都将不胜感激。
答案1
经过一番研究后,我发现了为什么我的nmap
检查显示端口 102 已“关闭”。
似乎应该有一些进程/服务正在积极运行并监听端口 102,以显示为“打开”。
我使用以下命令在 Ubuntu 笔记本电脑上运行了一个虚拟监听器:
nc -l 102
现在,如果我nmap -p 102 10.8.0.2
从虚拟机运行,我就能看到端口为“打开”。