2

我按照本教程使用 strongswan 构建了一个 vpn 服务器: https ://raymii.org/s/tutorials/IPSEC_vpn_with_CentOS_7.html

服务器位于转发所需端口的路由器后面。在 vpn 服务器上,有一些应用程序在 nginx 和 java 上运行,所以我使用 dnsmasq 将一些域名转发到同一台服务器。

服务器 ipsec.conf 是:

# ipsec.conf - strongSwan IPsec configuration file

config setup
    charondebug="ike 4, knl 4, cfg 4, net 4, esp 4, dmn 4,  mgr 4"

conn %default
    keyexchange=ikev2
    ike=aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-modp1536,aes128-sha256-modp2048,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1$
    esp=aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1,aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-mo$
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftsubnet=0.0.0.0/0,::/0
    leftcert=vpnHostCert.der
    right=%any
    rightsourceip=10.1.1.0/24
    rightdns=192.169.1.100 #vpn servers local ipaddress

conn IPSec-IKEv2
    keyexchange=ikev2
    auto=add

conn IPSec-IKEv2-EAP
    keyexchange=ikev2
    rightauth=eap-tls
    rightsendcert=never
    eap_identity=%any
    auto=add

conn CiscoIPSec
    keyexchange=ikev1
    rightauth=pubkey
    rightauth2=xauth
    auto=add

问题是当我使用 ubuntu 19.04 连接到 vpn 服务器时,/etc/ resolve.conf文件没有更新。而且我的流量没有正确路由。我需要每次手动编辑它才能使用 vpn。如果我连接或断开连接解决文件更改:

# Generated by NetworkManager
nameserver 127.0.0.53

如果我手动将其更改为:

# Generated by NetworkManager
nameserver 127.0.0.100

一切正常。

在 Windows 10 和 android 上(使用 strongswan 应用程序)它运行良好,无需任何修补。

这是ubuntu的问题,还是我的配置错误。我可以解决这个问题,它会自动更新吗?

4

1 回答 1

1

不知道你有没有想到这个,但我有一个解决方案。我遇到了同样的问题,这是 Ubuntu 处理 DNS 解析的事实。

要修复它,我必须禁用 systemd-resolved 并使用默认的 dns 系统。所以:

1 - sudo systemctl disable systemd-resolved
2 - sudo systemctl stop systemd-resolved

3 - nano /etc/NetworkManager/NetworkManager.conf
    [main] #add following line
    dns=default

4 - rm /etc/resolv.conf
5 - reboot

希望能帮助到你

于 2020-04-07T14:14:13.883 回答