Files
Server-scripts/network/routing.sh
T
2026-09-14 12:43:38 +02:00

51 lines
2.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#! /bin/bash
# Niftiest Software – www.niftiestsoftware.com
# Modified version by HTPC Guides – www.htpcguides.com
echo VPNUSER: $VPNUSER
if [[ "$(grep $VPNUSER /etc/iproute2/rt_tables)" == "" ]]; then
sudo sh -c 'echo "1 deluge-user" >> /etc/iproute2/rt_tables'
fi
if [ "$1" == "reverse" ]; then
VPNUSER="$2"
printf "reverse table for ${VPNUSER}\n"
ip route flush table ${VPNUSER}
ip route replace default via 127.0.0.1 table ${VPNUSER}
ip route flush cache
exit 0
fi
#${VPNIF}="tun+"
#VPNUSER="deluge-user"
#VPNIP="10.15.0.*"
printf "${LOCALIP}\n${NETIF}\n${VPNIP}\n${VPNIF}\n${P2PIP}\n${VPNUSER}\n"
printf "Flush old ${VPNUSER} table\n"
ip route flush table ${VPNUSER}
#printf "Flush Main Table(Revert VPN Changes) and restore default\n"
#ip route flush table main
#ip route add 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.2 metric 100
#ip route add 37.48.66.67 via 10.0.0.138 dev eth0 proto static metric 100
#ip route add 169.254.0.0/16 dev eth0 proto static scope link metric 1000
#ip route add default via 10.0.0.138 dev eth0 proto static metric 100
printf "Add rule for marked packets\n"
if [[ $(ip rule list | grep -c ${MARK_ID}) == 0 ]]; then
ip rule add from all fwmark ${MARK_ID} lookup ${VPNUSER}
fi
printf "Replace Default, Append Default, Flush cache\n"
ip route replace default via ${P2PIP} table ${VPNUSER}
#ip route append default via 127.0.0.1 dev lo table ${VPNUSER}
for PUB_IP_ADDR in ${PUBIP[@]}; do
echo "ip route add ${PUB_IP_ADDR}/32 via ${P2PIP} dev ${VPNIF} table ${VPNUSER}"
ip route add ${PUB_IP_ADDR}/32 via ${P2PIP} dev ${VPNIF} table ${VPNUSER}
done
#ip route add 0.0.0.0/1 via ${VPNIP} dev ${VPNIF} table ${VPNUSER}
#ip route add 128.0.0.0/1 via 10.15.0.125 table ${VPNUSER}
#ip route add 10.15.0.1/32 via ${VPNIP} dev ${VPNIF} table ${VPNUSER}
#ip route add ${P2PIP} dev ${VPNIF} proto kernel scope link src ${VPNIP} table ${VPNUSER}
ip route flush cache
printf "run update-resolv-conf script to set VPN DNS\n"
/etc/openvpn/update-resolv-conf
exit 0