>Проблема такая:
>есть сетка, есть машинка с Фрюхой к которой подключен ADSL.
>Из сетки народ ходит в Инет ч/з фрюху на ней natd,ipfw.
>есть пул адресов Инет xxx.xxx.xxx.248-255, один занят под ADSL у >провайдера.
>Вопрос: как заставить некоторые машинки из сети видется в инете с >адресами
>из пула? статически.
>Т.е.
>Маш.1(192.168.1.1)-|\__FreeBSD__Интернет(Маш.1 = xxx.xxx.xxx.250)
>Маш.2(192.168.1.2)-|/-------------------(Маш.2 = xxx.xxx.xxx.251)
>понимаю надо использовать address_redirect в natd, но не получилось?
>Подскажите а?
Допустим, что ppp0 - интерфейс, смотрящий в сеть прова.
Запускаем натд примерно так:
/sbin/natd -interface ppp0 -port 8669 -redirect_address 192.168.1.1 x.x.x.250 -use_sockets -same_ports
Затем добавляем привала ipfw, примерно такие:
/sbin/ipfw add divert 8669 all from x.x.x.250 to any out xmit ppp0
/sbin/ipfw add divert 8669 all from any to x.x.x.250
Насколько я понимаю, теперь все пакеты, приходящие и исходящие на/с адреса x.x.x.250 будут попадать в divert сокет, который слушает natd; а тот, в свою очередьбудет делать редирект адреса.
Для других статических сопоставлений адресов запускаем новую копию natd на другом divert сокете и пишем похожее правило для ipfw.
|