当防火墙运行时,虚拟机(KVM / libvirt)无法从在CentOS主机上运行的libvirt-dnsmasq获取dynamicIP地址。 当我closures防火墙(CSF)时,虚拟机获得一个IP。 对于遇到类似的人来说,什么对你有用?
我已经尝试在csfpost.sh中定制iptables规则(input输出和FORWARD)。
/sbin/iptables -A INPUT -j ACCEPT -s $SUBNET_PRIVATE -i $IF_TUN_0 /sbin/iptables -A OUTPUT -j ACCEPT -s $SUBNET_PRIVATE -o $IF_TUN_0 /sbin/iptables -A FORWARD -i $IF_TUN_0 -o $IF_ETH_0 -j ACCEPT /sbin/iptables -A FORWARD -i $IF_ETH_0 -o $IF_TUN_0 -j ACCEPT
我试过csf.allow中的条目。
#allow dnsmasq to serve dynamic IPs to virtual machines on local subnet tcp:in:d=53:s=10.xy0/24 udp:in:d=53:s=10.xy0/24 tcp:out:d=53:s=10.xy0/24 udp:out:d=53:s=10.xy0/24
我忽视了哪些重要的步骤?
确定如何开放一切
/sbin/iptables -A INPUT -j ACCEPT -p all -s 0/0 -i $IF_TUN_0 /sbin/iptables -A OUTPUT -j ACCEPT -p all -s 0/0 -o $IF_TUN_0
线索来自/ var / log / messages。 港口67和68被封锁。
# allow broadcasted dhcp requests, IP is unknown hence all zero'd /sbin/iptables -A INPUT -j ACCEPT -p udp -d 0/0 -i $IF_TUN_0 --dport 67 --sport 68 # allow dhcp renewal requests, the IP is known at this point /sbin/iptables -A INPUT -j ACCEPT -p udp -d $IP_PRIVATE_HOST -i $IF_TUN_0 --dport 68 --sport 67 # allow dhcp acks /sbin/iptables -A OUTPUT -j ACCEPT -p udp -s $IP_PRIVATE_HOST -o $IF_TUN_0 --dport 68 --sport 67 # allow dhcp renewal response /sbin/iptables -A OUTPUT -j ACCEPT -p udp -s $IP_PRIVATE_HOST -o $IF_TUN_0 --dport 67 --sport 68