summaryrefslogtreecommitdiff
path: root/openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down
diff options
context:
space:
mode:
authorChristian Pointner <equinox@anytun.org>2007-06-16 01:08:34 +0000
committerChristian Pointner <equinox@anytun.org>2007-06-16 01:08:34 +0000
commitbd379231f2d4b22b473fd7f428e518462fb7476a (patch)
tree7643fa58ffe7123cc08e7784f204efe9f5b5970e /openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down
parentremoved openvpn source files (diff)
added all the openvpn stuff
Diffstat (limited to 'openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down')
-rwxr-xr-xopenvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down22
1 files changed, 22 insertions, 0 deletions
diff --git a/openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down b/openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down
new file mode 100755
index 0000000..87d67d4
--- /dev/null
+++ b/openvpn/contrib/openvpn-fwmarkroute-1.00/fwmarkroute.down
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# Bring down vpn routing.
+
+# calculate the network address
+remote_network=`ipcalc -n "$remote"/"$remote_netmask_bits"`
+remote_network="${remote_network#*=}"
+
+# clear routing via VPN
+ip route del "$remote_network"/"$remote_netmask_bits" via "$5" table vpn.out
+ip route del table vpnonly.out via "$5"
+iptables -D OUTPUT -t mangle -p "$proto" \
+ -d "$remote_network"/"$remote_netmask_bits" \
+ --dport "$remote_port" -j ACCEPT
+iptables -D OUTPUT -t mangle -d "$remote" -j MARK --set-mark 2
+
+# undo the ICMP ping tunneling
+iptables -D OUTPUT -t mangle --protocol icmp --icmp-type echo-request \
+ -j MARK --set-mark 3
+
+# flush route cache
+ip route flush cache