你好,我试图创建一个服务器,其中运行的每个软件都在一个虚拟机中。我尝试使用 ufw 来路由请求,并且它在本地工作。
当我尝试使用 vpn 连接到我的一台虚拟机时,我在 tcpdump 中看到了这个(在虚拟机外运行 转储中我们看到了请求,但是 ICMP 响应失败
如果没有 VPN,我 ping 路由器的外部 IP 就会出现这种情况服务器和路由器之间成功交换):
我的路线在 /etc/ufw/before.rules 中定义如下
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 25565 -j DNAT --to-destination 192.168.122.232:25565
-A PREROUTING -p tcp --dport 25522 -j DNAT --to-destination 192.168.122.232:22
COMMIT
我使用 25565 端口进行了测试。我的服务器正在运行 fedora 服务器。我的虚拟机可以连接到互联网,因此它应该能够发回响应,但我的主机服务器上的 icmp 失败。
最奇怪的是,当我运行 nc $SERVERIP 25565 时,即使我的路由器上的端口是开放的,连接也会被拒绝
抱歉,我的英语水平不太好,我不是以英语为母语的人。
答案1
我遵循了以下指南:https://www.cyberciti.biz/faq/kvm-forward-ports-to-guests-vm-with-ufw-on-linux/
当我看到
## NOTE replace 192.168.2.0/24 with your public IPv4 sub/net ##
我使用 192.168.0.14 而不是路由器。