LINUX.ORG.RU

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

 , , ,


0

2

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

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



Последнее исправление: yewoxihuwi (всего исправлений: 3)

Совсем радикально: 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)

Кури man по iptables. Разрешаешь через eth/wlan интерфейс хождение пакетов только для openvpn, остальной трафик пускаешь по tun интерфейсу.

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

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

#!/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 байт. Покинул твой хост.

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

ну это не проблема...

на следующем шаге кроме впн и не запущено ничего, если оборвется то все ок

просто я не понимаю твой способ, второй день за линуксом :(

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

Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter Kernel driver in use: e1000 Kernel modules: e1000

это?

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

я не знаю что это за менеджер, там нету сведений... стандартный от kali linux

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

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

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

да не, не прерывается, коннект остается по tun0

ведь tun0 это vpn соединение в ifconfig

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

Да. Можешь в ipset таблицу создать со списком, если у тебя несколько сереров между которыми переключаешься.

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

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

Deleted
()

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

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

blitz
()

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

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

Только это не прервать, а просто не дать пакетам на другой ип уйти

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

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

anonymous
()

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

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

Да, разделяй и влавствуй!
Кернел - исполнительный орган, ufw вышеупомянутый - rules/законодательный.

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

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

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

blitz
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.