Суть в том что на персональной машине надо сделать глухой файервол. Такой чтобы всё ходило только через ВПН и ни как иначе. При неработающем ВПН машина должна только уметь получить DHCP и подключиться к ВПН. Для решения взят openvpn на нем настроены сервера и доступ к нему сделан по портам 443 tcp и udp. Это чтобы из всяких вебкафе и аэропортов подключаться, попадаются такие что не дают по стандартному порту работать, а 443 открыт везде.
Таблицу маршрутизации система строит сама. Специально не правил. Там по дефолту все вроде красиво заворачивается и смысла править нет.
Вывод iptables -n -L -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2667 229K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
114K 33M ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 80 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:443
116K 40M ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:443
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 250 packets, 19762 bytes)
pkts bytes target prot opt in out source destination
2667 229K ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:68 dpt:67
30 6414 ACCEPT all -- * tun0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
118K 31M ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:443
Пропиши адрес и не мучь мозг, скажут мне, но проблема еще немного шире, фиксированного сервера ВПН нет. По адресу его прописать нет возможности. И конфигурация такая используется на нескольких машинах которые работают с разными серверами ВПН. Причем бывает даже так что пользователю надо по быстрому отрубить один ВПН и тут-же врубить другой. А некоторые пользователи на столько пользователи что мышь от клавы отличают пересчитывая кнопки.
В общем может кто-то подсказать куда копать в направлении решения этой проблемы? В первую голову нужна идея. Но если есть еще и готовое решение, вообще буду рад.
На всякий случай: система Mint 18.2 Cinnamon 64bit
P.S. За (ACCEPT all — * tun0 0.0.0.0/0 0.0.0.0/0) не ругайте. На реальной конфигурации длинная портянка с фиксированными портами, но для вопроса она как-бэ не важна.