Форум доступен через TOR. Скачать TorBrowser
Нравится форум? Поддержите форум финансово: BTC 1NwTNCBAyLV2bBuAKPv7g6R5ktdrJDt8TC

Будьте внимательны, проверяйте адрес в адресной строке! тема о фишинге!

Устранение утечек трафика через VPN, торификация системы Linux

Автор Pendalf, января 09, 2023, 20:00 Пн.

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Pendalf

VPN защищенный от утечки вашего IP адреса.

В общем небольшая заметка, на статью не тянет. В Debian-based дистрибутивах что бы завернуть трафик в VPN туннель написал простенький скрипт, вернее два.



Создаем файл в удобном месте, для меня это каталог /root
sudo bash
cd /root
touch iptables.rules
touch reset.rules
chmod +x *.rules

Затем в вашем любимом редакторе редактируем файл iptables.rules
nano iptables.rules
#!/bin/bash

IF1="wlp1s0"
VPN_PORT=1099
VPN_IF="tun0"

#Police
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#lo
iptables -A INPUT -i lo  -j ACCEPT
iptables -A OUTPUT -o lo  -j ACCEPT

#VPN_IF
iptables -A INPUT -i "$VPN_IF" -j ACCEPT
iptables -A OUTPUT -o "$VPN_IF" -j ACCEPT


#ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT


#established connections
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


#DNS
iptables -A OUTPUT -p udp -o "$IF1" --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i "$IF1" --sport 53 -j ACCEPT

#VPN
iptables -A OUTPUT -p udp -o "$IF1" --dport "$VPN_PORT" -j ACCEPT
iptables -A INPUT -p udp -i "$IF1" --sport "$VPN_PORT" -j ACCEPT

Скрипт рассчитывался под OpenVPN но не важно какой тип VPN используется, главное разрешить резольвинг адресов DNS для корректной работы VPN, т.к. большинство VPN сервисов имеют доменные имена серверов, а не IP адрес в конфигурации. Это чревато утечкой DNS, но не принципиально, т.к. весь трафик заворачивается в туннель после установки соединения.
Так же предполагается, что ваш компьютер находиться за NAT (роутером/WiFi и т.д.) и не имеет "белого" IP адреса, поэтому для более продвинутых пользователей решение будет немного другое.

В случае обрыва соединения с VPN, у вас просто отрубится интернет.

Второй скрипт вернет все на место.
nano reset.rules
#!/bin/bash

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -F INPUT
iptables -F OUTPUT


Запускаем с правами root из консоли или настраиваем скрипты в файле /etc/network/interfaces
pre-up и post-down комманды.
так же можно использовать iptables-save и iptables-restore почитав руководство по этим командам.

Для настройки скрипта выполните
sudo ip link showчто бы посмотреть ваши имена интерфейсов в системе. Так же необходимо знать порты, по которым соединяется VPN.


----

Торификация системы.


Я модернизировал скрипт отсюда под Debian/Ubuntu последних версий.
https://github.com/ericpaulbishop/iptables_torify
Скрипт делает бэкап и меняет /etc/tor/torrc на работу с виртуальной сетью, если были правки файла, то используйте бэкап.

Управление скриптом
systemctl stop  torify.service
systemctl start torify.service
Данный скрипт устанавливает tor и создает стартовые скрипты в /etc/init.d

Для удаления установки выполните следующие команды

sudo systemctl stop torify.service
sudo systemctl disable torify.service
sudo rm /etc/init.d/torify


Задавайте вопросы, если что-то  не получается.
Моя тема на Рутор  |||  Моя тема на Рунион
PGP fingerprint: 5EB9134D78805E03FD443AE4534109F701FC3FCB

infer


Pendalf

Цитата: infer от апреля 30, 2023, 00:00   Вс.А как запускается этот скрипт в debian подобных?
Цитата: Pendalf от января 09, 2023, 20:00   Пн.Данный скрипт устанавливает tor и создает стартовые скрипты в /etc/init.d
Моя тема на Рутор  |||  Моя тема на Рунион
PGP fingerprint: 5EB9134D78805E03FD443AE4534109F701FC3FCB

infer


TinyPortal 2.2.2 © 2005-2022