Jon*_*art 7 linux-kvm firewalld fedora-22 virt-manager
我有一个在 virt-manager QEMU/KVM 虚拟机上运行的 Windows 客户机。
我的主 NICeno1
位于br1
使用我的主机 IP 地址配置配置的网桥中。该 VM 连接到所述网桥。
我的主机防火墙处于默认配置:默认区域:FedoraWorkstation
如果我停止firewalld
(并iptables
显示空的防火墙规则),来宾将正常工作。不关闭防火墙,我的客人无法与外部网络通信。(它可以 ping,但不能发出 DNS 请求或 TCP 连接。)
如何配置防火墙以允许完全访问来宾?
该论坛帖子建议使用以下 Bash 脚本iptables
:
#!/bin/sh
# If I put bridge0 in trusted zone then firewalld allows anything from
# bridge0 on both INPUT and FORWARD chains !
# So, I've put bridge0 back into the default public zone, and this script
# adds rules to allow anything to and from bridge0 to be FORWARDed but not INPUT.
BRIDGE=bridge0
iptables -I FORWARD -i $BRIDGE -j ACCEPT
iptables -I FORWARD -o $BRIDGE -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
我已经确认这有效,但我希望永久配置我的防火墙以实现此行为。理想情况下,这将使用内置的FirewallD工具来完成。
小智 20
我遇到了同样的问题。并在挖掘后发现firewalld直接直通iptables
因此,使用您可以使用与脚本中相同的转发规则,但让 firewalld 永久设置它们
firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i bridge0 -j ACCEPT
firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o bridge0 -j ACCEPT
firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
我希望有一种方法可以在不直接更改 iptables 的情况下使用 firewalld 获得相同的结果,但我找不到任何更好的解决方案
归档时间: |
|
查看次数: |
18747 次 |
最近记录: |