Клиент SoftEther при загрузке: AccountStartupSet и порядок демона
Клиент может запускаться чисто и всё же оставлять каждую учётную запись отключённой. Задайте флаг учётной записи, сначала запустите демон, затем проверьте адаптер и маршрут.
Перезагрузка машины снова оставляет её в сети с опущенным туннелем. Клиент SoftEther хранит два состояния, которые большинство людей считают одним: работает ли служба и разрешено ли сохранённой учётной записи подниматься вместе с ней. Оба должны быть истинны, а второе — флаг на уровне учётной записи, а не настройка загрузки. Выполните четыре проверки ниже по порядку и остановитесь на первой неудаче.
Убедитесь, что учётная запись отмечена для автозапуска
Флаг живёт в записи учётной записи внутри собственной конфигурации клиента, поэтому переустановка клиента или восстановление пустого каталога его стирает. Откройте консоль управления и посмотрите список учётных записей, прежде чем менять что-либо ещё.
cd /opt/softether/vpnclient
./vpncmd
Выберите 2 для управления клиентом VPN и примите локальный сервер нажатием Enter.
AccountStartupSet
office-hub
exit
AccountStartupSet записывает учётную запись как ту, которую нужно поднять при запуске службы клиента. Она не запускает службу и не создаёт новую учётную запись, а при неверном имени не печатает ничего полезного. Перечитайте список учётных записей после команды, потому что опечатка безмолвна и выглядит точно как флаг, который не вступил в силу.
Убедитесь, что служба запускается, и достаточно рано
В Linux клиент работает как демон из своего собственного каталога, и он должен быть поднят до того, как любой шаг загрузки попытается использовать учётную запись. Короткий хук, который меняет каталог и запускает его, достаточен в системах, где ещё выполняется rc.local.
cd /opt/softether/vpnclient
./vpnclient start
Там, где rc.local уже нет, напишите unit systemd с явным WorkingDirectory и политикой перезапуска. Бинарный файл разрешает свою конфигурацию относительно места запуска, поэтому unit без этой настройки может успешно запуститься и ничего не прочитать. Порядок — вторая половина проблемы: попытка подключения, выполняемая до того, как демон начал слушать, иногда срывается, и это гораздо труднее диагностировать, чем постоянный сбой. Политика перезапуска покрывает третий случай, когда демон тихо умирает через часы.
Проверьте список процессов, а не доверяйте pid-файлу, оставленному предыдущей загрузкой.
Убедитесь, что адаптер получил адрес
Как только учётная запись подключается, клиент представляет виртуальный адаптер, и адаптеру всё ещё нужен адрес. Концентратор с SecureNAT обычно отвечает на DHCP; концентратор, соединённый мостом с физической LAN, ожидает, что вместо этого ответит сервер этой LAN.
ip -brief address
dhclient vpn_vpn1
Возьмите имя интерфейса из списка, потому что число в примере не является константой. Если адрес должен быть статическим, поместите его в сетевую конфигурацию дистрибутива для этого интерфейса, чтобы он применялся повторно после события связи, а не только при загрузке. Одноразовый скрипт оставляет адаптер без адреса при первом повторном подключении туннеля в течение дня. Этот сбой выглядит как мёртвый туннель, хотя учётная запись в порядке.
Адаптер без адреса — самый тихий сбой в списке, поскольку учётная запись всё ещё сообщает о подключении.
Убедитесь, что маршрут ведёт туда, куда вы думаете
Трафик может не работать даже при здоровом соединении и действительном адресе. Спросите ядро, какой интерфейс оно использовало бы для назначения внутри подсети концентратора, затем сравните этот ответ с туннелем.
ip route get 10.10.20.15
Локальная подсеть, перекрывающая диапазон концентратора, побеждает, потому что её маршрут более конкретен и уже установлен.
Это решение о нумерации, а не ошибка клиента, и перезапуск службы его не изменит. Конфигурация резолвера — другая половина: адрес без работающего DNS-сервера даёт туннель, который проходит каждую проверку соединения и всё равно не может открыть имя.
Запишите четыре проверки в заметки о пересборке
Запишите вместе имя учётной записи, команду запуска службы и имя интерфейса, потому что пересобранный хост восстанавливает данные учётной записи, но не хук операционной системы, который запускает демон. Они живут в разных местах и обычно резервируются разными людьми.
Флаг — это одна строка, которую нужно применить повторно, и её легко забыть.
Соблюдайте порядок: флаг, служба, адрес, маршрут. Контрольный список, начинающийся с середины, даёт много уверенных неверных ответов.