aboutsummaryrefslogtreecommitdiffstats
path: root/tools/misc/xen_enable_nat
diff options
context:
space:
mode:
Diffstat (limited to 'tools/misc/xen_enable_nat')
-rwxr-xr-xtools/misc/xen_enable_nat20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/misc/xen_enable_nat b/tools/misc/xen_enable_nat
new file mode 100755
index 0000000000..e6b21a779b
--- /dev/null
+++ b/tools/misc/xen_enable_nat
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+run_iptables() {
+ if ! iptables $@ ; then
+ echo "iptables returned error; have you built netfilter?"; exit 1
+ fi
+}
+
+ifconfig eth0:0 169.254.1.0 up
+run_iptables -t filter -F
+run_iptables -t nat -F
+run_iptables -t filter -X
+run_iptables -t nat -X
+run_iptables -t filter -P FORWARD DROP
+run_iptables -t filter -A FORWARD -i eth0 -o eth0 -s 169.254.0.0/16 -j ACCEPT
+run_iptables -t filter -A FORWARD -i eth0 -o eth0 -d 169.254.0.0/16 -m state --state ESTABLISHED,RELATED -j ACCEPT
+run_iptables -t nat -A POSTROUTING -o eth0 -s 169.254.1.0 -j RETURN
+run_iptables -t nat -A POSTROUTING -o eth0 -s 169.254.0.0/16 -j MASQUERADE
+echo 1 > /proc/sys/net/ipv4/ip_forward
+