Skip to content

Instantly share code, notes, and snippets.

@ddepaoli3
Created March 12, 2019 10:46
Show Gist options
  • Save ddepaoli3/1d0167415554e26375da724213343c73 to your computer and use it in GitHub Desktop.
Save ddepaoli3/1d0167415554e26375da724213343c73 to your computer and use it in GitHub Desktop.
Force all public IP range to be routed trough the default gateway to avoid VPN redirect. All privates IP ranges are not affected
#!/bin/bash
DEFAULT_GW_IP="192.168.1.1" #Local gateway
force_public_route()
{
#netmask -c 0.0.0.0:9.255.255.255
sudo route add -net 0.0.0.0/5 $DEFAULT_GW_IP
sudo route add -net 8.0.0.0/7 $DEFAULT_GW_IP
#netmask -c 11.0.0.0:172.15.255.255
sudo route add -net 11.0.0.0/8 $DEFAULT_GW_IP
sudo route add -net 12.0.0.0/6 $DEFAULT_GW_IP
sudo route add -net 16.0.0.0/4 $DEFAULT_GW_IP
sudo route add -net 32.0.0.0/3 $DEFAULT_GW_IP
sudo route add -net 64.0.0.0/2 $DEFAULT_GW_IP
sudo route add -net 128.0.0.0/3 $DEFAULT_GW_IP
sudo route add -net 160.0.0.0/5 $DEFAULT_GW_IP
sudo route add -net 168.0.0.0/6 $DEFAULT_GW_IP
sudo route add -net 172.0.0.0/12 $DEFAULT_GW_IP
#netmask -c 172.32.0.0:192.167.255.255
sudo route add -net 72.32.0.0/11 $DEFAULT_GW_IP
sudo route add -net 72.64.0.0/10 $DEFAULT_GW_IP
sudo route add -net 172.128.0.0/9 $DEFAULT_GW_IP
sudo route add -net 173.0.0.0/8 $DEFAULT_GW_IP
sudo route add -net 174.0.0.0/7 $DEFAULT_GW_IP
sudo route add -net 176.0.0.0/4 $DEFAULT_GW_IP
sudo route add -net 192.0.0.0/9 $DEFAULT_GW_IP
sudo route add -net 192.128.0.0/11 $DEFAULT_GW_IP
sudo route add -net 192.160.0.0/13 $DEFAULT_GW_IP
#netmask -c 192.169.0.0:223.255.255.255
sudo route add -net 192.169.0.0/16 $DEFAULT_GW_IP
sudo route add -net 192.170.0.0/15 $DEFAULT_GW_IP
sudo route add -net 192.172.0.0/14 $DEFAULT_GW_IP
sudo route add -net 192.176.0.0/12 $DEFAULT_GW_IP
sudo route add -net 192.192.0.0/10 $DEFAULT_GW_IP
sudo route add -net 193.0.0.0/8 $DEFAULT_GW_IP
sudo route add -net 194.0.0.0/7 $DEFAULT_GW_IP
sudo route add -net 196.0.0.0/6 $DEFAULT_GW_IP
sudo route add -net 200.0.0.0/5 $DEFAULT_GW_IP
sudo route add -net 208.0.0.0/4 $DEFAULT_GW_IP
# Thanks to:
# https://serverfault.com/questions/304781/cidr-ranges-for-everything-except-rfc1918
}
flush_route()
{
sudo route -n flush; sudo route -n flush; sudo route -n flush;
route add default $DEFAULT_GW_IP
}
help()
{
cat << EOF
Usage: bash $0 [add, del]
With add you force all public IP to be route through your default gateway
With del you flush all routing and recover default route table
EOF
}
if [ "$1" == "add" ]; then
force_public_route
elif [ "$1" == "del" ]; then
flush_route
else
help $0
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment