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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Ubuntu 14.04 - правильная настройка VPN ! (Важно)  (Прочитано 10332 раз)

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

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Всем привет.

Настроил VPN. Скачал настроичный файл с сайта поставщика услуг.
Добавилось кучу возможных VPN подключений. Все работает и очень классно работает но есть одно "Но".
Если VPN лаганет, или я закрою крышку ноута, или он уснет, то после возвращения к работе VPN может не подняться, а инет все равно есть.
В условиях когда ты перенаправляешь весь трафик через VPN это не приемлемо. Тогда теряется вобще смысл в этом VPN.
На винде вопрос решался маршрутизацией. Главному соеденинению убирали адресс основного шлюза оставляя DNS (при manual конфиге адрессов конечно) и при помощи add route добавляли дорогу для VPN. Т.е. получалас схема когда при основном соеденении есть связь, но нет инета, а при подключении
VPN - инет появляется. Т.е. как только VPN лаганул - у тебя сразу отрубает инет. С одной стороны не очень удобно, а с другой очень надежно потому как знаешь что техника и софт на 100% отрабатывают вложеные в них деньги, время и силы.

Пробовал подобное реализовать ни Ubuntu, обрадовался увидел похожие менюшки и надписи... Нифига..(((
Даже если я у основного соединения забираю шлюз ( при ручном айпи)  - инет все равно ходит. т.е я вобще не пойму зачем нужна эта ручная настройка если походу работает дефолтный рут 0.0.0.0 который пускает весь трафик через себя.

Частично решил вопрос так:
выставил галку для основного соедениния "автоматически соединяться с VPN "таким то" при подключении этого соедения " - да, теперь со старта автоматически идет уже трафик с VPN и при закрытии открытии крышки идет реконект основного соедениния и VPN все время поднят.

Но где у меня гарантии что во время работы он не полагивает и не слетает -поднимается несколько раз за время рабочей сессии. Прошлый VPN сервис который я юзал ( довольно недешевый кстати) так постоянно делал. Т.е. за 24 часа он мог легко слететь и переконектится до 5 раз, и если бы на винде были дефолтные настройки маршрутизации то во время переконекта естественно светился бы реальный IP так как соединение шло бы по дефолтным маршрутам.

Короче, кто может, помогите одолеть здоровую параною, и выдать решение данной проблемы. )

Пользователь решил продолжить мысль [time]14 Ноябрь 2014, 20:28:01[/time]:
Я так понимаю вариантов ни у кого рабочих нет.

Пользователь решил продолжить мысль [time]15 Ноябрь 2014, 00:34:30[/time]:
Жалко, я думал мне тут смогут помочь.



P.s.

Хочу подчеркнуть, что данная тема очень важна тем кто сидит на "анонимном" VPN с default настройками, думая что их IP надежно спрятан. Нифига подобного, родные мои, когда ваш VPN сервак подлагивает или запинается, трафик летит по default маршруту и сразу же "палит" ваш реальный IP. Так что можеет платить хоть за Quad VPN - если не настроена правильно маршрутизация VPN - ничего путевого не будет. Проверено на практике.
« Последнее редактирование: 20 Ноябрь 2014, 21:04:03 от Kubun »

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #1 : 15 Ноябрь 2014, 04:15:16 »
IPv4 > Маршруты > Использовать только для локальной сети
И добавить там же маршрут к VPN-серверу.
Как-то так.

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #2 : 15 Ноябрь 2014, 05:10:29 »
IPv4 > Маршруты > Использовать только для локальной сети
И добавить там же маршрут к VPN-серверу.
Как-то так.

Можно подробней, пожалуйста.

Каждый рут работает до перезагрузки системы. Т.е. даже если IPv4 прописать что угодно и сохранить на время сессии оно будет работать как ни в чем не бывало.
Есть какой то метод применять изменения без перезагрузки системы?

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #3 : 15 Ноябрь 2014, 05:34:00 »
Там не нужно ничего перезагружать.
Максимум, рестарт сервиса network-manager, и то лишнее.

Настройка обоих подключений выполняется через GUI средствами nm-connection-editor.
Отредактировать нужно только маршруты основного подключения:
IPv4 > Маршруты > Использовать только для локальной сети
И добавить там же маршрут к VPN-серверу.
А потом переподключиться.

И вот ещё момент…
Если VPN-сервак по доменному имени, то нужно руками прописать маршруты до DNS.
А если имя сервака резолвится в несколько IP, то прописать маршруты для каждого из них.
« Последнее редактирование: 22 Ноябрь 2014, 09:25:26 от ArcFi »

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #4 : 15 Ноябрь 2014, 06:47:01 »
Дело в том, что у VPN куча локальных серваков по миру, и каждый из них меняет айпишники динамически.
Т.е. если делаешь ping - интернет адресс сервера, то каждые 5-10 минут он выдает разные адресса в терминале.
 
Я так понимаю нужно как то посмотреть вненший ip к которому надо именно коннектится и которому идет соединение по умолчанию.

Даже если я прописываю соеденинению несуществующие айпишники в ручном режиме, оно связывается с инетом и работает. ) Пока не ребутнеш ось.

Пользователь решил продолжить мысль 15 Ноябрь 2014, 07:01:28:
Меня интересуют аналоги в Ubuntu  виндовс команд:
1) route print
2) ip config

вторая поможе посмотреть фактический адресс к которому конектится VPN.
« Последнее редактирование: 15 Ноябрь 2014, 07:01:28 от Kubun »

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #5 : 15 Ноябрь 2014, 07:04:16 »
Когда IP много, вручную добавлять маршруты сложно.
Лучше будет использовать скрипт, типа такого:
Код: Bash
  1. #!/bin/bash
  2.  
  3. LAN_GW_ADDR="192.168.1.254"
  4. VPN_GW_NAME="vpn.example.org"
  5.  
  6. for VPN_GW_ADDR in $(dig -4 +short "$VPN_GW_NAME")
  7. do
  8.     ip route add "$VPN_GW_ADDR/32" via "$LAN_GW_ADDR"
  9. done
Дальше повесить на событие поднятия основного подключения.

Меня интересуют аналоги в Ubuntu  виндовс команд
ip a ; ip r
man ip
« Последнее редактирование: 22 Ноябрь 2014, 10:49:33 от ArcFi »

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #6 : 16 Ноябрь 2014, 01:10:09 »
Извините, так не доконца понмаю. ТОчнее вобще не понимаю.
Пробовал разными путями добавлять маршрут.

Расскажу все эпопею.

Дано.
Инет идет через Wi-Fi.

VPN - germany.privateinternetaccess.com - вчера его адресс был 178.162.205.29, сегодня он уже 141.8.225.80

Настрока самого Wi-Fi соединения.
Method- "Manual"

IP 192.168.1.183
Mask 255.255.255.0
Default Route - 191.168.1.1
DNS - 191.168.1.1

Захожу в Network Connections - Edit Connection - "Мой Wi-Fi" -IPv4 - убираю Gateway . Включаю-выключаю соединение  - Wi-fi коннектится но сам инет не ходит. Все правильно - основного шлюза он не видит.

Далее, в винде все что нужно сделать это:

route add 141.8.225.80 mask 255.255.255.255 192.168.1.1 -p

После этого VPN будет подниматься по клику на предварительно созданном в панели соеденений - VPN соединении.

Как эта строчка будет выглядеть в терминале Ubuntu?


P.s.

Пытался добавить Route с такими же как в строчке выше параметрами уже Wi-Fi соеденинение - нет. не работает так. Пробовал самому VPN прописать Route на Wi-Fi - типа 192.168.1.183 255.255.255.0 192.168.1.1

Не работает ни так ни так.

Работает только если полностью прописано вайфай соедение (как выше) + галка "автоматически коннектится к такому же VPN" но в этом случае что с VPN что без него - трафик есть. Т.е. толку от такого "секурного" VPN - как от козла молока.



ПОМОГИТЕ,а! )



Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #7 : 16 Ноябрь 2014, 04:24:56 »
Изменения, которые надо внести в приведённый выше скрипт:
Код: Bash
  1. LAN_GW_ADDR="192.168.1.1"
  2. VPN_GW_NAME="germany.privateinternetaccess.com"

Добавление скрипта в автозапуск при поднятии основного подключения:
http://help.ubuntu.ru/wiki/создание_скрипта_автозапуска#выполнение_скрипта_при_включенииотключении_сети

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #8 : 19 Ноябрь 2014, 01:13:40 »
Изменения, которые надо внести в приведённый выше скрипт:
Код: Bash
  1. LAN_GW_ADDR="192.168.1.1"
  2. VPN_GW_NAME="germany.privateinternetaccess.com"

Добавление скрипта в автозапуск при поднятии основного подключения:
http://help.ubuntu.ru/wiki/создание_скрипта_автозапуска#выполнение_скрипта_при_включенииотключении_сети


Так и не могу ничего решить с  VPN.

Что мне даст автоматическое выполнение скрипта, если у меня основноное соединение и так завязано на автоподнятие VPN. т.е. как только оно подключается, то подключается сразу же VPN.

Но мне надо НЕ ТАК.

Мне нужно, что бы ЛЮБОЕ подключение, независимо - кабель или wi-wi при подключении не могло выйти Intenet ( т.е. принимать\отправлять трафик) до тех пор, пока не будет активировано VPN соедение которое по руту обратится на main IP 192.168.1.1

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #9 : 19 Ноябрь 2014, 05:08:22 »
Мне нужно, что бы ЛЮБОЕ подключение, независимо - кабель или wi-wi при подключении не могло выйти Intenet
Для всех подключений, кроме VPN, выполнить:
IPv4 > Маршруты > Использовать только для локальной сети

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: Kill all internet traffic except VPN - настройка VPN.
« Ответ #10 : 19 Ноябрь 2014, 21:50:21 »
Значит сделал следущее:

1) Создал файл script.sh в папке /etc/network/if-up.d
в него добавил следущее содержание:

   
Цитировать
#!/bin/bash
     
    LAN_GW_ADDR="192.168.1.1"
    VPN_GW_NAME="us-california.privateinternetaccess.com"
     
    for VPN_GW_ADDR in $(dig -4 +short in "$VPN_GW_NAME")
    do
        ip route add "$VPN_GW_ADDR/32" via "$LAN_GW_ADDR"
    done

это калифонийский сервак.

Кстати, папка защищена от создания и копирования в нее файлов, поэтому пришлось плясать с бубном что бы создать там файл. ((

Далее:

Настрока самого Wi-Fi соединения.
Method- "Manual"

IP 192.168.1.183
Mask 255.255.255.0
Default Route - 191.168.1.1
DNS - 191.168.1.1

Захожу в Network Connections - Edit Connection - "Мой Wi-Fi" -IPv4 - убираю Gateway .
Добавляю Route 198.23.103.94 255.255.255.255 192.168.1.1
ставлю там же галку "Use this connection only for resources of this network"

Выключаю соединение, подключаю снова. Вайфай цепляется инета нет.
Выбираю VPN - Califirnia из списка и конектюсь. Ура инет есть.

Пезагружаю - логинюсь- делаю все то же самое - инета нет.
Пингую us-california.privateinternetaccess.com - у него уже другой адресс.
Вбиваю в рут другой адресс - нихрена не работает.

Подскажите, как посмотреть при включенном соединении, куда именно конектится мой комп к VPN?
Зашел проверить файл с скриптом - там уже ничего нет.Он пустой. Внес измнения от имени админа через Sudo Natilus .
Дисконект, ребут - нихрена не работает.

Мляяяяяяяя..... Как же я уже упоролся. (на форточках это делается в 2 тыка)  :'(

Сам сервис как я понял меняет свой внешний IP поэтому при пинговании он постоянно меняет свой IP в пределах зоны ( калифорнии)

Я думаю, что нужно каким то макаром посмотреть именно тот адресс к которому конектится именно мой комп, потому как этот адресс должен быть статичным.
Либо прописать так, что бы коннект шел не на IP а на адресс - us-california.privateinternetaccess.com но как система получит первичные данные по трафику если трафика должно не быть до тех пор пока не будет включено VPN соединение.


Спасибо за помощь, без вас бы совсем было туго, но проблема чистого VPN так и сохраняется.






Пользователь решил продолжить мысль [time]19 Ноябрь 2014, 23:05:49[/time]:
Заметил одну интересную вещь.
Если мне удается уловить "временны" IP на корый пингуется us-california.privateinternetaccess.com
и внести этот IP в Route, то все начинает работать как нужно.

Без VPN интернета нет, с VPN интернет есть! Ура ура! НО
Стоит перезагрузится или разорвать основное соединение и IP -us-california.privateinternetaccess.com меняется, и при таком раскладе, ессно VPN подняться не может а с ним и весь инет.
Приходится опять вбивать ручками gateway убирать галку с роута и тогда все это начинает работать.

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

Пользователь решил продолжить мысль [time]19 Ноябрь 2014, 23:14:32[/time]:
Т.е. что я пытаюсь уже как неделю спросить.

КАК посмотреть на Ubuntu IP подключенного VPN соединения.

На винде такой путь. когда VPN включен можно сдеать route print или зайти в свойства VPN соеденинеия и в разделе "Подробно" будет пункт - адресс назначения. Все. Он один и неизменный и отличается от того что пингуется через терминал. его вбиваем в route и будет счастье.

Как это посмотреть на Ubuntu?

Пользователь решил продолжить мысль [time]20 Ноябрь 2014, 00:54:39[/time]:
Пробовал команду

Цитировать
sudo tcpdump -n -i wlan0 net 192.168.1.0/24

Но все равно она показывает только те IP которые видны.
Т.е Destination address(адресс назначения) для VPN  оно так и не показывает.

Неужели в Linux нет опции что бы пропесочить реальный IP к которому нужно подключатся?

Пользователь решил продолжить мысль [time]20 Ноябрь 2014, 00:58:51[/time]:
Тот же самый эффект дает команда

Цитировать
tcpdump -n -i wlan0 net 192.168.1.161

Показывает обмен между сетевухой и динамическим IP VPN сервиса который постоянно меняется ( каждые 10 мин)



Пользователь решил продолжить мысль 19 Ноябрь 2014, 23:59:14:
Как быть подскажите?
« Последнее редактирование: 19 Ноябрь 2014, 23:59:14 от Kubun »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Значит сделал следущее:
1) Создал файл script.sh в папке /etc/network/if-up.d
Не script.sh, а script
Кстати, папка защищена от создания и копирования в нее файлов, поэтому пришлось плясать с бубном что бы создать там файл. ((
Это с непривычки. Но не просто создать, а ещё сделать исполняемым.
Код: Text
  1. ~$ sudo nano /etc/network/if-up.d/route
  2. ~$ sudo chmod +x /etc/network/if-up.d/route
Подскажите, как посмотреть при включенном соединении, куда именно конектится мой комп к VPN?
Код: Text
  1. ls /var/run/pptp/
« Последнее редактирование: 20 Ноябрь 2014, 00:50:33 от koshev »
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Цитировать
Значит сделал следущее:
1) Создал файл script.sh в папке /etc/network/if-up.d

Не script.sh, а script
 Это с непривычки. Но не просто создать, а ещё сделать исполняемым.
Код: Text
  1. ~$ sudo nano /etc/network/if-up.d/route
  2. ~$ sudo chmod +x /etc/network/if-up.d/route


Ок. Только как правильность написания скрипта решит вопрос того, что у us-california.privateinternetaccess.com меняется IP каждые 10 минут?

Мне даже в ручном режиме было бы вполне комфортно конектится к сети через VPN.
Не работает же собака, а еси и работает то ровно до первой смены IP.
Нужено просеять статический адресс этого ресурса, к которому идет коннект, при включенном VPN и тупо забить его в route.

Я нигде его не вижу. Вот в чем факт.
Консоль показыавет только IP тонелля, мои IP и тот IP который динамически меняется.
Т.е. Как то же система цепляется по имени ресурса us-california.privateinternetaccess.com к сетке?! Значит есть внутренний IP который СТАТИЧЕН.

Где го посмотреть можно на машине? Гребаная китайская грамота. Оно мне мля показывает в Connection information что у VPN соединения тот же адресс что и у Wi-Fi соединения с абслютно идентичными масками днс и гейтами. Ну писе... МЭНЕДЖЕР.. курам на смех. ((((



Цитировать
Код: Text
  1. ls /var/run/pptp/

Не работает. Такого пути нет в 14.04



Пользователь решил продолжить мысль [time]20 Ноябрь 2014, 07:02:58[/time]:
To all

Итак, решение вопроса начинает потихоньку вырисовываться.

Написал в тех. саппорт VPN сервиса. Они дали мне линк на софтину, которая имеет функциию VPN Kill Switch.

Вот ответ саппорта:

Цитировать
Here is a link to our linux beta client if you would like to try it.

https://www.privateinternetaccess.com/installer/download_installer_linux

From the terminal in the directory you downloaded to:

1) Extract file:
tar -xvf installer_linux.tar.gz

2) Tell OS to proceed:
chmod +x installer_linux.sh

3) Run installer:
./installer_linux.sh


Поставил. Софтина - АЛИЛУЯ, работает и делает ТО что мне и БЫЛО нужно.

Т.е. у нее есть функция выбора множесва локаций VPN и она сразу же рубит трафик при пропадании VPN.

Еще немаловажный плюс. Она показывает РЕАЛЬНЫЙ -destination IP на который подключается VPN.

Софтина работает, и вроде все бы то хорошо, но мне этого мало.
Софт находится на стадии бэты, и параметры настроек IPv4 для Wi-Fi остались полными, т.е.:

IP 192.168.1.183
Mask 255.255.255.0
Default Route - 191.168.1.1
DNS - 191.168.1.1


Если пытаешься убрать дефолтный гейтвэй в ноли ( как на винде сделано), то ЭТА прога перестает работать. Т.е. она вроде бы индикацию дает что работает, и с серваками своими вяжется, но инета на компе нет.

Что собственно меня напрягает. Софтина бэта и полагаться на нее в плане безопасности вобще нет смысла.
Только сегодня проверял свое соединение на винде. Общался с челом в скайпе, а он вел логирование.
При моем раскладе как на винде - светится только VPN адресс.
Сделали наоборот - у него квадВпн - а его родной адресс иногда проскакивает в логах, по причине того что VPN настроен через прогу, а не жестко по маршрутизации, и в моменты подлагивания VPN сервиса - трафиг прет через дефолтный route.

Поэтому софт софтом, но мне хотелось бы отладить все в ручном режиме так, что бы быть на 200% увереным что без VPN соединения никакой трафик не идет - и не надеяться ни на какие проги.


Сделал Route Ip через терминал.

Прога - добавляет постоянные маршруты после каждой попытки соединения с новой локацией.





Пользователь решил продолжить мысль 20 Ноябрь 2014, 20:11:19:
ВСЕ ЯСНО.
КОРОЧЕ НИКТО НИЧЕГО ТОЛКОМ НЕ ЗНАЕТ.  :-\
« Последнее редактирование: 20 Ноябрь 2014, 20:11:19 от Kubun »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27317
    • Просмотр профиля
Re: Ubuntu 14.04 - правильная настройка VPN ! (Важно)
« Ответ #13 : 21 Ноябрь 2014, 02:10:37 »
ВСЕ ЯСНО.
КОРОЧЕ НИКТО НИЧЕГО ТОЛКОМ НЕ ЗНАЕТ.  :-\
Потрясающий вывод. Апплодирую стоя.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Kubun

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: Ubuntu 14.04 - правильная настройка VPN ! (Важно)
« Ответ #14 : 21 Ноябрь 2014, 04:25:33 »
ВСЕ ЯСНО.
КОРОЧЕ НИКТО НИЧЕГО ТОЛКОМ НЕ ЗНАЕТ.  :-\
Потрясающий вывод. Апплодирую стоя.

Битую неделю ничего добиться не могу.
Причем по концовке оказывается что люди сидят либо на более старых версиях Убунты, либо вобще на Дебианах или Генту.

 

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