1

Я пытаюсь перенаправить порт через OpenVPN (с мостовым соединением Ethernet), но не могу.

Ниже приведена "простая" схема сети. Сервер содержит 2 виртуальные машины, основной сервер соединен с OpenVPN с другим сервером. Мне нужно перенаправить порт с 10.10.10.2 (виртуальная машина) на общедоступный IP-адрес внешнего сервера с IP-адресом 10.10.10.11 (см. Схему).

Мост vmbr0 включает три интерфейса: tap0 , eth0 (публичный IP) и vlan1 (10.10.10.0/24).

Диаграмма сети

Правило, которое я использовал на сервере 10.10.10.11:

iptables -t nat -D PREROUTING -p tcp -d [публичный ip здесь] --dport 80 -j DNAT --to-destination 10.10.10.2:80

На изображении ниже вы можете видеть, что пакеты "входят", а не "выходят" через интерфейс tap0 .

Это дамп интерфейса tap0 :

главный сервер

Пакеты поступают правильно с tap0 , но пакеты направляются на vmbr0 и никогда не доходят до tap0 .

Как я могу решить эту проблему?

1 ответ1

0

Мосты по сути превращают несколько сетевых карт в виртуальный коммутатор.

Если вы хотите, чтобы устройства общались через мост, они должны быть в той же подсети, что и на реальном коммутаторе. Если они не находятся в одной подсети, вам нужен маршрутизатор, а не коммутатор или мост.

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

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

Ваша система должна затем маршрутизировать и выполнять NAT, используя eth0 в качестве сетевого адаптера "WAN" и vmbr0 в качестве сетевого адаптера "LAN". Можно использовать любое руководство по работе с iptables с NAT, просто замените vmbr0 на eth1 или сетевой адаптер для локальной сети.

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