5

После соединения с клиентом Kerio VPN (OS X Leopard) с сервером интернет (~ просмотр веб-страниц) перестал работать для клиента.

После возни, проблема, кажется, плохой DNS-сервер (то есть, ввод IP напрямую работает). После отключения от VPN недействительный DNS-сервер исчезает из scutil --dns и все снова хорошо.

Теперь я не понимаю, почему OS X на клиенте даже меняет настройки DNS - интернет должен быть маршрутизирован через другой интерфейс, через шлюз по умолчанию, а не через VPN.

Вопросы:

  1. По какому механизму подключение VPN-клиента меняет DNS-сервер по умолчанию?
  2. Как я могу остановить VPN-клиента от изменения правил маршрутизации /DNS? Где этот материал хранится / модифицируется?

До VPN:

$ scutil --dns
DNS configuration

resolver #1
  nameserver[0] : 10.66.77.1 # <---- default gateway = home router; all good
  order   : 200000

resolver #2
  domain : local
  options : mdns
  timeout : 2
  order   : 300000

...

VPN подключен:

$ scutil --dns
DNS configuration

resolver #1
  nameserver[0] : 192.168.1.1 # <--- rubbish
  nameserver[1] : 192.168.2.1
  order   : 200000

resolver #2
  domain : local
  options : mdns
  timeout : 2
  order   : 300000

...

VPN не появляется среди $ networksetup -listallnetworkservices . Он также не отображается в "Сетевом" диалоге Системных настроек. ifconfig сообщает об этом как

kvnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1400
inet 192.168.2.9 netmask 0xffffff00 broadcast 192.168.2.255
ether 44:45:53:54:4f:53

РЕДАКТИРОВАТЬ: прогресс - в соответствии с документами Kerio VPN:

The VPN server also assigns the client an address for the primary, and
optionally also secondary DNS server and DNS domain extension. This 
allows to specify remote hosts with their names.

The change of DNS configuration has such effect that all DNS queries 
from the client host are sent to a DNS server in a remote private 
network. Users usually do not even notice any change. Upon closing of
the VPN connection, the original DNS configuration will be recovered.

Как они это делают, и как мне помешать им (переключить DNS обратно, не закрывая VPN)?

2 ответа2

4

Что касается вашего первого вопроса, как VPN меняет DNS по умолчанию, я не знаю механизм, но OSX обеспечивает программный доступ к сетевым настройкам через API DynamicStore, а также через такие утилиты, как networksetup и scutil . Этот документ Apple имеет больше информации о том, как настройки сохраняются внутри. Я бы предположил, что встроенные или сторонние VPN используют эти возможности.

Что касается вашего второго вопроса, как остановить изменение, вы можете вручную установить DNS, связанный с VPN, зайдя в Предпочтения сети, выбрав сеть VPN, перейдя в Advanced и вставив туда свои собственные DNS-серверы. Также может быть достаточно просто изменить "порядок обслуживания" с помощью кнопки выпадающего меню настроек на панели "Сетевые настройки". Если сеть WiFi или Ethernet указана перед сетью VPN, в некоторых случаях ее DNS может иметь приоритет.

Однако, возможно, ваша проблема более тонкая, и вам бы хотелось использовать DNS-серверы VPN для определенных доменных имен (ресурсы внутри VPN) и обычные DNS-серверы для остальной части Интернета. Это не то, что происходит сейчас, потому что DNS-серверы VPN обслуживают все ваши DNS-запросы.

Если вы посмотрите справочную страницу OSX по resolver(5) и особенно по разделу СТРАТЕГИЯ ПОИСКА, вы увидите, что в OSX есть внутренний механизм, который позволяет вам определять несколько DNS-преобразователей, где некоторые решают некоторые домены (например, * .mycompany). com) и другие резольверы служат всему остальному. Однако это не может быть настроено на панели сетевых настроек.

Похоже, вы можете настроить это частично, добавив файлы конфигурации resolver в /etc /resolvers. Однако я не знаю, будут ли они иметь приоритет перед теми, которые установлены вашим VPN. Если этого не произойдет, ваш следующий лучший выбор будет использовать scutil для явного редактирования и замены настроек DNS, созданных VPN-клиентом. Если вы запускаете scutil, и делаете

show State:/Network/Global/DNS

вы, вероятно, увидите неправильные настройки DNS, созданные вашим VPN-клиентом. Вы должны быть в состоянии удалить или изменить их, используя интерактивные команды scutil.

Также следует убедиться, что VPN не нарушает маршрутизацию в Интернет. Используйте netstat -r до и после запуска VPN, чтобы увидеть, что происходит с маршрутом по умолчанию, чтобы проверить это.

0

"Решено" полной переустановкой (Lion OS вместо Leopard).

Я до сих пор понятия не имею, в чем проблема, но пусть она будет пухом ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .