首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CentOS7 :需要重新启动SoftEther VPN接口才能拥有静态IP

CentOS7 :需要重新启动SoftEther VPN接口才能拥有静态IP
EN

Unix & Linux用户
提问于 2017-11-17 10:56:22
回答 2查看 1K关注 0票数 0

我用SystemD启动我的VPN客户端(SystemD),我很难将静态IP分配到vpn客户端网络接口的本地接口。

这是我的SystemD配置:

代码语言:javascript
复制
    [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。

代码语言:javascript
复制
    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:

代码语言:javascript
复制
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"

我需要执行一个:

代码语言:javascript
复制
    ifdown vpn_softether && ifup vpn_softether

为了能够在接口上拥有我的静态IP:

代码语言:javascript
复制
    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

我会感谢你的一些建议:)

EN

回答 2

Unix & Linux用户

发布于 2017-11-17 12:37:30

添加:

代码语言:javascript
复制
/usr/local/vpnclient/vpnclient start
ifdown vpn_softether && ifup vpn_softethe

,然后引用在systemd服务文件中的ExecStart行上创建的脚本。

票数 0
EN

Unix & Linux用户

发布于 2017-11-17 12:39:23

谢谢拉曼!

这能帮到一个人,这就是诀窍。

修改后的systemD服务:

代码语言:javascript
复制
    [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

剧本:

代码语言:javascript
复制
    #!/bin/sh

    /usr/local/vpnclient/vpnclient start
    sleep 5
    ifdown vpn_cent
    sleep 5
    ifup vpn_cent
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/405216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档