tools: dom0 iptables rule ordering change

This patch makes two small changes to dom0 iptables rules that permit
(and revoke) domU network access.

First:
Currently, a rule intended to allow domU network access is appended to
the end of the FORWARD chain, where it can be preempted by other =20
rules.  This patch causes the rule to be inserted at the top, where
it's more likely to have the intended effect.

Second:
In some cases (e.g. Fedora 9's default iptables configuration), the
first rule alone is insufficient to permit two-way packet flow.  This
patch adds a second rule to the FORWARD chain that permits replies to
domU network requests to reach the domU vif.

Signed-off-by: Chris Bookholt <hap10@tycho.ncsc.mil>
This commit is contained in:
Keir Fraser committed 2009-04-14 11:20:02 +01:00
1 parent 1761777e90
commit 891410cbc4
1 file changed
+9 -6
+9 -6
View File
@@ -68,17 +68,20 @@ frob_iptable()
{
if [ "$command" == "online" ]
then
local c="-A"
local c="-I"
else
local c="-D"
fi
iptables "$c" FORWARD -m physdev --physdev-in "$vif" "$@" -j ACCEPT \
2>/dev/null ||
[ "$c" == "-D" ] ||
log err \
"iptables $c FORWARD -m physdev --physdev-in $vif $@ -j ACCEPT failed.
If you are using iptables, this may affect networking for guest domains."
2>/dev/null &&
iptables "$c" FORWARD -m state --state RELATED,ESTABLISHED -m physdev \
--physdev-out "$vif" -j ACCEPT 2>/dev/null
if [ "$command" == "online" ] && [ $? ]
then
log err "iptables setup failed. This may affect guest networking."
fi
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.