Strongswan 域名和后缀 DNS

Strongswan 域名和后缀 DNS

我已经在 CentOS 7 上配置了一个 Strongswan 服务器以适应移动办公的情况,并且它运行良好。

但我希望 Windows 10 客户端获取带有后缀 DNS 的域,但我没有找到任何方法。我尝试使用 WINS 服务器,但它没有达到我想要的效果。例如,当我尝试“nslookup my-server”时,我希望连接添加后缀以获得正确的结果。在实际情况中,nslookup 失败了。此外,使用的 DNS 不是 IPsec 传输的 DNS。

ipsec.conf:

    conn %default
            mobike=yes
            keyexchange=ikev2
            forceencaps=yes
            auto=add

    conn IKEv2-eap
            esp=aes256-sha1-modp1024!
            ike=aes256-sha384-modp1024!
            leftauth=pubkey
            leftfirewall=yes
            leftcert=gwCert.pem
            leftsubnet=0.0.0.0/0
            right=%any
            rightsourceip=10.3.0.1-10.3.0.50
            rightauth=eap-mschapv2
            eap_identity=%identity

strongswan.conf:

charon {
    load_modular = yes
            plugins {
                    include strongswan.d/charon/*.conf
                    attr {
                            dns = 134.158.128.2, 134.158.128.6
                            nbns = 134.158.130.183, 134.158.130.156
                    }
            }
    }

我有 OpenVPN,域名通过 VPN“传输”,我的 nslookup 运行正常。我想用 Strongswan 做同样的事情。

答案1

没有 IKEv2 配置属性来分配一组默认 DNS 后缀。

虽然有一个新的扩展(RFC 8598) 允许配置拆分 DNS(仅对指定域使用 VPN 分配的 DNS 服务器),它没有具体说明 DNS 后缀(我猜这取决于客户端是否也这样配置域)。

无论如何,该扩展不会对您有帮助,因为 Windows 目前不支持它。

不过,可以通过以下方式在客户端上手动设置单个 DNS 后缀Set-VpnConnection PowerShell 命令:

Set-VpnConnection -Name "ConnectionName" -DnsSuffix example.com

VPN 提供的 DNS 服务器未被使用的问题可能是 Windows 10 中的一个普遍问题(不知道是否与版本有关),例如superuser.com 上的这个问题,或者搜索“Windows 10 VPN DNS 泄漏”或类似内容。

答案2

虽然 IKEv2 配置负载 (CP) 中无法指定 DNS 后缀,但 Windows VPN 客户端在成功连接后会发送 DHCP 请求以获取各种 DHCP 选项。其中一个选项是选项 15 域名

使用 dnsmasq 使用 DHCP 服务器配置 DNS 后缀

您可以在运行 strongSwan 的同一台服务器上安装 dnsmasq。

  1. apt install dnsmasq

  2. 在以下位置创建配置文件/etc/dnsmasq.d/dnsmasq.conf

    port=0 # Disables DNS server
    domain=example.com
    

注意:dhcp-range如果您使用 strongSwan 分配 IP 地址,则无需进行配置。DHCP 服务器只能使用选项进行响应。

相关内容