Назад | Перейти на главную страницу

Заставить OpenBSD использовать один IP внутри, но отправлять и получать из сети с другого IP?

Можно ли настроить OpenBSD так, чтобы у него был IP1 внутри (на хостах, в hostname.en0, сокеты привязывались к IP1), но преобразовывали его в IP2, когда пакет поступает в Ethernet. Кроме того, пакеты для IP2 должны быть получены и доставлены службам, привязанным к IP1.

Я думаю, это возможно в Linux, с iptables брандмауэр (что-то вроде DNAT / SNAT), но теперь я хочу сделать это на OpenBSD.

Любым способом могу настроить маршрутизацию реальной LAN.

Это очень легко сделать с помощью pf(4) и это nat, binat и rdr правила.

Похоже, вы специально хотите изучить binat правила; способ написания всех этих правил изменился пару выпусков назад (с nat ... -> ..., чтобы pass ... nat-to ...), но с OpenBSD 5.2 он должен быть следующим (пример взят непосредственно из http://www.openbsd.org/faq/pf/nat.html#binat):

web_serv_int = "192.168.1.100"
web_serv_ext = "24.5.0.6"

pass on tl0 from $web_serv_int to any binat-to $web_serv_ext`

Дополнительную информацию о NAT и перенаправлении трафика в OpenBSD смотрите здесь:

http://www.openbsd.org/faq/pf/nat.html
http://www.openbsd.org/faq/pf/rdr.html

Это должно быть более или менее выполнимо с псевдонимом на интерфейсе и небольшой магией PF / NAT. Вы вообще смотрели Руководство по PF?

Вы можете изменить ядро, заменив IP1 на IP2 для исходящего трафика и наоборот.

Какой протокол вы имеете в виду?