Я использую Linux Debian x64. OpenVPN запущен и настроен.
Теперь я хочу отключить подключение к Интернету, когда мой VPN не работает или соединение прерывается.
Если вы понимаете, о чем я?
VPN работает -> подключение к Интернету
VPN не работает -> нет подключения к Интернету
Можно ли решить эту проблему с помощью iptables или каким должен быть лучший способ?
Обычно вы запускаете весь свой интернет-трафик через OpenVPN, когда он запущен, и, вероятно, не хотите, чтобы эта утечка через Интернет с открытым текстом, когда OpenVPN падает. Таким образом, это довольно просто: просто запретите любому трафику покидать ваш обычный интерфейс Ethernet (который, как я предполагаю, здесь eth0
), если только это не трафик OpenVPN (который, как я предполагаю, здесь UDP / 1194, измените соответствующим образом для TCP OpenVPN) или инфраструктурно необходимый (DNS, ICMP):
iptables -A OUTPUT -o eth0 -p udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -j DROP
Я знаю, что не весь ICMP нужен, но лично я не вижу вреда в разрешении запросов PING и ответов PONG; измените приведенные выше правила, если вы это сделаете. iptables
правила чувствительны к порядку, поэтому, если у вас уже есть правила в вашей цепочке OUTPUT, вам нужно позаботиться о том, чтобы разместить их в нужном месте.