VPNクライアント(softEther)を起動するためにSystemD OS起動を使用していますが、VPNクライアントネットワークインターフェイスのローカルインターフェイスに静的IPを割り当てることができません。
これは私のSystemD設定です。
[Unit]
Description=SoftEther VPN Client
After=network.target auditd.service
ConditionPathExists=!/usr/local/vpnclient/vpnclient/do_not_run
[Service]
Type=forking
EnvironmentFile=-/usr/local/vpnclient/vpnclient
ExecStart=/usr/local/vpnclient/vpnclient start
ExecStop=/usr/local/vpnclient/vpnclient stop
KillMode=process
Restart=on-failure
# Hardening
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full
ReadOnlyDirectories=/
ReadWriteDirectories=-/usr/local/vpnclient/vpnclient
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SYS_NICE CAP_SYS_ADMIN CAP_SETUID
[Install]
WantedBy=multi-user.target
サービスを開始するとローカルインターフェイスが表示されますが、設定した静的IPはありません。
vpn_softether: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2ac:e9ff:fe7e:289e prefixlen 64 scopeid 0x20<link>
ether 00:ac:e9:7e:28:9e txqueuelen 1000 (Ethernet)
RX packets 12 bytes 864 (864.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 20 bytes 1632 (1.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
私は/etc/sysconfig/network-scripts/ifcfg-vpn_softetherです。
DEVICE="vpn_softether"
HWADDR="00:ac:e9:7e:28:9e"
ONBOOT="yes"
BOOTPROTO=static
NM_CONTROLLED="no"
IPADDR="10.38.0.50"
NETMASK="255.255.255.0"
以下を実行する必要があります。
ifdown vpn_softether && ifup vpn_softether
インターフェイスに固定IPを持つことができます。
vpn_softether: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.38.0.50 netmask 255.255.255.0 broadcast 10.38.0.255
inet6 fe80::2ac:e9ff:fe7e:289e prefixlen 64 scopeid 0x20<link>
ether 00:ac:e9:7e:28:9e txqueuelen 1000 (Ethernet)
RX packets 33 bytes 2506 (2.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 69 bytes 12308 (12.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
いくつかのヒントを教えていただきありがとうございます:)
答え1
次に追加:
/usr/local/vpnclient/vpnclient start
ifdown vpn_softether && ifup vpn_softethe
スクリプトに追加し、systemdサービスファイルのExecStart行から生成されたスクリプトを参照します。
答え2
ありがとうございます!
誰かに役立つことができ、ヒントがあります。
修正されたsystemDサービス:
[Unit]
Description=SoftEther VPN Client
After=network.target auditd.service
ConditionPathExists=!/usr/local/vpnclient/vpnclient/do_not_run
[Service]
Type=forking
EnvironmentFile=-/usr/local/vpnclient/vpnclient
ExecStart=/usr/local/vpnclient/restart_vpn_eth.sh
ExecStop=/usr/local/vpnclient/vpnclient stop
KillMode=process
Restart=on-failure
# Hardening
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full
ReadOnlyDirectories=/
ReadWriteDirectories=-/usr/local/vpnclient/vpnclient
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SYS_NICE CAP_SYS_ADMIN CAP_SETUID
[Install]
WantedBy=multi-user.target
そしてスクリプト:
#!/bin/sh
/usr/local/vpnclient/vpnclient start
sleep 5
ifdown vpn_cent
sleep 5
ifup vpn_cent