复制代码代码如下: # vi /etc/xen/scripts/vif-common.sh function frob_iptable() { ... iptables -t raw "$c" PREROUTING -m physdev --physdev-in "$vif" "$@" -j NOTRACK } 修改完 Xen 配置后还需要修改 domU 的配置,给每个 domU 分配固定 IP 和 MAC 地址,还有 vif 名字:
复制代码代码如下:# /etc/init.d/iptables restart</p><p># vi /etc/xen/vm01 ... vif = [ "vifname=vm01,mac=00:16:3e:7c:1f:6e,ip=172.16.39.105,bridge=xenbr0" ] ...</p><p># vi /etc/iptables-rules *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # The antispoofing rules for domUs -A FORWARD -m state --state RELATED,ESTABLISHED -m physdev --physdev-out vm01 -j ACCEPT -A FORWARD -p udp -m physdev --physdev-in vm01 -m udp --sport 68 --dport 67 -j ACCEPT -A FORWARD -s 172.16.39.105/32 -m physdev --physdev-in vm01 -j ACCEPT -A FORWARD -d 172.16.39.105/32 -m physdev --physdev-out vm01 -j ACCEPT # If the IP address is not allowed on that vif, log and drop it. -A FORWARD -m limit --limit 15/min -j LOG --log-prefix "Dropped by firewall: " --log-level 7 -A FORWARD -j DROP # The access rules for dom0 -A INPUT -j ACCEPT COMMIT</p><p># iptables-restore < /etc/iptables.rules 当然,别忘了: