Маршрутизация IP из WAN на хост в LAN на OpenWRT

Маршрутизация IP из WAN на хост в LAN на OpenWRT

РЕДАКТИРОВАТЬ:Я знаю, как использовать NAT, я конкретно хочу, чтобы сервер был доступен по двум IP-адресам, одному частному и одному публичному, с брандмауэром OpenWRT между ними, если это осуществимо.

В офисе мы получили /29 от нашего провайдера. Первый адрес зарезервирован для их конечной точки, поэтому я могу свободно использовать пять адресов.

Мы используем локальную сеть, поэтому, конечно, между ними стоит маршрутизатор, работающий под управлением OpenWRT, который обеспечивает все хосты (W)LAN (DHCP из частного диапазона).

Однако у нас также есть сервер под управлением OS X Server 10.6 (Snow Leopard), и я хотел бы, чтобы этот сервер был доступен как из локальной сети с использованием частного IP-адреса, так и из глобальной сети с использованием его собственного публичного IP-адреса.

Следует отметить, что на сервере имеется только один сетевой порт, поэтому, к сожалению, использование нескольких сетевых карт невозможно.

Как бы я это сделал?

решение1

Конечно, вы можете использовать NAT, чтобы просто DNAT-переадресовать публичный адрес на машину с OS X, но возникнут проблемы с протоколами, которые нарушаются NAT, или с взаимодействием с хостами, как только вам понадобится более одной машины в «DMZ».

Вы можете настроить «правильную» DMZ, используя комбинацию некоторых современных сетевых технологий, а именно:

  • VLAN, чтобы вашему серверу OS X не требовались дополнительные физические сетевые карты
  • ProxyARP для маршрутизации IP-пакетов между сетями с одинаковыми характеристиками сетевого адреса/маски подсети

Основная схема:

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

решение2

Я никогда не использовал OpenWRT, но это возможно с помощью переадресации NAT:

http://wiki.openwrt.org/doc/uci/firewall#forwarding.ports.destination.natdnat

Связанный контент