LINUX.ORG.RU

Как оборвать сеть если ВПН вдруг потерял коннект? (KillSwitch)

 , , ,


0

2

Как лучше и проще настроить отключение от сети если вдруг openvpn прервал коннект? чтобы ни 1 байта не проскочило через обычное соединение.

Только при условии, что впн был до этого включен.

Совсем радикально: sudo rmmod модуль_твоей_карты(wi-fi etc)

Проще: ifconfig интерфейс down

Удаление модуля позволяет не заботиться о том, что network-manager или еще кто-то автоматом восстановит соединение.

praseodim ★★ ()
Последнее исправление: praseodim (всего исправлений: 2)
Ответ на: комментарий от praseodim

спасибо, я пожалуй возьму радикальный способ.

как правильно прописать его? я за линуксом первый день

вот моя интернет карта из lspci | egrep -i --color 'network|ethernet'

00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)

yewoxihuwi ()
Ответ на: комментарий от yewoxihuwi

Где-то мне попадался простенький скрипт на bash, выводящий список сетевых устройств и какими модулями какое из них обслуживается. К сожалению, не могу найти.

Возможно это модуль e1000e у вас. Тогда полное вырубание интернета - это rmmod e1000e (или modprobe -r e1000e)

Снова включить модуль -это insmod e1000e (или modprobe e1000e) Но надо будет заново вызывать настройки сети.

praseodim ★★ ()
Ответ на: комментарий от praseodim

спасибо, нашел - это e1000. подрубил впн, набрал rmmod e1000 и ... сеть вырубилась ... ну, впрочем этого я и ожидал

но как это автоматизировать?) чтобы когда впн обрывается то выполнялось rmmod e1000?

либо как использовать persist-run ?

yewoxihuwi ()

все киллсвичи что я видел привязаны к конкретному IP VPN. а что если VPN серверов в базе больше сотни?

какой Killswitch тогда реализовать? iptables явно не вариант

yewoxihuwi ()
Ответ на: комментарий от yewoxihuwi

первый раз заработал. я запустил пинг, законнектил впн, врубил фаервол, пинг продолжился.

сейчас же коннекчу впн, запускаю фаервол - пинг останавливается, коннекта нет. что я делаю не так?(

yewoxihuwi ()

вы тут оба упоролись что ли, какая еще выгрузка модуля? через таблицу маршрутов:

1. Удаляешь дефолтный маршрут.

2. Прописываешь маршрут до впн сервера.

3. profit

Да и научись пользоваться поиском.

ving2 ()
Последнее исправление: ving2 (всего исправлений: 4)
Ответ на: комментарий от log4tmp

а чем плох тот способ что по ссылке был? через фаервол?

#!/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

по идее он должен работать,

1.подключаешь впн

2.запускаешь фаервол

3. при разрыве трафик не пройдёт.

yewoxihuwi ()
Ответ на: комментарий от yewoxihuwi

Тебе нужен 1 канал через сетевую карту к vpn-серверу, а это скрипт режет все входящие/исходящие соединения, по логике у тебя коннект прервется с vpn(хотя хрен знает, что там в ufw напилили).

log4tmp ★★★★ ()
Ответ на: комментарий от yewoxihuwi

Хотя, я тебе немного недосказал.
1. Делаешь маршрут для vpn через eth/wlan
2. Настраиваешь vpn, который при подключении становится default route
3. Настраиваешь fw, который пропускает через обычный интерфейс трафик только до vpn

log4tmp ★★★★ ()

Прочитал эту тему.
Места достойные нашёл.

И пришел к выводу - решения проблемы не существует.
Потому что решение требуется на уровне кернела, а не примочек и файрволов.

blitz ()

Iptables, лол. Более надежного метода не знаю. Если надо правила - спрашивай, скину. Только это в случае если ip сервера известен - или самому тебе придётся скрипт для его получения писать, если он заранее неизвестен

anonymous ()
Ответ на: комментарий от yewoxihuwi

Ты в линуксе можешь трафик роутить в зависимости от пользователя и даже от конкретного процесса. Можешь своему впн-клиенту дать доступ и инет, а остальному - срезать. И хоть 1000 впн-серверов. Подобное только для tor можно подсмотреть в anonserf-e от дистрибутива parrot. Если тебе нужна такая безопасность, то посмотри на профильные дистрибутивы. Я рекомендую whonix.

anonymous ()

А как ты собираешься восстанавливать соединение если твой VPN сервер вернется в строй ? Вручную ? IMHO проще настроить подключение через прокси - т е настраиваешь прокси на VPS. Нет прокси - нет интернета

Jopich1 ()
Ответ на: комментарий от anonymous

> Ты в линуксе можешь трафик роутить в зависимости от пользователя и даже от конкретного процесса.
> Ты

Когда в дискуссии анонимусы переходят на личности диспутантов.
Покажи пример такого iptable rule(s) - with process pid involved, анонимный доброжелатель.

blitz ()