Я пытаюсь использовать OpenVPN в режиме моста Ethernet.
Следуя руководству, я создал интерфейс касания, настроил конфигурацию так, как было написано в руководстве. Единственная проблемная часть - это мост между двумя интерфейсами.
Очевидно, у меня есть TAP-интерфейс OpenVPN под названием tap0
и физический интерфейс, называемый enp2s0
. Latter получает свой IP-адрес от маршрутизатора, к которому он подключен, и я бы хотел, чтобы подключенные клиенты VPN сделали то же самое.
Если я не соединяю интерфейсы, я могу подключиться откуда угодно, из локальной сети, "извне", но не получить IP. Если я соединю интерфейсы мостом, я смогу подключиться только из локальной сети, но я получу IP от маршрутизатора. Более того, маршрутизатор настолько сбит с толку несоответствующей парой IP-MAC, что я не мог связаться с этим компьютером из любого другого порта / приложения из внешнего мира, что, очевидно, нежелательно.
Я предполагаю, что невозможно подключиться извне сети, когда интерфейсы соединены мостом, потому что мост наследует IP-адрес физического интерфейса, но не MAC-адрес, что сбивает с толку DHCP маршрутизатора.
Я попытался установить для моста тот же MAC-адрес, что и для физического интерфейса, что вызвало всевозможные проблемы.
Самая многообещающая установка, которую я пробовал, заключается в том, что я не заставлял мост копировать IP-адрес физического интерфейса. Это почти решило мои проблемы, потому что я мог подключиться к VPN из локальной сети и получить IP-адрес и не путать маршрутизатор с несовпадающей парой IP-MAC, что означает, что такие вещи, как веб-сервер, по-прежнему работают по назначению. Проблема с этой настройкой состоит в том, что OpenVPN не отвечает на запрос, направленный на физический интерфейс, но фактически отвечает на запрос, направленный на мост. Это облом, с которым я могу смириться.
Похоже, я явно неправильно понимаю здесь ключевую концепцию. Последняя установка "правильная"? Должен ли я просто согласиться с тем, что OpenVPN никогда не будет отвечать на запросы к физическому интерфейсу, или мое решение - «взлом»? Что было бы теоретически правильным вариантом для моего случая?