我已按照以下教程使用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问题还是我的配置错误。谁可以解决这个问题,它会自动更新?
答案 0 :(得分:0)
不知道您是否已经解决了这个问题,但是我有一个解决方案。 我遇到了同样的问题,这是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
希望有帮助