有人有配置 Cisco AnyConnect VPN 的经验吗?通过 VPN 连接时,客户端 DNS 名称解析出现问题。
在我看来,Cisco AnyConnect VPN 客户端似乎拦截了来自客户端的 DNS 查询。
- 有人可以确认 AnyConnect VPN 客户端确实这样做(拦截 DNS 流量)吗?
- 这在 VPN 服务器上的哪里配置?
编辑:
当我连接到 VPN 时,路由表的变化如下:
[~]
$ diff -u /tmp/route_normal /tmp/route_vpn
--- /tmp/route_normal 2010-01-20 19:23:47.000000000 +0100
+++ /tmp/route_vpn 2010-01-20 19:24:46.000000000 +0100
@@ -1,6 +1,10 @@
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
+xxx.xxx.xx.xx.i 10.0.0.1 255.255.255.255 UGH 0 0 0 ath0
172.16.53.0 * 255.255.255.0 U 0 0 0 vmnet1
10.0.0.0 * 255.255.255.0 U 0 0 0 ath0
+172.17.20.0 * 255.255.255.0 U 0 0 0 cscotun
0
+192.168.111.0 172.17.20.212 255.255.255.0 UG 0 0 0 cscotun
0
172.16.140.0 * 255.255.255.0 U 0 0 0 vmnet8
+172.16.0.0 172.17.20.212 255.255.0.0 UG 0 0 0 cscotun
0
default 10.0.0.1 0.0.0.0 UG 0 0 0 ath0
编辑2:
IT 人员在 VPN 端点上做了“一些事情”。现在我在做nslookup
. DNS 服务器启用了递归。所以肯定是 Cisco VPN DNS 拦截搞砸了。
ubuntu@domU-12-31-39-00-ED-14:~$ /opt/cisco/vpn/bin/vpn connect xxx.xxxxxx.xx
...
>> Please enter your username and password
...
>> notice: Establishing VPN...
>> state: Connected
>> notice: VPN session established to ...
ubuntu@domU-12-31-39-00-ED-14:~$ nslookup www.vg.no
;; Got recursion not available from ..., trying next server
;; Got recursion not available from ..., trying next server
;; Got recursion not available from ..., trying next server
;; Got recursion not available from ..., trying next server
Server: 172.16.0.23
Address: 172.16.0.23#53
** server can't find www.vg.no.compute-1.internal: REFUSED
ubuntu@domU-12-31-39-00-ED-14:~$ ping 195.88.55.16
PING 195.88.55.16 (195.88.55.16) 56(84) bytes of data.
64 bytes from 195.88.55.16: icmp_seq=1 ttl=240 time=110 ms
64 bytes from 195.88.55.16: icmp_seq=2 ttl=240 time=111 ms
64 bytes from 195.88.55.16: icmp_seq=3 ttl=240 time=109 ms
^C
--- 195.88.55.16 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2017ms
rtt min/avg/max/mdev = 109.953/110.379/111.075/0.496 ms
正如评论中提到的,首先弄清楚你的分割隧道(路由)。端点(集中器、ASA、PIX 等)管理员通常可以完全控制客户端如何处理此问题;有些公司只会通过隧道传输他们的网络(因此您客户的 DNS 将通过 ISP),而有些公司则需要通过链路传输所有流量(因此 DNS 会通过链接到公司)。大多数时候,这是一个业务/IT 决策。
在客户端的路由表上达到峰值,查看网关等的外观以及流量在其特定实例中的路由位置,为您的调试提供起点。然后,您可以尝试从客户端对公共资源(即 Google 的新 DNS 事物)进行直接 DNS 查询以查看结果是什么,同时使用 TCPview(如果您的客户端是 Windows)类型的软件来观察位飞来飞去。
当您的 DNS 请求到达内部 DNS 服务器时,检查正在使用的明显源 IP 地址。
服务器可能已配置为仅为来自已知内部 IP 地址的请求提供递归服务,否则仅为托管在同一服务器上的某些域名提供权威服务。
如果您的 DNS 请求似乎来自一个网外 IP 地址,那么他们只会得到权威的答案,而不会得到递归的答案。