我有如下的 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 与外部虚拟机通信。但是,端口转发不起作用。
如何设置端口转发以及内部虚拟机与外部的通信?