From c3082e10a8c1dc477ec479ee5a5f127418ac4ede Mon Sep 17 00:00:00 2001 From: Vahagn Khachatryan Date: Thu, 1 Aug 2019 13:48:24 +0100 Subject: [PATCH] tun2socks --- ssh_socks5.service | 22 ++++++++++++++++++++++ tun2socks.service | 20 ++++++++++++++++++++ tun2socks_pre.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 ssh_socks5.service create mode 100644 tun2socks.service create mode 100644 tun2socks_pre.sh diff --git a/ssh_socks5.service b/ssh_socks5.service new file mode 100644 index 0000000..dffdbf5 --- /dev/null +++ b/ssh_socks5.service @@ -0,0 +1,22 @@ +# Automatically generated by systemd-sysv-generator + +[Unit] +#SourcePath=/etc/init.d/rpcbind +Description=SSH SOCKS5 to yerevak.vostan.org +#DefaultDependencies=no +Before=shutdown.target +After=network-online.target local-fs.target +Wants=network-online.target +Conflicts=shutdown.target + +[Service] +Type=simple +User=vahagn +Group=vahagn +Restart=always +RestartSec=2s +WorkingDirectory=/tmp +ExecStart=/usr/bin/ssh -N -D 0.0.0.0:1080 -i /home/vahagn/.ssh/id_rsa vahagn@yerevak.vostan.org + +[Install] +WantedBy=multi-user.target diff --git a/tun2socks.service b/tun2socks.service new file mode 100644 index 0000000..d5d4ef0 --- /dev/null +++ b/tun2socks.service @@ -0,0 +1,20 @@ +# Automatically generated by systemd-sysv-generator + +[Unit] +Description=tun0 to SOCKS5 tunel +Before=shutdown.target +After=network-online.target local-fs.target +Wants=network-online.target ssh_socks5.service +Conflicts=shutdown.target + +[Service] +Type=simple +Restart=always +GuessMainPID=no +RemainAfterExit=yes +WorkingDirectory=/tmp +ExecStartPre=/usr/local/sbin/tun2socks_pre.sh +ExecStart=/sbin/ip netns exec soghancq /usr/local/sbin/tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080 --udpgw-remote-server-addr 127.0.0.1:7300 + +[Install] +WantedBy=multi-user.target diff --git a/tun2socks_pre.sh b/tun2socks_pre.sh new file mode 100644 index 0000000..51b9195 --- /dev/null +++ b/tun2socks_pre.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +NETNS=soghancq +IP=/sbin/ip +NS="$IP netns exec $NETNS" + +# +# Set ip forwarding. +# Do it from /ete/sysctl.conf +#sysctl -w net.ipv4.ip_forward=1 + +# +# Create network namesapce. +# +$IP netns add $NETNS + +# +# Peer to peer to default namespace. +# +$IP link add veth0 type veth peer name veth1 +$IP addr add 10.1.1.1/30 dev veth0 +$IP link set veth0 up + +$IP link set veth1 netns $NETNS +$NS $IP addr add 10.1.1.2/30 dev veth1 +$NS $IP link set veth1 up +$NS $IP route add 127.0.0.0/24 via 10.1.1.1 metric 5 +$NS $IP route add 192.168.0.0/24 via 10.1.1.1 metric 5 +#$NS $IP route add 8.8.8.8 via 10.1.1.1 metric 5 + +# +# Configure tun0 which goes through socks5. +# +$NS $IP tuntap add dev tun0 mode tun user root +$IP link set tun0 netns $NETNS +$NS $IP addr add 10.0.0.1/24 dev tun0 +$NS $IP link set dev tun0 up +$NS $IP route add default via 10.0.0.2 metric 6 +#$NS /usr/local/sbin/tun2socks \ +# --tundev tun0 \ +# --netif-ipaddr 10.0.0.2 \ +# --netif-netmask 255.255.255.0 \ +# --socks-server-addr 127.0.0.1:1080 \ +# --udpgw-remote-server-addr 127.0.0.1:7300 & +