Форум русскоязычного сообщества Ubuntu


Автор Тема: Правило для меняющегося VPN IP в UFW  (Прочитано 739 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NWay

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Правило для меняющегося VPN IP в UFW
« : 25 Января 2020, 19:39:05 »
Здравствуйте. Я использую VPN в Ubuntu с правилами UFW запрещающими утечку трафика в случае разрыва VPN соединения (так называемый kill switch).

sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow out on XYZ to XXX.XXX.XXX.XXX # где XXX - интерфейс сетевой карты, XXX.XXX.XXX.XXX - IP адрес VPN сервера
sudo ufw allow out on tun0 # разрешить исходящие для VPN интерфейса

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

Пожалуйста, помогите мне настроить UFW при условии, что каждый раз при включении VPN я получаю случайный, заранее не известный IP-адрес. Это вообще выполнимо?

Если это имеет значение, для настройки и подключения к VPN я использую конфигурационный файл *.ovpn импортированный в Network Manager.

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: Правило для меняющегося VPN IP в UFW
« Ответ #1 : 26 Января 2020, 14:14:30 »
В своё время решал проблему адресов вычленяя их из доменного имени в конфигурационном файле, в скриптах updown openvpn.
Код: (bash) [Выделить]
#!/bin/sh

# file /etc/openvpn/ip-up.d/00-ipset_addr

case $config in
    /etc/openvpn/my_client.conf)
        SNAME=$(awk '/^remote/{print $2}' $config)
        # use nslookup
        #ADDRS=$(nslookup ${SNAME} |awk '/^Address:/{print $2}' |grep -v '#')
        # use dig
        ADDRS=$(dig +short ${SNAME})
        ipset -F mytable
        for ipaddr in $ADDRS; do
            ipset -A $ipaddr
        done
    ;;
esac
В iptables определял правила для ipset и всё работало, но не знаю как Вам помочь в Вашем случае с NetworkManager.
« Последнее редактирование: 28 Января 2020, 03:48:19 от koshev »
OpenWrt 19.07

Оффлайн NWay

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Правило для меняющегося VPN IP в UFW
« Ответ #2 : 27 Января 2020, 23:55:28 »
После пары дней красноглазия я уже понял, что перед подключением мне нужно либо добавить в позволяющие правила вывод Nslookup от доменного имени ВПН сервера, либо при попытке подключения к серверы, выдергивать заблокированный ип из лога и инсертить в позволяющее правило. Я даже готов пожертвовать интерфейсом Network Manager и кликать на скрипты. Однако пока у меня недостаточно знаний для реализации.

upd. кстати по поводу Nslookup. В ответе он выдает только 10 ip привязанных к доменному имени ВПН сервера. Но я точно знаю, что там намного больше айпи. Как отобразить их все??
« Последнее редактирование: 27 Января 2020, 23:57:11 от NWay »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: Правило для меняющегося VPN IP в UFW
« Ответ #3 : 28 Января 2020, 03:46:29 »
Можно вместо nslookup dig попробовать.
dig +short namevpn.com
OpenWrt 19.07

Оффлайн NWay

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Правило для меняющегося VPN IP в UFW
« Ответ #4 : 28 Января 2020, 19:00:33 »
Можно вместо nslookup dig попробовать.
dig +short namevpn.com
только 10 ip : (

 

Страница сгенерирована за 0.048 секунд. Запросов: 25.