Сценарий, чтобы определить, активирован ли интерфейс TAP, созданный службой

В моей системе есть служба SoftEther VPN, которая создает собственный интерфейс TAP при запуске и удаляет ее, когда она останавливается. Но даже с DHCP, работающим в VPN, TAP не настраивает свой собственный IP-адрес, когда он появляется, или статический IP-адрес, сконфигурированный в файле ifcfg специфичном для него. Тем не менее, он настраивает IP-адрес DHCP, если я делаю dhclient или запускаю ifupifcfg present).

Мой вопрос в том, как я могу контролировать скрипты, если интерфейс запущен, и запускать либо dhclient либо ifup , в зависимости от того, что мне нужно?

  • Проблемы разрешения. Не удается получить почтовые сообщения в почтовых ящиках из dovecot
  • Файлы в папке / run / udev / data
  • Не удалось запустить команду sudo на linux
  • Почему мне нужно установить какой-либо файл в качестве исполняемого файла?
  • CentOs 7 - MobaXterm - X11 Переадресация на одного пользователя
  • 2 Solutions collect form web for “Сценарий, чтобы определить, активирован ли интерфейс TAP, созданный службой”

    Как и в Centos7, я разрешил его с помощью sysmtemd-networkd. Это прослушивание всех сетевых устройств, которые вы указываете на / etc / systemd / network /

    Например, 20-static-tap_clients.network выглядит так:

     [Match] Name=tap_clients [Network] Address=192.168.103.1/24 

    Изменение tap_clients с вашим именем интерфейса адаптера и изменение IP-адреса для tap_clients IP-адреса.

    Вы должны отключить службу NetworkManager и включить systemd-networkd. Что же касается softether, я также создал файлы единиц и поместил их в / usr / lib / systemd / system

    softether-vpnserver.service

     [Unit] Description=SoftEther VPN Server After=network.target auditd.service ConditionPathExists=!/opt/vpnserver/do_not_run [Service] Type=forking EnvironmentFile=-/opt/vpnserver ExecStart=/opt/vpnserver/vpnserver start ExecStop=/opt/vpnserver/vpnserver stop KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target Alias=softether-vpnserver.service 

    softether-vpnbridge.service

     [Unit] Description=SoftEther VPN Bridge After=network.target auditd.service ConditionPathExists=!/opt/vpnbridge/do_not_run [Service] Type=forking ExecStart=/opt/vpnbridge/vpnbridge start ExecStop=/opt/vpnbridge/vpnbridge stop KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target Alias=softether-vpnserver.service 

    и softether-vpnclient.service

     [Unit] Description=SoftEther VPN Client After=network.target auditd.service ConditionPathExists=!/opt/vpnclient/do_not_run [Service] Type=forking EnvironmentFile=-/opt/vpnclient ExecStart=/opt/vpnclient/vpnclient start ExecStop=/opt/vpnclient/vpnclient stop KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target Alias=softether-vpnclient.service 

    Вы можете наблюдать за интерфейсом в цикле while следующим образом:

     #!/bin/sh trap exit 1 2 15 while true; do if [ "$(ip l | fgrep IFACE: | wc -l)" -gt 0 ]; then # run dhclient/ifup for your IFACE here break fi sleep 1 done 

    Но я надеюсь, что SoftEther VPN может настроить интерфейс TAP, должна быть опция для скрипта, который пользователь пишет, или параметры, которые управляют конфигурацией интерфейса TAP где-нибудь, в файлах конфигурации или gui программы.

    Linux и Unix - лучшая ОС в мире.