You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下配置StrongSwan VPN时的DNS服务器自动设置问题

Ubuntu 22.04下配置StrongSwan VPN时的DNS服务器自动设置问题

我最近正从Windows转用Linux,还是个纯新手,要是问题有点宽泛还请多包涵——Linux系统的庞大体量真的让我有点手足无措。

我有一台防火墙,想通过VPN连接到它,这样就能访问防火墙背后局域网里的资源了。这台防火墙同时也充当DNS服务器,我的其他设备(Windows和Android)连接VPN后都能正常使用防火墙的内部IP作为DNS,完全没问题。

我理解这应该属于Linux里的*Road Warrior(漫游用户)*场景对吧?

我已经通过/etc/ipsec.conf和相关配置文件搭建好了StrongSwan,现在能成功连接VPN,也能访问局域网和外部网络的资源。但有个问题:连接VPN后,系统的DNS服务器并没有自动切换到VPN配置的那个(也就是防火墙的本地IP)。我觉得StrongSwan肯定有办法自动搞定这个,毕竟我的其他设备都能做到,所以想请教下该怎么配置才能让Linux也自动切换DNS呢?


问题原因分析

Ubuntu 22.04默认用systemd-resolved管理DNS配置,而StrongSwan本身不会直接修改系统的DNS设置,得靠额外配置或者工具来实现自动推送和切换,这就是为啥你其他设备能自动切换,Linux却不行的核心原因。

具体解决方案

给你两种常用的方法,选顺手的来就行:

方法一:用StrongSwan自带的DNS插件配置

这是最简单的方式,直接用StrongSwan的内置插件来推送DNS:

  1. 打开StrongSwan的主配置文件/etc/strongswan.conf,找到charon区块,添加或修改成以下内容:
charon {
    plugins {
        dns {
            enable = yes
            server = 192.168.1.1  # 替换成你的防火墙内部IP地址
            priority = 200  # 设置高优先级,确保VPN的DNS优先被使用
        }
    }
}
  1. 保存配置后,重启StrongSwan服务让设置生效:
sudo systemctl restart strongswan-starter

方法二:用resolvconf工具配合脚本实现

如果第一种方法没达到预期效果,试试这个更灵活的脚本方式:

  1. 先安装resolvconf工具,它能帮我们管理DNS配置的切换:
sudo apt install resolvconf
  1. 打开你的VPN连接配置文件(要么在/etc/ipsec.conf的conn段,要么在/etc/ipsec.d/目录下的单独配置文件),在对应的连接配置中添加一行:
conn my-vpn
    # 这里保留你原来的其他配置项,比如left、right、ike等
    leftupdown=/etc/ipsec.d/updown.sh
  1. 创建/etc/ipsec.d/updown.sh脚本文件,复制以下内容(记得替换防火墙IP):
#!/bin/bash
case "$PLUTO_ACTION" in
    up)
        # 连接VPN时添加防火墙DNS到系统配置
        echo "nameserver 192.168.1.1" | sudo resolvconf -a tun.$PLUTO_CONNECTION
        ;;
    down)
        # 断开VPN时移除VPN的DNS配置
        sudo resolvconf -d tun.$PLUTO_CONNECTION
        ;;
esac
exit 0
  1. 给脚本添加执行权限,否则无法运行:
sudo chmod +x /etc/ipsec.d/updown.sh
  1. 最后重启StrongSwan服务:
sudo systemctl restart strongswan-starter

验证配置是否生效

连接VPN后,你可以用以下命令查看当前的DNS配置,确认是否已经切换到防火墙的IP:

resolvectl status

也可以查看/etc/resolv.conf文件,但Ubuntu 22.04中这个文件是软链接到systemd-resolved的配置,所以用resolvectl查看的结果更准确。


备注:内容来源于stack exchange,提问作者HCL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 08:04:43