Используйте systemd для запуска ppp в VLAN при загрузке

1348
Huckle

Я заменяю свой потребительский маршрутизатор / AP на окно linux. Мой потребительский маршрутизатор подключился к моему провайдеру через канал PPPoE в тегированной VLAN. У меня настроена рабочая настройка, где pppиспользуется устройство с тегами, enp7s0.201и оно работает нормально до перезагрузки. При перезагрузке pppпоявляется до того, как устройство VLAN создано, и оно немедленно умирает.

[me@router ~]$ sudo journalctl -b | egrep 'ppp|enp7s0' Feb 11 03:01:22 router kernel: r8169 0000:07:00.0 enp7s0: renamed from eth0 Feb 11 03:01:23 router systemd[1]: ppp@centurylink.service: Unit is bound to inactive unit sys-subsystem-net-devices-enp7s0.201.device. Stopping, too. Feb 11 03:01:23 router systemd-networkd[444]: /etc/systemd/network/enp7s0.201.netdev:5: Unknown section 'VLAN'. Ignoring. Feb 11 03:01:25 router systemd-networkd[444]: enp7s0.201: netdev ready Feb 11 03:01:25 router systemd-networkd[444]: enp7s0: IPv6 successfully enabled Feb 11 03:01:25 router kernel: r8169 0000:07:00.0 enp7s0: link down Feb 11 03:01:25 router kernel: r8169 0000:07:00.0 enp7s0: link down Feb 11 03:01:25 router kernel: IPv6: ADDRCONF(NETDEV_UP): enp7s0: link is not ready Feb 11 03:01:25 router systemd-networkd[444]: enp7s0.201: IPv6 successfully enabled Feb 11 03:01:25 router systemd-networkd[444]: enp7s0: Gained carrier Feb 11 03:01:25 router systemd-networkd[444]: enp7s0.201: Gained carrier Feb 11 03:01:25 router systemd-networkd[444]: enp7s0.201: Lost carrier Feb 11 03:01:26 router systemd-networkd[444]: enp7s0: Lost carrier Feb 11 03:01:27 router systemd-networkd[444]: enp7s0.201: Gained IPv6LL Feb 11 03:01:27 router systemd-networkd[444]: enp7s0: Gained carrier Feb 11 03:01:27 router kernel: r8169 0000:07:00.0 enp7s0: link up Feb 11 03:01:27 router kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp7s0: link becomes ready Feb 11 03:01:27 router systemd-networkd[444]: enp7s0.201: Gained carrier Feb 11 03:01:29 router systemd-networkd[444]: enp7s0: Gained IPv6LL Feb 11 03:01:32 router systemd-networkd[444]: enp7s0: Lost carrier Feb 11 03:01:32 router kernel: r8169 0000:07:00.0 enp7s0: link down Feb 11 03:01:32 router systemd-networkd[444]: enp7s0.201: Lost carrier Feb 11 03:01:35 router systemd-networkd[444]: enp7s0: Gained carrier Feb 11 03:01:35 router kernel: r8169 0000:07:00.0 enp7s0: link up Feb 11 03:01:35 router systemd-networkd[444]: enp7s0.201: Gained carrier 

Я удалил Before=network.targetиз ppp@.serviceфайла и вместо этого добавил раскрывающийся BindsTo=sys-subsystem-net-devices-enp7s0.201.device.

[me@router ~]$ sudo systemctl cat ppp@centurylink [sudo] password for me:  # /usr/lib/systemd/system/ppp@.service [Unit] Description=PPP link to %I #Before=network.target  [Service] ExecStart=/usr/sbin/pppd call %I nodetach nolog  [Install] WantedBy=multi-user.target  # /etc/systemd/system/ppp@centurylink.service.d/port-bind.conf [Unit] BindsTo=sys-subsystem-net-devices-enp7s0.201.device 

Однако, глядя на то, где pppdработает во время загрузки, это все еще задолго до того, когда enp7s0.201доступно.


РЕДАКТИРОВАТЬ: я идиот. Я забыл, что мне также нужно было After=sys-subsystem-net-devices-enp7s0.201.deviceвойти в систему.

0

0 ответов на вопрос