Стоит и работает себе спокойненько ipfw под FreeBSD 4.9
В rc.firewall прописано следующее:
.......................................
# Разрешаем пакеты по внутренней сетке
${fwcmd} add 100 pass all from any to any via $(внутренний_интерфейс)
# http заворачиваем на локальный прокси
${fwcmd} add 200 fwd 127.0.0.1,3128 from 192.168.0.0/24 to any http
# транслируем внутренние адреса
${fwcmd} add 300 divert natd ip from 192.168.0.0/24 to any out via ${внешний_интерфейс}
${fwcmd} add 400 divert natd ip from any to ${внешний_IP} in via ${внешний_интерфейс}
# прописываем правила прохождения пакетов
${fwcmd} add 500 pass tcp from any to any 20,21,23,25,80,110,443 via ${внешний_интерфейс}
${fwcmd} add 510 pass tcp from any 20,21,23,25,80,110,443 to any via ${внешний_интерфейс}
# запрещаем все остальное
${fwcmd} add 1000 deny all from any to any
И все бы было нормально, если бы не возникла необходимость с одного
компьютера ходить куда угодно, т.е. безо всяких ограничений.
IP-адрес этого компьютера во внутренней сети 192.168.0.7.
Я, недолго думая, прописал правила
${fwcmd} add 520 pass from 192.168.0.7 to any
${fwcmd} add 530 pass from any to 192.168.0.7
и получил большой шиш! Куда бы я ни запихнул эти правила, ничего
не меняется: компьютер 192.168.0.7 работает по общим правилам -
куда всей внутренней сетке разрешено ходить - туда ходит,
куда не разрешено - туда, ессно, не ходит. Я и перед divert'ом ставил,
и после - ничего не вышло. Подскажите, как надо расположить
эти правила для одного локального комьютера в rc.firewall
Заранее thanx!