서비스에서 생성된 TAP 인터페이스가 시작되었는지 확인하는 스크립트

서비스에서 생성된 TAP 인터페이스가 시작되었는지 확인하는 스크립트

내 시스템에는 시작할 때 자체 TAP 인터페이스를 생성하고 중지할 때 삭제하는 SoftEther VPN 서비스가 있습니다. 그러나 VPN에서 DHCP가 실행되는 경우에도 TAP는 자체 IP가 나타날 때 구성하지 않으며 ifcfg특정 파일에 구성된 고정 IP도 구성하지 않습니다. 그러나 실행하거나 dhclient실행 하면 ifup( ifcfg현재) DHCP IP가 구성됩니다.

내 질문은 인터페이스가 실행 중인지 dhclient또는 ifup원하는지 모니터링하는 스크립트를 어떻게 작성합니까?

답변1

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 주소를 원하는 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

답변2

다음과 같이 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 인터페이스를 구성할 수 있기를 바랍니다. 프로그램의 구성 파일이나 GUI에는 TAP 인터페이스 구성을 제어하기 위한 사용자 작성 스크립트 옵션이나 옵션이 있어야 합니다.

관련 정보