Объявление

Свернуть
Пока нет объявлений.

Инструкция как запретить трафик в обход VPN в линуксе

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Инструкция как запретить трафик в обход VPN в линуксе

    При использовании ВПН появляется вопрос, как предотвратить утечки трафика при загрузке ПК, а так же в случае обрыва коннекта.


    Рассказывать как настроить сам ВПН не буду, предположим вы используете ubuntu и настроили network gnome manager для управления впн коннектами из интерфейса.


    Для запрета трафика в обход ВПН нужно настроить правила iptables.

    # для начала удаляем все существующие правила
    sudo iptables -F && sudo iptables -t nat -F

    # разрешаем трафик в локальной сети
    sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
    sudo iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT

    где 192.168.1.0 ваш локальный ip адрес выданный например при подключении к wifi.
    Узнать можно выполнив команду ifconfig
    в выводе смотрите строки
    wlan0 Link encap:Ethernet HWaddr c8:60:00:b5:48:fd
    inet addr:192.168.1.26 Bcast:192.168.100.255 Mask:255.255.255.0


    # ТУт разрешаем замыкание на себя
    sudo iptables -A INPUT -i lo -j ACCEPT
    sudo iptables -A OUTPUT -o lo -j ACCEPT

    #Разрешаем трафик DNS до серверов провайдера впн
    #вместо днс сервера провайдера можно указать днс сервер гугла 8.8.8.8
    sudo iptables -A INPUT -s 209.222.18.222 -j ACCEPT
    sudo iptables -A OUTPUT -d 209.222.18.222 -j ACCEPT

    #wifi страница авторизации (если вы из публичного вай фай), разрешаем туда доступ без впн
    """""
    sudo iptables -A INPUT -s startwifi.beeline.ru -j ACCEPT
    sudo iptables -A OUTPUT -d startwifi.beeline.ru -j ACCEPT
    """""


    #Разрешаем VPN
    sudo iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT
    sudo iptables -A INPUT -p udp --sport 1194 -j ACCEPT

    #Разрешаем хосты впн, если в качестве адреса используется не хост, если ip этот пункт пропустить
    sudo iptables -A INPUT -s singapore.privateinternetaccess.com -j ACCEPT
    sudo iptables -A OUTPUT -d singapore.privateinternetaccess.com -j ACCEPT
    sudo iptables -A INPUT -s malaysia.privateinternetaccess.com -j ACCEPT
    sudo iptables -A OUTPUT -d malaysia.privateinternetaccess.com -j ACCEPT

    #Разрешаем впн тунели
    sudo iptables -A OUTPUT -o tun0 -j ACCEPT
    sudo iptables -A INPUT -i tun0 -j ACCEPT

    #Запрещаем все остальное что не указанно в правилах
    sudo iptables -P INPUT DROP
    sudo iptables -P OUTPUT DROP
    sudo iptables -P FORWARD DROP

    Эти правила сохранятся до перезагрузки ПК, чтобы они сохранились после перезагрузки, можно воспользоваться пакетом iptables-persistent

    Для Ubuntu можно установить так:
    sudo apt-get install iptables-persistent

    команды для сохранения правил
    sudo service iptables-persistent save
    sudo service iptables-persistent start
Обработка...
X