5

Я использую TunnelBlick для подключения к VPN (OpenVPN) с OS X 10.9.2. Я могу аутентифицировать и передавать трафик, но записи DNS, введенные из VPN, не работают.

Вот вывод команды scutil --dns (resolver # 1 - правильный DNS-сервер, введенный Tunnelblick)

resolver #1
  search domain[0] : XXXXX.net
  nameserver[0] : 10.10.0.15
  if_index : 5 (en1)
  flags    : Request A records
  reach    : Reachable

Проблема в том, что if_index должен быть tap0 а не en1 . Из ifconfig:

en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether e4:ce:8f:1b:42:cc
    inet6 fe80::e6ce:8fff:fe1b:42cc%en1 prefixlen 64 scopeid 0x5
    inet 10.0.1.2 netmask 0xffffff00 broadcast 10.0.1.255
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active

tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 0a:83:8d:37:dc:b9
    inet 10.10.0.100 netmask 0xffff0000 broadcast 10.10.255.255
    open (pid 4997)

nslookup , dig и host могут правильно добраться до DNS-сервера, но остальная часть OS X не может (я понимаю, что у них есть автономный механизм разрешения, который не зависит от остальной OS X). С Wireshark я подтвердил, что пакеты DNS, отправленные nslookup et. и др. выходите из tap0 а DNS-пакеты, отправленные другими программами (например, ping), выходят из eth0 и, конечно, никогда не попадают в пункт назначения. Возможно ли, что scutil самом деле не просматривает таблицу маршрутизации перед отправкой пакетов? Если так, как я могу отредактировать запись scutil, чтобы исправить if_index?

Tunnelblick - это раскрывающийся список конфигурации для set nameserver и соответствующая часть моего server.conf показана ниже. Так как я получаю информацию DNS правильно, я думаю, что проблема в OS X и его настройке scutil.

...etc..

server-bridge 10.10.0.15 255.255.0.0 10.10.0.100 10.10.0.200

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses.  CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
push "dhcp-option DNS 10.10.0.15"
push "dhcp-option DOMAIN wattsworth.net"

...etc...

1 ответ1

0

Борясь с той же проблемой, я обнаружил, что выполнение команды scselect с new-location-name установленным на то же значение, которое используется в настоящее время, сбрасывает настройки сети, и DNS начинает работать через VPN.

В то же время результаты scutil оставались постоянными (т. Е. Показывает if_index установленный для интерфейса Ethernet).

Сначала запустите scselect без аргументов, чтобы узнать GUID текущего используемого местоположения, затем снова с предполагаемым местоположением в качестве аргумента.

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