URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 3184
[ Назад ]

Исходное сообщение
"Скрипт для IPFW"

Отправлено Патриот , 27-Фев-07 12:33 
Здравствуйте, я новичек в работе файрволов, никак не получается добиться желаемого...

Ниже представлен скрипт от 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))


Содержание

Сообщения в этом обсуждении
"Скрипт для IPFW"
Отправлено Fire_Anton , 28-Фев-07 08:03 
ipfw='/sbin/ipfw -q'
natd='/sbin/natd'
ournet='192.168.0.1/24'
ifout='xl0'
ifuser='fxp0'

$natd -interface $ifout -p 8668 -dynamic

${ipfw} -f flush

${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17 via $ifuser
${ipfw} add 210 allow icmp from any to any in via $ifuser
${ipfw} add 220 allow icmp from any to any out via $ifuser

${ipfw} 300 add allow ip from any to any via lo
${ipfw} 310 add deny ip from any to 127.0.0.0/8
${ipfw} 315 add deny ip from 127.0.0.0/8 to any

# NAT
${ipfw} add 600 divert natd all from any to any via ${ifout} in
${ipfw} add 610 divert natd all from any to any via ${ifout} out

# Прозрачное проксирование, ФТП и ХТТПС не желательно форвордить на сквид.
${ipfw} add 700 fwd 127.0.0.1,3128 tcp from ${ournet} to any http out via ${ifout}

${ipfw} add 1007 allow ip from ${ournet} to any
${ipfw} add 1007 allow ip from any to ${ournet}

${ipfw} 39505 add allow icmp from any to me via ${ifout}
${ipfw} 39510 add allow icmp from me to any via ${ifout}
${ipfw} 39550 add allow udp from any to me 123 via ${ifout}
${ipfw} 39565 add allow tcp from any to me 20,21,22,25,80,110,443 via ${ifout}
${ipfw} 39575 add allow tcp from any to me 1024-65535 via ${ifout}
${ipfw} 39590 add allow udp from any to me 1024-65535 via ${ifout}
${ipfw} 39595 add allow tcp from me to any via ${ifout}
${ipfw} 39600 add allow udp from me to any via ${ifout}

На пробуй.


"С этим скриптом всем все можно..."
Отправлено Патриот , 28-Фев-07 11:10 
Я никак не пойму как отдельным ip-адресам разрешить pop?

Этот пример разрешает всем:
${ipfw} add allow tcp from any to any 110
${ipfw} add allow tcp from any 110 to any
а необходимо только, к примеру 192.168.0.1...

Пробую так:
${ipfw} add allow tcp from 192.168.0.1 to any 110
${ipfw} add allow tcp from any 110 to 192.168.0.1
не работает...