openvpn-client не дружит с systemd-networkd

Всем привет.
Столкнулся со странной проблемой (странная потому, что без каких-то кастомизаций на одном ноуте проблемы нет, на другом есть): при старте openvpn-client, systemd-networkd мешает назначать IP адрес и маршруты. Если настроить сеть без systemd-networkd, то openvpn-client работает нормально. systemd-networkd настраивает адрес по DHCP на беспроводной контроллер для доступа в интернет - совершенно стандартная тема; openvpn-client цепляется к корпоративному серверу, получает маршруты до внутренних сетей, но назначить не может. Ниже подробности.
Запускаю openvpn так для примера:
/usr/bin/openvpn --suppress-timestamps --nobind --config corp.conf --verb 4
Он подключается, всё ОК, далее пишет:
-------
/usr/bin/ip link set dev tun0 up mtu 1500
/usr/bin/ip addr add dev tun0 local 10.200.200.18 peer 10.200.200.17
/usr/bin/ip route add 10.100.0.0/16 via 10.200.200.17
/usr/bin/ip route add 10.101.0.0/16 via 10.200.200.17
Error: Nexthop has invalid gateway.
ERROR: Linux route add command failed: external program exited with error status: 2
/usr/bin/ip route add 10.200.9.0/24 via 10.200.200.17
Error: Nexthop has invalid gateway.
----
Я гляжу - на tun0 никаких адресов не назначено. И вообще, видно, что сначала адрес и часть маршрутов даже назначилось, и потом адрес на tun0 пропал и маршруты уже не могут добавляться.

Пробую отключить systemd-networkd, настроить интернет вручную и запустить openvpn снова - запускается идеально.
В каталоге /etc/systemd/network только файл .network, относящейся к беспроводной сети, в котором [Match] содержит name=wlp7s0, думаю, это гарантирует от пересечением с tun0.

Подскажите, плз, куда копать.
impatt
invalid gateway.
сюда
Ошибки в тексте-неповторимый стиль автора©
indeviral
impatt
invalid gateway.
сюда
Не очень понял, что вы хотели сказать. Скажите поподробнее, плз.
а что у вас в в .network прописано? Указываете второй шлюз когда в 'ручную' подключаетесь.

ссылка
ссылка
Ошибки в тексте-неповторимый стиль автора©
indeviral
а что у вас в в .network прописано? Указываете второй шлюз когда в 'ручную' подключаетесь.

ссылка
ссылка
Насколько понял, это мимо.
Когда "вручную" - это значит, что я запускаю dhcpcd на wlp7s0, вот и вся ручная настройка.
В приведённых ссылках, как я понял, люди пытались менять или назначать default gw за пределами поключенного напрямую сегмента сети.
В моём случае предполагается два интерфейса:
1. Беспроводной (вайфай) - на него самым рядовым образом через DHCP навешивается сеть 192.168.0.0/24, default gw -
это всё работает.
2. Запускается openvpn, создаётся tun0, на него навешивается адресация, не пересекающаяся с адрсацией в wifi, вот что делает openvpn:
/usr/bin/ip link set dev tun0 up mtu 1500
/usr/bin/ip addr add dev tun0 local 10.200.200.18 peer 10.200.200.17
Далее, openvpn добавляет маршруты в корпоративную сеть, нумерация не пересекается ни с какими другими сетями:
/usr/bin/ip route add 10.100.0.0/16 via 10.200.200.17
/usr/bin/ip route add 10.101.0.0/16 via 10.200.200.17
и тд.
После старта openvpn я проверяю адрес на tun0: его там нет, кто-то удалил. Иногда это призрачное удаление происходит настолько шустро, что часть маршрутов в корпоративную сеть не может добавиться (в оригинальном посте).
Всех этих проблем нет, если настройку wifi делает не systemd-networkd, поэтому грешу на него.
Содержиме /etc/systemd/network/01-wireless.network:
----------
[Link]
Unmanaged=no

[Match]
name=wlp7s0

[Network]
DHCP=ipv4
Domains=domain.tld
DNS=8.8.8.8
UseDNS=no
--------

В общем, вот.
И ещё: если после старта openvpn я через некоторое время добавляю адреса и маршруты вручную - они добавляются и уже не исчезают.
да, сори что то-то я не туда глянул...
создайте:
/etc/systemd/network/90-tun-ignore.network
[Match]
Name=tun*

[Link]
Unmanaged=true
вообще это в wiki было где-то
Ошибки в тексте-неповторимый стиль автора©
indeviral
да, сори что то-то я не туда глянул…
создайте:
/etc/systemd/network/90-tun-ignore.network
[Match]
Name=tun*

[Link]
Unmanaged=true
вообще это в wiki было где-то
Да, я почти с этого и начал сам копать - только параметр Name приравнивал tun0, не tun*.
ОК, я создал снова этот файл с указанным вами содержимым, перезапустил systemd-networkd, запускаю openvpn - симптомы те же. То есть, не работает так, как нужно.
wiki
To verify that the changes took effect, start the previously problematic OpenVPN connection and run networkctl.
Ошибки в тексте-неповторимый стиль автора©
indeviral
wiki
To verify that the changes took effect, start the previously problematic OpenVPN connection and run networkctl.
[root@dell-mini ~]# networkctl
IDX LINK             TYPE               OPERATIONAL SETUP
  1 lo               loopback           carrier     configured
  2 enp5s0           ether              no-carrier  configuring
  3 wlp7s0           wlan               routable    configured
 22 tun0             none               degraded    configuring
Что нибудь из этой инфы можно извлечь ?
impatt
22 tun0 none degraded configuring
да что systemd-networkd по прежнему управляет tun0

p.s. интересно а почему у вас и lo в configured, так быть не должно.
Ошибки в тексте-неповторимый стиль автора©
 
Зарегистрироваться или войдите чтобы оставить сообщение.