Как автоматически отключить интернет при обрыве VPN
Как автоматически отключить интернет при обрыве VPN или VPN Kill Switch с использованием брандмауэра UFW. Если вы настроили и используете сервер с собственным vpn то эта инструкция пригодится. Как любой сервис, во время работы, впн может дать сбой или отключиться. При этом вы можете этого не заметить так как интернет будет работать. И таким образом ваш реальный ip адрес будет раскрыт. Как этого избежать я расскажу в статье.
Нам понадобится простой брандмауэр ufw. В Xubuntu и других ответвлениях убунту он устанавливается сразу и доступен по умолчанию. Я использую Debian поэтому его придется установить. Запустите терминал. Обновите систему:
sudo apt update && sudo apt upgrade -yЗатем установите firewall командой:
sudo apt install ufw -yУбедитесь, что ваше соединение идет через "tun0" для этого введите команду:
sudo ifconfigВ выводе найдите подобную строку - "tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500". Для удобства я создал папку в домашней директории "VpnFirewall". Затем откройте любой текстовый редактор и напишите скрипт (скопируйте содержимое блока внизу) для управления правилами брандмауэра. Имя файла любое я назвал firewall.sh
1 2 3 4 5 6 7 | #!/bin/bash sudo ufw reset sudo ufw default deny incoming sudo ufw default deny outgoing sudo ufw allow out on tun0 from any to any sudo ufw enable |
Этот скрипт сбросит значения firewall и назначит новые, чтобы весь трафик (исходящий и входящий) мог идти только через интерфейс tun0.
- Ознакомьтесь с предложением, предоставляет молниеносные скорости и не регистрирует активность пользователей Лучший Сервис VPN
- Один из лучших сервисов хотя и не дешевый. Множество функций безопасности, поддержка P2P и стримов Сервис NordVPN
Сразу создадим еще один скрипт. Название также произвольное. Например, unfirewall.sh.
1 2 3 4 5 6 | #!/bin/bash sudo ufw reset sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw enable |
Если вам потребуется отменить сценарий установленный скриптом firewall.sh то запустите этот и он установит значения по умолчанию (разрешить исходящий, запретить незваный входящий трафик).
Теперь нужно сделать скрипты исполняемыми. Находясь в папке VpnFirewall выполните команду:
sudo chmod +x firewall.sh unfirewall.shЧтобы правило начало действовать. Подключитесь к вашему vpn. Зайдите в папку со скриптом и запустите его:
./firewall.shБудет выдан запрос - "Resetting all rules to installed defaults. Proceed with operation (y|n)?". Согласитесь нажав клавишу "y". Теперь весь трафик будет проходить только через впн и в случае разрыва связи с vpn интернет тоже пропадет. Обязательно протестируйте это.
Когда понадобится выключить firewall используйте команду:
sudo ufw disableЧтобы включить - команду:
sudo ufw enableЕсли вы установили ufw с графическим интерфейсом GUFW то можно использовать его.
Так же не забудьте, что мы создали скрипт для сброса сценария. Можно запускать его для отключения и изменения правил. Просмотреть статус брандмауэра ufw можно командами. Простой вывод:
sudo ufw statusПодробный:
sudo ufw status verboseПолное руководство по настройке ufw читайте по ссылке в начале статьи.
На этом все. Пользуйтесь.