サービスによって生成されたTAPインターフェイスが開始されたことを確認するスクリプト

サービスによって生成されたTAPインターフェイスが開始されたことを確認するスクリプト

私のシステムには、起動時に独自のTAPインターフェイスを作成および停止したときに削除するSoftEther VPNサービスがあります。ただし、VPN で DHCP が実行されている場合でも、TAP は独自の IP が表示されたときに設定せず、ifcfg特定のファイルに設定された静的 IP も設定しません。ただし、実行またはdhclient実行するとifupifcfg現在)DHCP IPが設定されます。

私の質問は、インターフェイスが実行されているdhclientifupどうかを監視するスクリプトをどのように書きますか?

ベストアンサー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

おすすめ記事