[Unit] Description = Tun2Socks for Tor1 After = network.target [Service] # Configuration Environment=TUN_IF_NAME=tor1 Environment=TUN_IF_NETWORK=169.254.1.1/30 Environment=FW_MARK=0x32 Environment=RT_TABLE=tor1 Environment=TUN_IF_GATEWAY=169.254.1.2 Environment=TUN_IF_NETMASK=255.255.255.252 Environment=SOCKS_SERVER=127.0.0.1:9051 # Service settings Restart=always PIDFile = /var/run/tun2socks-tor1.pid User=root Group=root # Pre start (brings interfaces up and establishes routes). ExecStartPre = -/sbin/ip tuntap add dev ${TUN_IF_NAME} mode tun ExecStartPre = -/sbin/ip link set ${TUN_IF_NAME} up ExecStartPre = -/sbin/ip addr add ${TUN_IF_NETWORK} dev ${TUN_IF_NAME} ExecStartPre = -/sbin/ip rule add fwmark ${FW_MARK} lookup ${RT_TABLE} ExecStartPre = -/sbin/ip route add default via ${TUN_IF_GATEWAY} table ${RT_TABLE} # Start (starts tun2socks) ExecStart = /usr/local/sbin/badvpn-tun2socks --logger syslog --loglevel info --tundev ${TUN_IF_NAME} --netif-ipaddr ${TUN_IF_GATEWAY} --netif-netmask ${TUN_IF_NETMASK} --socks-server-addr ${SOCKS_SERVER} # Post stop (removes established routes and brings down interfaces). ExecStopPost = -/sbin/ip route del default via ${TUN_IF_GATEWAY} table ${RT_TABLE} ExecStopPost = -/sbin/ip rule del table ${RT_TABLE} ExecStopPost = -/sbin/ip addr del ${TUN_IF_NETWORK} dev ${TUN_IF_NAME} ExecStopPost = -/sbin/ip link set ${TUN_IF_NAME} down ExecStopPost = -/sbin/ip tuntap del dev ${TUN_IF_NAME} mode tun [Install] WantedBy = multi-user.target