Есть следующая схема:
сервер1(ip1) --- (ip2)сервер2(FreeBSD роутер)(ip3) --- (ipxxx)клиенты.
В данный момент наструганы правила для ipfw и настроен natd так, чтоб клиенты могли попадать на сервер1.Все клиентские запросы с адресов (ipxxx) сервер1 обрабатывает, как запросы с роутера(ip2).
Необходимо: чтобы сервер1 все-таки видел адреса клиентов.
Куда копнуть?
Если сервер1 не имеет прямого выхода на клиентов:
Для пакетов клиент->сервер1 сделать только DNAT, на сервер1 поставить маршрутом по умолчанию сервер2, для пакетов сервер1->клиент сделать SNAT
Если клиенты будут обращаться на сервер1 по ip1, то NAT не нужен.
У клиентов должен быть прописан маршрут к ip1 через ip3 или ip3 шлюзом по умолчания.
На сервер1 прописать маршрут к ipxxx/маска через ip2 или ip2 шлюзом по умолчания.
На сервер2 gateway_enable="YES" , так как пакеты сейчас доходят, то это уже прописано.
На обоих серверах ipfw должен пропускать эти пакеты.Если клиенты будут обращаться на сервер1 по ip3, то не делать NAT для исходящих с ip2 или для идущих на ip1.
На обоих серверах ipfw должен пропускать эти пакеты.