Был подготовлен простой скрипт для работы Tun2Socks для различных целей и обхода "гео" блокировок к различным зарубежным сервисам, обходу блокировок порта 25 и прочих возможностей.
Для работы с этим скриптом, Вам требуется иметь:
- socks5 прокси, желательно с поддержкой UDP и желательно так же, что бы он был приватным.
- linux сервер vps/vds/dedicated.
- установленные пакеты screen и iptables.
- конечно же установленный tun2socks.
Устанавливаем tun2socks.
wget https://github.com/xjasonlyu/tun2socks/releases/download/v2.5.2/tun2socks-linux-amd64.zip
unzip tun2socks-linux-amd64.zip
chmod 0777 tun2socks-linux-amd64
mv tun2socks-linux-amd64 /usr/sbin/
Всё готово, далее переходим к самому bash скрипту.
Скопируйте скрипт себе и отредактируйте заранее правила которые Вам необходимы.
Не забудьте отредактировать данные подключения к прокси socks5://LOGIN:PASSWORD@199.99.99.222:1080
Так же не забудьте выдать права на sh скрипт, например chmod 0777 tun2socks.sh, зависит от того, как будет назван скрипт.
!/bin/bash
#создаем новый интерфейс с именем tun_out через tun2socks и подключаемся к прокси
screen -AmdS socks_out /bin/bash -c '/usr/sbin/tun2socks-linux-amd64 -device tun://tun_out -proxy socks5://LOGIN:PASSWORD@199.99.99.222:1080'
#Подождем 2 секунды, для создания интерфейса, так как запускаем tun2socks в screen
sleep 2
# Присваиваем адрес новому интерфейсу
ip addr add 10.9.1.1/24 dev tun_out
# Включаем интерфейс
ip link set tun_out up
# Добавляем маршрут по умолчанию через новый интерфейс
ip route add default dev tun_out metric 50
# Включаем ip forward
echo 1 > /proc/sys/net/ipv4/ip_forward
# Добавляем новую таблицу маршрутизации tun_out (если её не существует)
if ! grep -Fxq "100 tun_out" /etc/iproute2/rt_tables
then
echo "100 tun_out" >> /etc/iproute2/rt_tables
fi
# Добавляем интерфейс tun_out в новую таблицу
ip route add 10.9.1.0/32 dev tun_out src 10.9.1.1 table tun_out
# Объявляем интерфейсом по-умолчанию
ip route add default via 10.9.1.1 dev tun_out table tun_out
# Создаем правило маршрутизации для tun1, направляющее трафик с tun_out в таблицу tun_out
ip rule add from 10.9.1.0/24 table tun_out
# Чистим кэш ip route для обновления правил
ip route flush cache
# Отключаем фильтр обратного пути для всех интерфейсов*
for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do
echo 0 > $i
done
# Включаем пакеты с локальных источников для всех интерфейсов*
for i in /proc/sys/net/ipv4/conf/*/accept_local ; do
echo 1 > $i
done
# здесь маркируем нужные нам пакеты и руководствуемся стандартными правилами iptables
#Например, у нас закрыт порт 25, но у прокси он не закрыт, так будем проксировать все эти запросы на 25 порт, для отправки почты, через наш "прокси"
iptables -t mangle -A OUTPUT -p tcp -m multiport --dport 25 -j MARK --set-mark 1
# либо например, к подсети 11.11.11.0/24 и порту 443, будем проксировать все запросы через прокси
iptables -t mangle -A OUTPUT -p tcp -m multiport -d 11.11.11.0/24 --dport 443 -j MARK --set-mark 1
# опять же, может проксировать даже UDP запросы, например на NTP сервер, главное что бы на нашем прокси, UDP был открыт!
iptables -t mangle -A OUTPUT -p udp -m multiport --dport 123 -j MARK --set-mark 1
# Применяем правило для маршрутизации маркированных пакетов через нашу таблицу
ip rule add fwmark 1 table tun_out
Следить за "пакетами" которые прошли через прокси, можно в нашем screen.
❗️❗️ Промо-код (скидка 15%): PROMO15 ❗️❗️
Вводите во время заказа услуги на сайте: https://hosting-vds.com/