我家里有一台服务器和一台笔记本,我将它们用于两个不同的 ubuntu 服务器。因为有两个,我想与它们通信,所以我需要进行端口映射。我对 SSH 和一台服务器的 HTTP/HTTPS 和 MySQL 也进行了此操作。如下所示:
| IP address | Local Port | External Port | Protocol | Device |
|-----------------|------------|---------------|----------|----------|
| 192.168.0.165 | 22 | 22165 | TCP | Server | <- SSH
| 192.168.0.165 | 8165 | 80 | TCP | Server | <- HTTP
| 192.168.0.165 | 43165 | 443 | TCP | Server | <- HTTPS
| 192.168.0.165 | 3306 | 36165 | TCP | Server | <- MySQL
| 192.168.0.179 | 22 | 22179 | TCP | Notebook | <- SSH
现在,通过 SSH 和端口连接到我的服务器22165
可以正常工作。但是当我尝试使用公共 IP 或域访问我托管在与 nginx 相同的服务器上的网站时,它无法访问它。即使我输入端口,它也无法访问 MySQL 数据库36165
。从外部服务器 ping 我的服务器是可行的。
user@externalserver:~$ ping my.public.ip
PING my.public.ip (my.public.ip) 56(84) bytes of data.
64 bytes from my.public.ip: icmp_seq=1 ttl=44 time=107 ms
64 bytes from my.public.ip: icmp_seq=2 ttl=44 time=100 ms
64 bytes from my.public.ip: icmp_seq=3 ttl=44 time=111 ms
^C
--- my.public.ip ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
昨天我在同一台服务器上完成了 OpenVPN 的设置。从那时起它就不再工作了。但我已经停止了 OpenVPN 服务,systemctl stop
但它仍然不起作用。我不认为这是因为 OpenVPN。但如果是因为端口映射,那也很奇怪,因为我在进行端口映射后测试了它,它工作正常。
答案1
我可以修复这个问题。这是在设置 openvpn 后启用的 ubuntu 防火墙ufw
不允许端口 80、443 和 3306。