gpt4 book ai didi

iptables - libvirt iptables 规则中断到我的 KVM 虚拟机的端口转发

转载 作者:行者123 更新时间:2023-12-04 18:03:47 28 4
gpt4 key购买 nike

当我清除 IPtables 然后添加以下规则时,传入连接可以毫无问题地连接到端口 1234 上的我的 KVM VM。

-A PREROUTING -i br0 -p tcp -m tcp --dport 1234 -j DNAT --to-destination 192.168.122.194:1234
-A FORWARD -d 192.168.122.194/32 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 1234 -j ACCEPT
-A FORWARD -s 192.168.122.194/32 -p tcp -m tcp --sport 1234 -j ACCEPT
-A FORWARD -d 192.168.122.194/32 -p tcp -m tcp --dport 1234 -j ACCEPT

但我希望 NAT 在我的 KVM VM 中工作。默认情况下,libvirt 会设置一些规则,为我的 VM 提供 NAT。但是,当我尝试将 SIGHUP 发送到 libvirt(这就是您要求它向 iptables 添加规则的方式)时,它会向 iptables 添加以下规则,这会破坏我在上面指定的端口转发。

-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT

-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE

我试过手动运行这些命令。我可以运行所有 FORWARD 和 OUTPUT 命令,它们不会破坏我的端口转发。但是我无法手动运行任何 POSTROUTING 命令。我收到一条错误消息:“没有该名称的链/目标/匹配项。”

*上面最后一个灰色部分中的这些 libvirt iptables 规则是通过运行 iptables-save 并确认端口转发正常工作,然后向 libvirt 发送 SIGHUP,确认端口转发被破坏,然后再次运行 iptables-save 并运行 diff 获得的在两个输出上查找 libvirt 添加了哪些新的 iptables 规则。

最佳答案

我刚刚使用自己的规则启用了 NAT。我没有理会任何默认的 libvirt 规则。

添加 NAT 就像 3 个 iptables 命令一样简单。(其中 br0 是您面向互联网的适配器(它可以是 ppp0 或其他))

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -A FORWARD -i br0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i virbr0 -o br0 -j ACCEPT

关于iptables - libvirt iptables 规则中断到我的 KVM 虚拟机的端口转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30654803/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com