如何配置防火墙,将端口转发到特定的虚拟机:端口并允许虚拟机访问外部

如何配置防火墙,将端口转发到特定的虚拟机:端口并允许虚拟机访问外部

我有如下的 KVM/libvirt 环境。

   em1(external)
      |
   bridge0
  /   |   \
VM1  VM2  VM3

我希望通过以下步骤从外部访问具有 9091 端口的 VM1(192.168.122.103)。

# firewall-cmd --zone=external --add-forward-port=port=9091:proto=tcp:toport=9091:toaddr=192.168.122.103 --permanent

一切按预期正常运行。但是,内部 VM 无法使用外部 DNS 和 ping。

因此,我进行了如下设置。

# firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i bridge0 -j ACCEPT 
# firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o bridge0 -j ACCEPT 

因此,内部虚拟机可以通过 DNS 和 ping 与外部虚拟机通信。但是,端口转发不起作用。

如何设置端口转发以及内部虚拟机与外部的通信?

相关内容