
Есть ли у кого опыт настройки Cisco AnyConnect VPN? У нас проблема с разрешением DNS-имен клиентов при подключении через VPN.
Мне кажется, что клиент 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-серверах включена рекурсия. Так что, должно быть, это перехват DNS Cisco VPN все портит.
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
решение1
Как упоминалось в комментарии, сначала определитесь с раздельным туннелированием (маршрутизацией). Администратор конечной точки (концентратор, ASA, PIX и т. д.) обычно полностью контролирует, как клиент будет с этим справляться; некоторые компании туннелируют только свою сеть (так что DNS вашего клиента будет проходить через интернет-провайдера), а некоторые требуют туннелирования всего трафика по каналу (так что DNS будет проходить по каналу в корпоративную сеть). В большинстве случаев это решение бизнеса/ИТ.
Просмотрите таблицу маршрутизации на клиенте и посмотрите, как выглядят шлюзы и т. п., и куда направляется трафик в их конкретном экземпляре, чтобы предоставить начальную точку для отладки. Затем вы можете попробовать прямые DNS-запросы от клиента к публичному ресурсу (например, новая штука DNS от Google), чтобы увидеть результаты, используя программное обеспечение типа TCPview (если ваш клиент — Windows), чтобы наблюдать за тем, как летают биты.
решение2
Проверьте, какой явный исходный IP-адрес используется, когда ваши DNS-запросы поступают на внутренний DNS-сервер.
Вероятно, сервер был настроен только на предоставлениерекурсивныйобслуживание запросов, поступающих с известных внутренних IP-адресов, а в противном случае предлагать толькоавторитетныйуслуга для определенных доменных имен, размещенных на том же сервере.
Если ваши DNS-запросы поступают с IP-адреса, находящегося вне сети, то они будут получать только авторитетные ответы, а не рекурсивные.