diff --git a/network/vif-route-qubes b/network/vif-route-qubes index c4a768f..385b665 100755 --- a/network/vif-route-qubes +++ b/network/vif-route-qubes @@ -29,14 +29,14 @@ case "$command" in online) ifconfig ${vif} up echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp - ipcmd='add' - iptables_cmd='-I FORWARD 1' + ipcmd='replace' + iptables_cmd='-I PREROUTING 1' cmdprefix='' ;; offline) do_without_error ifdown ${vif} ipcmd='del' - iptables_cmd='-D FORWARD' + iptables_cmd='-D PREROUTING' cmdprefix='do_without_error' ;; esac @@ -45,10 +45,9 @@ if [ "${ip}" ] ; then # If we've been given a list of IP addresses, then add routes from dom0 to # the guest using those addresses. for addr in ${ip} ; do - ${cmdprefix} ip route del ${addr} || true ${cmdprefix} ip route ${ipcmd} ${addr} dev ${vif} || true done - echo ${cmdprefix} iptables $iptables_cmd -i ${vif} \! -s ${ip} -j DROP + echo ${cmdprefix} iptables -t raw $iptables_cmd -i ${vif} \! -s ${ip} -j DROP ${cmdprefix} iptables $iptables_cmd -i ${vif} \! -s ${ip} -j DROP fi