使用虚拟机进行 Linux 网络和端口转发

使用虚拟机进行 Linux 网络和端口转发

我在 RaspberryPi4 上运行了一个应用程序,它通过我的 Fedora32 笔记本电脑将传感器数据发送到 Gnome-Boxes 上我的虚拟机上的 Ubuntu 18.04。主机是 Fedora 32 笔记本电脑。Raspberry Pi 主板和我的笔记本电脑连接在同一个 wifi 网络中。

我可以使用以下命令查看 Fedora 32 的 IP 地址和到 Ubuntu VM 的虚拟桥ip a

3: wlp1s0: ... inet 192.168.2.20/24 brd 192.168.2.255
6: virbr0: ... inet 192.168.122.1/24 brd 192.168.122.255

我的 Raspberry Pi 的 IP 地址为: 3: wlan0: ... inet 192.168.2.21/24 brd 192.168.2.255

我的Ubuntu18.04 VM的IP是: 2: enp1s0: ... inet 192.168.122.253 brd 192.168.122.255

从 RaspberryPi 到 Fedora32 和从 Fedora32 到 RaspberryPi 的 Ping 操作均可行。从 UbuntuVM 到 Fedora32 和从 Fedora32 到 UbuntuVM 的 Ping 操作也可行。

我可以看到从 UbuntuVM 到 RaspberryPi 的连接y@ubuntu:$ ping 192.168.2.21。但是,看不到从 RaspberryPi 到 UbuntuVM 的连接(y@rapsberry:$ ping 192.168.122.253)。

应用程序使用此网络设置发送数据:http://192.168.122.253:11311

我在 Fedora32 上运行了这些命令。但是,仍然没有连接:

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -d 0.0.0.0/0 -j ACCEPT
firewall-cmd --zone=FedoraWorkstation --add-forward-port=port=11311:proto=tcp:toaddr=192.168.122.253:toport=11311
firewall-cmd --reload

回报。firewall-cmd --get-default-zoneFedoraWorkstation

cat /proc/sys/net/ipv4/ip_forward返回 1。

我也尝试过解决方案libvirt-hook-qemuhttps://superuser.com/questions/1474254/firewall-cmd-add-forward-port-dont-work/1475915#1475915.但是它还是不起作用。

连接 RaspberryPi4 和 Ubuntu18 笔记本电脑(没有 Fedora 及其 Ubuntu VM)的设置有效。有什么提示吗?

相关内容