Доброго всем времени суток!
Не так давно озадачился вопросом, проброса порта на локальные машины, почитал маны, посмотрел интернет пришел к решению но, оно со своими камнями может кто прольет свет.
Есть 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. И вот вопрос: Как сделать так что бы на конечной машине адрес был белый, то есть тот что замаскировался еще в первом правиле?
Есть какие-то мысли у кого-ниубдь?