>Требуется сделать доступным извне MS SQL Server, расположенный по адресу 192.168.0.3, но
>только с внешнего IP 123.45.67.89, для других IP сервер должен быть
>закрыт.
>Как сделать правильно? дело в том, что в NAT у тебя нет ограничений по IP, и пакеты в него попадают в первую очередь, а до ipfw правил где ты делаешь ограничения дело не доходит.
наверняка у тебя в ipfw все стоит так
1 ipfw divert natd from any to x.x.x.x via $ext_if
2 ipfw allow....
3 ipfw deny
так вот на 1-ом правиле все заканчивается, а до 2 и 3 дело не доходит
надо сделать так
1 ipfw fwd i.i.i.i from xx.xx.xx.xx to $me 3660 via $ext_if
2 ipfw divert natd from i.i.i.i to any via $ext_if
то есть,
1. ты форвардишь пакеты с xx.xx.xx.xx приходящие к тебе на 3660 порт, на внутненний адрес i.i.i.i
2. обрытные ответы которые идут с внутреннего адреса ты отправляешь в NAT, чтобы они ушли во внешний мир с правильного IP
а в natd вообще убрать правила про редирект портов