LINUX.ORG.RU
ФорумAdmin

IPFW NAT FreeBSD

 , ,


0

1

Доброго всем времени суток!

Не так давно озадачился вопросом, проброса порта на локальные машины, почитал маны, посмотрел интернет пришел к решению но, оно со своими камнями может кто прольет свет.

Есть FreeBSD 9.2, скомпелированное ядро с IPFW, дивертами, натами и т.д., суть в следующем: есть два шлюза, скажем это 192.168.0.1 и 192.168.0.2 есть машина скажем это 192.168.0.10 по умолчанию у нее стоит шлюз 192.168.0.1 там прописано правило для редиректа порта через NAT и все это прекрасно работает. Но задача в том, что бы получить тот же доступ к этой машине через другой шлюз не меняя при этом ничего на 192.168.0.10 Итак, на втором шлюзе пишу в ipfw:

где: ifext - внешняя карта смотрящая в сеть, и ifint соответственно внутренняя смотрящая в локаль.

ipfw nat 1 config log if ${ifext} reset same_ports redirect_port tcp 192.168.0.10:22 2211
ipfw add nat 1 ip from any to any via ${ifext}

ipfw nat 2 config log if ${ifint} reset same_ports
ipfw add nat 2 ip from any to any via ${ifint}

Все прекрасно работает. Я получаю доступ но вот проблема, если посмотреть кто подключен светиться адрес сервера, а не реальный IP. Словно все это можно было бы сделать через известный вем rinet. И вот вопрос: Как сделать так что бы на конечной машине адрес был белый, то есть тот что замаскировался еще в первом правиле?

Есть какие-то мысли у кого-ниубдь?


Твой сервер нужно сконфигурировать так чтобы он отвечал через тот шлюз через который пришло соединение но ipfw вроде не умеет отслеживать соединения тут только pf. Хотя я BSD с 8.4 последний раз работал может уже и умеет.

Суть такая: При входе через 192.168.0.10 соединение тегируется, а при исходящих пакетах делается правило на redirect через нужный шлюз.

Можно наверное и роутингом как-то добиться.

hidden_4003
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.