1

Я подключаю 2 маршрутизатора TomatoUSB (сборка Shibby на WNR3500L v2) через маршрутизируемое соединение OpenVPN:

-----------------------              -----------------------
| Router 1, subnet 20 | <--tunnel--> | Router 2, subnet 21 |
-----------------------              -----------------------

Маршрутизатор 1 - это сервер OpenVPN, а Маршрутизатор 2 - это клиент. Клиенты, подключенные к маршрутизаторам в обеих подсетях, могут пропинговать клиентов в другой подсети, поэтому туннель и маршрутизация работают.

Я включил общий доступ к файлам на обоих серверах, чтобы запустить их серверы Samba WINS. Можно ли получить разрешение имени через туннель? Я попытался remote browse sync = 192.168.21.1 в /etc/smb.conf на стороне сервера, но безрезультатно. Также пытался использовать IP-адрес, который клиент получает из пула адресов OpenVPN (обычно 10.8.0. Что-то), но все равно не радует.

1 ответ1

0

Я думаю, что первоначальное обнаружение серверов WINS использует функции широковещательной передачи IPv4, или, возможно, это как-то связано.

Широковещательный трафик не распространяется через маршрутизируемые интерфейсы (уровень 3).

Он распространяется по мостовым (т. Е. Коммутируемым) интерфейсам (уровень 2).

К счастью, OpenVPN поддерживает маршрутизируемые (tun) и мостовые (tap) интерфейсы.

Поэтому вам нужно изменить строки "dev tun" в ваших файлах конфигурации на "dev tap".

Работа с виртуальными мостовыми интерфейсами отличается от виртуальных маршрутизируемых интерфейсов. Виртуальный мостовой интерфейс на стороне клиента должен иметь IP-адрес, который находится в той же подсети, что и сервер OpenVPN. Сервер OpenVPN может назначить IP-адрес автоматически, но вы должны убедиться, что он не конфликтует ни с чем другим в вашей сети. В ситуации, в которой я это сделал, DHCP-сервер работал на том же компьютере, что и сервер OpenVPN, и клиент OpenVPN получил IP-адрес от этого. Вероятно, это та ситуация, когда вы запускаете это на коробке с помидорами. Внимательно следите за своей конфигурацией.

Также вам нужно будет соединить "tap0" на сервере с сетевым интерфейсом сервера, обращенным к клиенту, используя brctl - и у tap0 не будет собственного IP- адреса - он будет "подключен" или переключен на "eth0".

Это интересно и универсально (я думаю, что многоадресный DNS идет через виртуальные мостовые интерфейсы, поэтому Apple тоже будет работать через него), но может стать грязным.

Может быть проще просто запустить локальный DNS-сервер и использовать вместо него DNS для разрешения имен.

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