내 시스템에는 시작할 때 자체 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 인터페이스 구성을 제어하기 위한 사용자 작성 스크립트 옵션이나 옵션이 있어야 합니다.