Здравствуйте, я новичек в работе файрволов, никак не получается добиться желаемого...Ниже представлен скрипт от ipfw. Подскажите пожалуйста, как его можно улучшить, что бы добиться следующего:
- всем ip-адресам запретить все кроме интернета (http,https,ftp) и локальной сети (доступом в интернет управляет squid)
- некоторым ip-адресам разрешить pop и smtp
- некоторым разрешить все...
ipfw='/sbin/ipfw -q'
ournet='192.168.0.1/24'
ifout='xl0'
ifuser='fxp0'
${ipfw} -f flush
# Какие правила еще сюда можно добавить?
${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
# Для работы самой системы
${ipfw} add 300 allow ip from any to any via lo
${ipfw} add 310 allow tcp from me to any keep-state via ${ifout}
${ipfw} add 320 allow icmp from any to any
${ipfw} add 330 allow udp from me to any domain keep-state
${ipfw} add 350 allow ip from me to any
# SMTP
${ipfw} add 410 allow tcp from not ${ournet} to me 110
# Прозрачное проксирование
${ipfw} add 500 fwd 127.0.0.1,3128 tcp from ${ournet} to any http,https,ftp out via ${ifout}
# NAT
${ipfw} add 600 divert natd all from any to any via ${ifout}
# Думаю, это не правильно:
${ipfw} add 1007 allow ip from ${ournet} to any via ${ifuser}
${ipfw} add 1007 allow ip from any to ${ournet} via ${ifuser}
--------
FreeBSD 6.1 (ядро собрано с поддержкой ipfw и переадресацией пакетов (fwd))