Comments 18
Большинство ip адресов подверглись жестокой обфускации
Адреса из пулов для частных сетей и тестирования читались бы легче и не описывали бы что либо конфиденциальное. Ну, или указывать какой IP к какой сети принадлежит (wan/lan/vpn).
- 192.0.2.0/24 — для описания WAN
- 198.18.0.0/15 — для описания WAN (предназначена для тестирования оборудования)
- 192.168.0.0/24 — для описания LAN
- 172.16.0.0/12 — для описания LAN
- 10.0.0.0/8 — для описания LAN
Он и для openconnect есть, но у меня не завёлся. Почему я не понял, а теперь я считаю, что у велосипеда, который я собрал есть определённые достоинства. ))
Их нет. Поставьте totp (консольный гуглаутентификатор) и настройте нормально networkmanager. Ну и пароль добавьте в ключницу вашего DE, после чего добавьте в автозагрузку скрипт через пользовательский юнит файл системд в домашней директории при логине, с автореконнектом. Ключинца по умолчанию разблокируется когда ваша сессия активна.
Их нет.
В статье их нет. А дальше вы собственно сами их перечислили )).
и настройте нормально networkmanager
Что вы имеете в виду под нормальной настройкой? Пока что я обернул скрипт модулем systemd, который запускается после поднятия сети.
Ну и пароль добавьте в ключницу вашего DE
Спасибо за совет! Значительную часть ваших рекомендаций я уже использую, но ключница у меня там не участвует. Вы предлагаете положить в ключницу пароль от впн, то есть его фиксированную часть? И можно будет использовать его как переменную в скрипте?
Что вы имеете в виду под нормальной настройкой?
Открыть логи journalctl и посмотреть там причины сбоев в работе openconnect из networkmanager. Настроить использования сети впн только для ресурсов за впн (галочка в гуях нетворкменеджера).
И можно будет использовать его как переменную в скрипте?
Да.
Но если я буду использовать графический интерфейс то у меня же не получится дёргать скрипт с помощью systemd.
Вы хотите сказать, что графический интерфейс нужно использовать для того, чтобы диагностировать проблему, а дальше сделать всё скриптами, только запускать openconnect надо с помощью NetworkManager, а не напрямую, как я делаю сейчас?
Что тут произошло, мне не понятно. Но эксперимент показывает, что если добавить в /etc/resolv.conf строку
А вас не смущает, то что в файле явно сказано, что менять его не стоит…
Правьте хотя бы тут: /etc/systemd/resolved.conf
после изменений: systemctl restart systemd-resolved.service
Ещё у openconnect есть штатный механизм для обработки этих header-ов, называется vpnc-script, если запустить openconnect c --script /usr/share/vpnc-scripts/vpnc-script (значение по умолчанию) не передавая никаких параметров, то он и resolv.conf поправит (или dnsmasq) и роуты нужные добавит на основании данных от VPN. Но, вероятно, в вашей версии Ubuntu что-то идёт не так, у меня на 16.04 и 18.04 всё ок.
Пример заголовков:
X-CSTP-DNS: nameserver1
X-CSTP-Split-Exclude: 0.0.0.0/255.255.255.255
X-CSTP-Split-Include: 172.14.24.0/255.255.255.0
…
Какое-то переизобретение велосипеда.
Типа того. Я утешаю себя тем, что это многому меня научило.
Предположу, что у пользователей с Windows и MacOS нет такой проблемы с роутами.
Да, у них нет проблем.
Это значит, что они отдаются сервером в виде HTTP Header-ов
Попробовал, да, всё так. Большое спасибо, уверен в будущем это поможет мне не нащупывать маршруты вслепую ))
Но, вероятно, в вашей версии Ubuntu что-то идёт не так, у меня на 16.04 и 18.04 всё ок.
Я пробовал с нескольких разных машин, до сих пор проблема воспроизводилась везде.
Увы но на маке и Винде работа с впн намного хуже, как только я распробовал нетворкменеджер Линукс стал единственным инструментом который автоматически поднимает мне туннели любого вида куда нужно, при этом не обрывая интернет и не гоняет лишний трафик по туннелям если админы впн косорукие.
Наши админы например решили пушить dafault gw через vpn. Так как мне такая радость нафиг не нужна, пришлось кинуть скрипт в /etc/vpnc/post-connect.d/ чтобы оно его назад вернуло и прописало только нужные через тунель.
dns у меня свой локальный настроен — просто настроил форвард для рабочей зоны.
Оригинальный какой-то капризный, и anyconnect и старый cisco vpnclient
У меня не взлетел оригинальный, а потом не взлетел gui интерфейс для openconnect. Я погуглил, проблема с оригинальным клиентом возникает у многих, проблема с gui возникает реже, но так как получилось настроить консольные скрипты, я не стал разбираться отчего возникла проблема с gui.
Отличная статья)
Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice