Как может я блокировать трафик по Wi-Fi перед подключениями VPN?

Я хотел бы использовать VPN когда на общедоступном Wi-Fi для безопасности. Для установления моего туннеля OpenVPN, мне нужно рабочее сетевое соединение. Когда я соединяюсь с общедоступной точкой доступа Wi-Fi существует окно времени после соединения, но прежде чем мой клиент VPN запускается, соединяет и обновляет таблицу маршрутизации, во время который трафик от моих системных перемещений, незашифрованных по общедоступному Wi-Fi.

Как я могу заставить Wi-Fi не передавать трафик кроме трафика, предназначенного для моего сервера OpenVPN во время того окна времени?

Дополнительный кредит: существует ли способ добавить сети Wi-Fi в белый список, как доверяется (как мой дом или Wi-Fi работы) таким образом, что весь трафик позволяется, поскольку я не буду использовать VPN?

2
задан 4 May 2017 в 20:38

3 ответа

Большинство сервисов vpn предоставляют клиентов, которых вы можете использовать для их обслуживания. Эти клиенты обычно блокируют доступ к Интернету за пределами vpn. Когда вы запускаете компьютер, просто отключите Wi-Fi или Eth и подключитесь после запуска клиента. После запуска все блокируется.

Вам следует искать службу, которая публикует исходный код своего клиента, чтобы вы могли проверить, что именно он делает.

0
ответ дан 2 December 2019 в 09:04

Может быть, у меня есть решение для вас.

Создать скрипт в /etc/NetworkManager/dispatcher.d/vpn-up

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Ведьма означает, что если он не подключен к REQUIRED_CONNECTION_NAME, то есть домашний Wi-Fi Dispecher будет подключаться к vpn.

Это будет работать, только если вы используете NM для подключения VPN. Если вы не используете NM для соединения vpn, измените скрипт nmcli con up id "${VPN_CONNECTION_NAME}" с вашей командой для запуска соединения vpn.

0
ответ дан 2 December 2019 в 09:04

Я бы попробовал следующее с iptables, в следующем порядке:

# Allow dhcp
sudo iptables -A OUTPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT

# Allow outbound VPN traffic
sudo iptables -A OUTPUT -p udp --dport 1194 -d 0.0.0.0/0   -j ACCEPT" 

# DROP all outbound WIFI
sudo iptables -A OUTPUT -i wlan0 -j DROP

В офисной и домашней сети вам придется запустить:

# Accept all outbound traffic
sudo iptables -D OUTPUT -i wlan0 -j DROP

Может быть расширение iptables который будет фильтровать, используя SSID WIFI или какой-либо другой идентификатор маршрутизатора, но я не знаком ни с одним

ПРИМЕЧАНИЕ: вам может потребоваться обновить удаленный порт ovpn и/или имя сетевого интерфейса WIFI

1
ответ дан 11 August 2020 в 21:21

Другие вопросы по тегам:

Похожие вопросы: