JIeB Опубликовано 20 марта, 2012 · Жалоба Есть блок PI адресов и бордер под FreeBSD 8.2 с двумя аплинками. Аплинки заводятся в бордер в двух виланах, через один физический интерфейс. Задача: возложить на роутер так же функцию NAT 1 к 1, желательно через pf binat. Собственно вопрос: можно ли заставить pf натить одни и те же адреса либо на двух интерфейсах одновременно (vlan1 vlan2), либо на физическом интерфейсе em0, но при этом научить манипулировать тегированными пакетами проходящими через него? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 20 марта, 2012 · Жалоба Собственно вопрос: можно ли заставить pf натить одни и те же адреса либо на двух интерфейсах одновременно (vlan1 vlan2), либо на физическом интерфейсе em0, но при этом научить манипулировать тегированными пакетами проходящими через него? Посмотрите доки, там что то было про нат с роундробин и сорхэш. ПФ, допустим, может игнорировать тэги вланов при приёме, но при отправке он их добавить не сможет - поэтому такая схема не взлетит. Забудьте что у вас один физ интерфейс по факту, в пф вам нужно манипулировать влан интерфейсами. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
JIeB Опубликовано 20 марта, 2012 · Жалоба Сейчас собрал тестовый стенд, похоже достаточно просто сделать два правила, в которых различается только интерфейс. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Giga-Byte Опубликовано 22 марта, 2012 · Жалоба ммм, извините за оффтоп, но что за изврат NAT 1 к 1-му ? мне очень инетересно, зачем это надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 23 марта, 2012 · Жалоба Насколько я помню мануал, для ната и скруба срабатывает первое матч правило, остальные не обрабатываются, соответственно, второе правило срабатывать не будет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 24 марта, 2012 · Жалоба Сейчас собрал тестовый стенд, похоже достаточно просто сделать два правила, в которых различается только интерфейс. Если трафик пришёл из Интернета через один интерфейс, а уходит через другой, правила работать не будут, т.к. весь NAT в PF является stateful, даже статический 1:1. Не привязывать binat-правила к интерфейсам PF не умеет. Одно из решений - переход на Линукс. В нём есть два варианта: iptables умеет делать NAT без привязки к интерфейсу, iproute2 умеет делать stateless nat 1:1. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 24 марта, 2012 · Жалоба В нём есть два варианта: iptables умеет делать NAT без привязки к интерфейсу Если не секрет, то как? Я пробовал когда-то делать такой NAT(на ядре 2.6.9), если обратный трафик приходил через другой интерфейс, то он дропался. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 24 марта, 2012 · Жалоба Если не секрет, то как? Я пробовал когда-то делать такой NAT(на ядре 2.6.9), если обратный трафик приходил через другой интерфейс, то он дропался. Примерно так: for n in $LAN_IFACES; do iptables -t nat -A POSTROUTING -o $n -j ACCEPT for n in $LAN_IFACES; do iptables -t nat -A PREROUTING -i $n -j ACCEPT Дальше делаем snat/dnat 1:1 без указания выходного/входного интерфейса. И в конце либо общий iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE, либо раздельные SNAT для каждого внешнего интерфейса, либо SNAT на пул из AS. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 24 марта, 2012 · Жалоба ну да, для 1:1 это должно работать, у меня был случай nat overload с балансировкой outside интерфейсов Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimic Опубликовано 1 июня, 2012 · Жалоба ipfw умееть натить без привязки к интерфейсам. Так у нас. Но тоже интересен вопрос, поднятый ТС, поскольку есть желание перейти на pf nat. Ситуация схожая - два аплинка, два влана, один внешний физический интерфейс, bgp. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...