ipfw проблема

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Dmitriy.A
ст. сержант
Сообщения: 383
Зарегистрирован: 2006-12-15 17:09:14
Откуда: Москва

Непрочитанное сообщение Dmitriy.A » 2007-03-01 11:43:22

lexa писал(а):
Dmitriy.A писал(а):блин если ты из локалки коннектишься каким боком правило для подключения по ссх из вне должно сработать? очень много читать про ипфв. Может я чего не понимаю. :)
Вопрос был совершенно другой. Я не ставил вопрос о том, почему я не могу из вне подключиться по ssh.
Говори что хочешь сделать? Поточнее, мне показалось ты спросил почему на счетчике нолик. Так?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-01 11:49:05

да. почему по правилам для описанных портов никакие пакеты не проходят?

Dmitriy.A
ст. сержант
Сообщения: 383
Зарегистрирован: 2006-12-15 17:09:14
Откуда: Москва

Непрочитанное сообщение Dmitriy.A » 2007-03-01 11:53:04

lexa писал(а):да. почему по правилам для описанных портов никакие пакеты не проходят?

Код: Выделить всё

#ssh 
${fwcmd} add 00300 allow tcp from any to  ${внешний} 22 
${fwcmd} add 00301 allow tcp from  ${внешний} 22 to any 
Что по твоему делает это правило?
Почему при подулючении из локалки по этому правилу нолик так?

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-01 11:59:23

Спасибо. Дурь свою понял. Получается что если эти же правила добавить для внутреннего интерфейса, то все должно заработать, даже если я закомментирую правило ${fwcmd} add 65000 allow ip from any to any? так?

Dmitriy.A
ст. сержант
Сообщения: 383
Зарегистрирован: 2006-12-15 17:09:14
Откуда: Москва

Непрочитанное сообщение Dmitriy.A » 2007-03-01 12:15:36

да

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-01 12:24:11

большое и огромное спасибо Вам Dmitriy.A. и всем кто принимал участие в обсуждении :)

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-09 10:36:59

Добрый день. не удалось сразу проверить схему, предложенную Dmitriy.A., но после проверки, как выяснилось, она не работает.

Код: Выделить всё

setup_loopback () {
${fwcmd} add 100 pass all from any to any via lo0
${fwcmd} add 101 deny all from any to 127.0.0.0/8
${fwcmd} add 102 deny ip from 127.0.0.0/8 to any
}
													
# Set quiet mode if requested
case ${firewall_quiet} in
[Yy][Ee][Ss])
fwcmd="/sbin/ipfw -q"
;;
*)
fwcmd="/sbin/ipfw"
;;
esac
																			
# Flush out the list before we begin.
${fwcmd} -f flush

# Set these to your outside interface network and netmask and ip.
oif="rl0"
onet="191.100.100.0"
omask="255.255.255.0"
oip="191.100.100.203"

# set these to your inside interface network and netmask and ip
iif="xl0"
inet="10.10.0.0"
imask="255.255.255.0"
iip="10.10.0.200"

setup_loopback

#nat
${fwcmd} add 0110 divert 8668 ip from ${inet}:${imask} to any out xmit ${oif}
${fwcmd} add 0115 divert 8668 ip from any to ${oip} in recv ${oif}

${fwcmd} add deny log tcp from any to any in tcpflags fin,syn

#ssh
${fwcmd} add 00300 allow tcp from any to  ${oip} 22
${fwcmd} add 00301 allow tcp from  ${oip} 22 to any
${fwcmd} add 00302 allow tcp from any to  ${oip} 22
${fwcmd} add 00303 allow tcp from  ${oip} 22 to any
#http
${fwcmd} add 00310 allow tcp from any to  ${oip} 80
${fwcmd} add 00311 allow tcp from  ${oip} 80 to any
${fwcmd} add 00312 allow tcp from any to  ${oip} 80
${fwcmd} add 00313 allow tcp from  ${oip} 80 to any
#https
${fwcmd} add 00320 allow tcp from any to  ${oip} 443
${fwcmd} add 00321 allow tcp from  ${oip} 443 to any
${fwcmd} add 00322 allow tcp from any to  ${oip} 443
${fwcmd} add 00323 allow tcp from  ${oip} 443 to any
#dns
${fwcmd} add 00330 allow tcp from any to  ${oip} 53
${fwcmd} add 00331 allow tcp from  ${oip} 53 to any
${fwcmd} add 00332 allow tcp from any to  ${oip} 53
${fwcmd} add 00333 allow tcp from  ${oip} 53 to any

${fwcmd} add deny tcp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
${fwcmd} add deny udp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
${fwcmd} add 1000 deny ip from ${inet}:${imask} to any in recv ${oif}

    #${fwcmd} add 1001 deny ip from any to 10.0.0.0/8 via ${oif}

${fwcmd} add 1002 deny ip from any to 172.16.0.0/12 via ${oif}
${fwcmd} add 1003 deny ip from any to 192.168.0.0/16 via ${oif}
${fwcmd} add 1004 deny ip from any to 0.0.0.0/8 via ${oif}
${fwcmd} add 1005 deny ip from any to 169.254.0.0/16 via ${oif}
${fwcmd} add 1006 deny ip from any to 224.0.0.0/4 via ${oif}
${fwcmd} add 1007 deny ip from any to 240.0.0.0/4 via ${oif}

${fwcmd} add allow udp from ${oip} to any 53 keep-state
${fwcmd} add allow udp from ${oip} to any 33434-33524
${fwcmd} add allow udp from any to ${oip} 33434-33524
${fwcmd} add allow icmp from any to any icmptype 0,3,8,11
${fwcmd} add allow tcp from any to any established
${fwcmd} add allow ip from any to any frag

     #${fwcmd} add 65000 allow ip from any to any

в таком виде я по ssh захожу, с любой машины я допустим рамблер пингую и по имени и по айпи, но в инет я зайти не могу. Хочу чтобы пользователи выходили в инет. Помогите :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35066
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-09 10:39:29

да прекратите уже использовать номера правил, и просто разместите их в нужном порядке в фаере...
У меня всего два раза была необходимость использования номеров, и в обоих ни один готовый вариант точно бы не подошел.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-03-09 11:28:00

вывод посмотри:
ipfw -a list
И обрати внимание на количество заблокированных пакетов в deny правилах:
Переделай на:
.. deny log ...
И смотри /var/log/security
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Гость
проходил мимо

Непрочитанное сообщение Гость » 2007-03-09 16:36:10

Переделал таким образом

Код: Выделить всё

# Set quiet mode if requested
case ${firewall_quiet} in
[Yy][Ee][Ss])
fwcmd="/sbin/ipfw -q"
;;
*)
fwcmd="/sbin/ipfw"
;;
esac
			
# Flush out the list before we begin.
${fwcmd} -f flush

# Set these to your outside interface network and netmask and ip.
oif="rl0"
onet="191.100.100.0"
omask="255.255.255.0"
oip="191.100.100.203"

# set these to your inside interface network and netmask and ip
iif="xl0"
inet="10.10.0.0"
imask="255.255.255.0"
iip="10.10.0.200"

${fwcmd} add check-state

${fwcmd} add pass all from any to any via lo0
${fwcmd} add deny all from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any

#nat
${fwcmd} add divert 8668 ip from ${inet}:${imask} to any out xmit ${oif}
${fwcmd} add divert 8668 ip from any to ${oip} in recv ${oif}

${fwcmd} add deny tcp from any to any in tcpflags fin,syn

    #${fwcmd} add deny ip from any to 10.0.0.0/8 via ${oif}
${fwcmd} add deny ip from any to 172.16.0.0/12 via ${oif}
${fwcmd} add deny ip from any to 192.168.0.0/16 via ${oif}
${fwcmd} add deny ip from any to 0.0.0.0/8 via ${oif}
${fwcmd} add deny ip from any to 169.254.0.0/16 via ${oif}
${fwcmd} add deny ip from any to 224.0.0.0/4 via ${oif}
${fwcmd} add deny ip from any to 240.0.0.0/4 via ${oif}
${fwcmd} add deny icmp from any to any frag
${fwcmd} add deny icmp from any to 255.255.255.255 in via ${oif}
${fwcmd} add deny icmp from any to 255.255.255.255 out via ${oif}

${fwcmd} add deny tcp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
${fwcmd} add deny udp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
${fwcmd} add deny ip from ${inet}:${imask} to any in recv ${oif}

${fwcmd} add allow udp from any to any 53 keep-state
${fwcmd} add allow udp from ${oip} to any 33434-33524
${fwcmd} add allow udp from any to ${oip} 33434-33524
${fwcmd} add allow icmp from any to any icmptype 0,3,8,11
${fwcmd} add allow tcp from any to any established
${fwcmd} add allow ip from any to any frag

${fwcmd} add allow log tcp from any to any 80 setup
${fwcmd} add allow log tcp from any to any 443 setup
${fwcmd} add allow log tcp from any to any 22 setup
${fwcmd} add allow log tcp from any to any 10001 setup
${fwcmd} add allow log tcp from any to any 53 setup
${fwcmd} add allow log tcp from any to any 123 setup
${fwcmd} add allow log tcp from any to any 25 setup
${fwcmd} add allow log tcp from any to any 110 setup
${fwcmd} add allow log tcp from any to any 5190 setup
В первоначальном виде никак не заработал. Посмотрите, если у кого есть время я ничего не забыл, пожалуйста. Заранее огромное спасибо :)

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-03-09 17:27:34

Anonymous писал(а):${fwcmd} add pass all from any to any via lo0
${fwcmd} add deny all from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any
Жжёшь. :-)
${fwcmd} add deny ip from any to 10.0.0.0/8 via ${oif}
${fwcmd} add deny ip from any to 172.16.0.0/12 via ${oif}
${fwcmd} add deny ip from any to 192.168.0.0/16 via ${oif}
${fwcmd} add deny ip from any to 0.0.0.0/8 via ${oif}
${fwcmd} add deny ip from any to 169.254.0.0/16 via ${oif}
${fwcmd} add deny ip from any to 224.0.0.0/4 via ${oif}
${fwcmd} add deny ip from any to 240.0.0.0/4 via ${oif}
Закинь в таблицу, 1 строкой лучше, красивее, читаемее, быстрее.
${fwcmd} add allow log tcp from any to any 80 setup
${fwcmd} add allow log tcp from any to any 443 setup
${fwcmd} add allow log tcp from any to any 22 setup
${fwcmd} add allow log tcp from any to any 10001 setup
${fwcmd} add allow log tcp from any to any 53 setup
${fwcmd} add allow log tcp from any to any 123 setup
${fwcmd} add allow log tcp from any to any 25 setup
${fwcmd} add allow log tcp from any to any 110 setup
${fwcmd} add allow log tcp from any to any 5190 setup
замени на:

Код: Выделить всё

${fwcmd} add allow log tcp from any to any 22,25,80,110,,443,5190 setup
С каких пор 53 стал TCP ? (У тебя свой DNS?) 123 порт по UDP тоже работает. :-)

Меня такой Firewall не радует. Всё вот смотрю, смотрю. Мечтаю статью написать какой он, правильный файрвол и как строить правила. Написан твой файрвол не очень хорошо.
Знаешь почему не нравится такой файрвол? пропиши интерфейсы к своим правилам, очень многое узнаешь. :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
alex3
лейтенант
Сообщения: 872
Зарегистрирован: 2006-11-20 16:47:56
Откуда: Переславль
Контактная информация:

Непрочитанное сообщение alex3 » 2007-03-09 19:13:22

to Dikens.
Насчет "Мечтаю..". предлагаю помощь...
Если ipfw можно считать речью обычного человека, то pf - речь политика. За каждой ошибкой -ядерный песец.

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-09 22:16:00

Взял за основу правила на сайте lissyara

Код: Выделить всё

fwcmd="/sbin/ipfw -q"

# reset all:
${fwcmd} -f flush

# Set these to your outside interface network and netmask and ip.
oif="xl1"
onet="10.28.2.0"
omask="255.255.255.0"
oip="10.28.2.126"

# set these to your inside interface network and netmask and ip
iif="xl0"
inet="192.168.10.0"
imask="255.255.255.0"
iip="192.168.10.250"

${fwcmd} add check-state

# setup loopback
${fwcmd} add allow ip from any to any via lo0
${fwcmd} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any

# deny on oif:
# у меня oif на 10.x.x.x ${fwcmd} add deny ip from any to 10.0.0.0/8 in via ${oif}
${fwcmd} add deny ip from any to 172.16.0.0/12 in via ${oif}
${fwcmd} add deny ip from any to 192.168.0.0/16 in via ${oif}
${fwcmd} add deny ip from any to 0.0.0.0/8 in via ${oif}
${fwcmd} add deny ip from any to 169.254.0.0/16 in via ${oif}
${fwcmd} add deny ip from any to 240.0.0.0/4 in via ${oif}
${fwcmd} add deny ip from 224.0.0.0/4 to any in via ${oif}
${fwcmd} add deny icmp from any to any frag
${fwcmd} add deny log icmp from any to 255.255.255.255 in via ${oif}
${fwcmd} add deny log icmp from any to 255.255.255.255 out via ${oif}

# squid
#пока не использую ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${inet}/${imask} to any 80 via ${oif}

# nat
${fwcmd} add divert 8668 ip from ${inet}/${imask} to any out via ${oif}
${fwcmd} add divert 8668 ip from any to ${oip} in via ${oif}

# deny through oif
# у меня oif на 10.x.x.x ${fwcmd} add deny ip from 10.0.0.0/8 to any out via ${oif}
${fwcmd} add deny ip from 172.16.0.0/12 to any out via ${oif}
${fwcmd} add deny ip from 192.168.0.0/16 to any out via ${oif}
${fwcmd} add deny ip from 0.0.0.0/8 to any out via ${oif}
${fwcmd} add deny ip from 169.254.0.0/16 to any out via ${oif}
${fwcmd} add deny ip from 224.0.0.0/4 to any out via ${oif}
${fwcmd} add deny ip from 240.0.0.0/4 to any out via ${oif}

${fwcmd} add deny tcp from any to any in tcpflags fin,syn

# разрешаем все установленные соединения
${fwcmd} add allow tcp from any to any established

# не знаю разрешать или запрещать фрагментированные пакеты 
#${fwcmd} add allow ip from any to any frag

# разрешаем весь исходящий траффик
${fwcmd} add allow ip from ${oip} to any out xmit ${oif}

# разрешаем DNS
${fwcmd} add allow udp from any 53 to any via ${oif}
${fwcmd} add allow udp from any to any 53 via ${oif}
# разрешаем NTP
${fwcmd} add allow udp from any to any 123 via ${oif}
#разрешаем некоторые типы ICMP
${fwcmd} add allow icmp from any to any icmptypes 0,3,8,11

#разрешаем нужные для работы порты
${fwcmd} add allow tcp from any to ${oip} 80,443,25,110,143,22,10001,5190 in via ${oif} setup

# разрешаем весь tcp,udp,icmp траффик внутри локалки
${fwcmd} add allow ip from any to any via ${LanIn}

#еще несколько запретов
${fwcmd} add deny tcp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
${fwcmd} add deny udp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
${fwcmd} add deny ip from ${inet}:${imask} to any in recv ${oif}

Посмотрите пожалуйста, подскажите где может я опять глуплю :). Спасибо :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35066
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-09 22:39:21

ipfw show и рассказ - что не так - в студию.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-12 13:05:18

сорри за лишнее беспокойство. заработало как надо. это я не доглядел :wink:

Гость
проходил мимо

Непрочитанное сообщение Гость » 2007-03-12 15:51:26

Рабочий текст:

Код: Выделить всё

fwcmd="/sbin/ipfw -q"

# Flush out the list before we begin.
${fwcmd} -f flush

# Set these to your outside interface network and netmask and ip.
oif="xl0"
onet="191.100.x.0"
omask="255.255.255.0"
oip="191.100.x.x"

# Set these to your inside interface network and netmask and ip
iif="xl1"
inet="10.10.x.x"
imask="255.255.255.0"
iip="10.10.x.x"

# Проверяем - соответствует ли пакет динамическим правилам:  
    ${fwcmd} add check-state

# setup loopback
    ${fwcmd} add allow ip from any to any via lo0
    ${fwcmd} add deny ip from any to 127.0.0.0/8
    ${fwcmd} add deny ip from 127.0.0.0/8 to any

# deny on oif:
#    ${fwcmd} add deny ip from any to 10.0.0.0/8 in via ${oif}
    ${fwcmd} add deny ip from any to 172.16.0.0/12 in via ${oif}
    ${fwcmd} add deny ip from any to 192.168.0.0/16 in via ${oif}
    ${fwcmd} add deny ip from any to 0.0.0.0/8 in via ${oif}
    ${fwcmd} add deny ip from any to 169.254.0.0/16 in via ${oif}
    ${fwcmd} add deny ip from any to 240.0.0.0/4 in via ${oif}
    ${fwcmd} add deny ip from 224.0.0.0/4 to any in via ${oif}
    ${fwcmd} add deny icmp from any to any frag
    ${fwcmd} add deny log icmp from any to 255.255.255.255 in via ${oif}
    ${fwcmd} add deny log icmp from any to 255.255.255.255 out via ${oif}

# squid
#    ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${inet}:${imask} to any 80 via ${oif}

# nat
    ${fwcmd} add divert 8668 ip from ${inet}:${imask} to any out via ${oif}
    ${fwcmd} add divert 8668 ip from any to ${oip} in via ${oif}

# deny through oif
#    ${fwcmd} add deny ip from 10.0.0.0/8 to any out via ${oif}
    ${fwcmd} add deny ip from 172.16.0.0/12 to any out via ${oif}
    ${fwcmd} add deny ip from 192.168.0.0/16 to any out via ${oif}
    ${fwcmd} add deny ip from 0.0.0.0/8 to any out via ${oif}
    ${fwcmd} add deny ip from 169.254.0.0/16 to any out via ${oif}
    ${fwcmd} add deny ip from 224.0.0.0/4 to any out via ${oif}
    ${fwcmd} add deny ip from 240.0.0.0/4 to any out via ${oif}

${fwcmd} add deny tcp from any to any in tcpflags fin,syn

# разрешаем входящии соединения по указанным портам ssh,webmin
    ${fwcmd} add allow tcp from any to ${oip} 22 via ${oif}
    ${fwcmd} add allow tcp from any to ${oip} 10001 via ${oif}
#    ${fwcmd} add allow tcp from any to ${oip} 80 setup
#    ${fwcmd} add allow tcp from any to ${oip} 25 setup
#    ${fwcmd} add allow tcp from any to ${oip} 110 setup
#    ${fwcmd} add allow tcp from any to ${oip} 143 setup

# разрешаем весь исходящий траффик
    ${fwcmd} add allow ip from ${oip} to any out via ${oif}
    
# разрешаем весь tcp,udp,icmp траффик внутри локалки
    ${fwcmd} add allow tcp from any to any via ${iif}
    ${fwcmd} add allow udp from any to any via ${iif}
    ${fwcmd} add allow icmp from any to any via ${iif}

# разрешаем все установленные соединения
    ${fwcmd} add allow tcp from any to any established
# разрешае фрaгментированные пакеты
#    ${fwcmd} add allow ip from any to any frag

# разрешаем DNS
    ${fwcmd} add allow udp from any 53 to any via ${oif}
#    ${fwcmd} add allow udp from any to any 53 via ${oif}
# разрешаем NTP
    ${fwcmd} add allow udp from any to any 123 via ${oif}
#разрешаем некоторые типы ICMP
    ${fwcmd} add allow icmp from any to any icmptypes 0,3,8,11 via ${oif}

    ${fwcmd} add deny tcp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
    ${fwcmd} add deny udp from ${inet}:${imask} to any 135-139,445 in recv ${iif}
    ${fwcmd} add deny ip from ${inet}:${imask} to any in recv ${oif}

    ${fwcmd} add deny ip from any to any
Спасибо всем за участие...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35066
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-12 15:59:16

а можно всё же ipfw list увидеть ?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-12 16:03:04

сорри под гостем был я
rl0 - внешний инт
xl0 - внутрен инт
ipfw show

Код: Выделить всё

freebsd# ipfw show
00100    0      0 check-state
00200    0      0 allow ip from any to any via lo0
00300    0      0 deny ip from any to 127.0.0.0/8
00400    0      0 deny ip from 127.0.0.0/8 to any
00500    0      0 deny ip from any to 172.16.0.0/12 in via rl0
00600   91  11401 deny ip from any to 192.168.0.0/16 in via rl0
00700    0      0 deny ip from any to 0.0.0.0/8 in via rl0
00800    6    978 deny ip from any to 169.254.0.0/16 in via rl0
00900  130  38468 deny ip from any to 240.0.0.0/4 in via rl0
01000    0      0 deny ip from 224.0.0.0/4 to any in via rl0
01100    0      0 deny icmp from any to any frag
01200    0      0 deny log logamount 100 icmp from any to 255.255.255.255 in via rl0
01300    0      0 deny log logamount 100 icmp from any to 255.255.255.255 out via rl0
01400  126  87767 divert 8668 ip from 10.10.0.0/24 to any out via rl0
01500  356  60879 divert 8668 ip from any to 191.100.100.203 in via rl0
01600    0      0 deny ip from 172.16.0.0/12 to any out via rl0
01700    0      0 deny ip from 192.168.0.0/16 to any out via rl0
01800    0      0 deny ip from 0.0.0.0/8 to any out via rl0
01900    0      0 deny ip from 169.254.0.0/16 to any out via rl0
02000    0      0 deny ip from 224.0.0.0/4 to any out via rl0
02100    0      0 deny ip from 240.0.0.0/4 to any out via rl0
02200    0      0 deny tcp from any to any in tcpflags syn,fin
02300  164  12552 allow tcp from any to 191.100.100.203 dst-port 22 via rl0
02400   89  16751 allow tcp from any to 191.100.100.203 dst-port 10001 via rl0
02500  403 226705 allow ip from 191.100.100.203 to any out via rl0
02600  145 111340 allow tcp from any to any via xl0
02700  197  23295 allow udp from any to any via xl0
02800   47   2820 allow icmp from any to any via xl0
02900   58  26195 allow tcp from any to any established
03000   22   4001 allow udp from any 53 to any via rl0
03100    0      0 allow udp from any to any dst-port 123 via rl0
03200   23   1380 allow icmp from any to any icmptypes 0,3,8,11 via rl0
03300    0      0 deny tcp from 10.10.0.0/24 to any dst-port 135-139,445 in recv xl0
03400    0      0 deny udp from 10.10.0.0/24 to any dst-port 135-139,445 in recv xl0
03500    0      0 deny ip from 10.10.0.0/24 to any in recv rl0
03600 1865 200089 deny ip from any to any
65535    0      0 deny ip from any to any
ipfw list

Код: Выделить всё

freebsd# ipfw list
00100 check-state
00200 allow ip from any to any via lo0
00300 deny ip from any to 127.0.0.0/8
00400 deny ip from 127.0.0.0/8 to any
00500 deny ip from any to 172.16.0.0/12 in via rl0
00600 deny ip from any to 192.168.0.0/16 in via rl0
00700 deny ip from any to 0.0.0.0/8 in via rl0
00800 deny ip from any to 169.254.0.0/16 in via rl0
00900 deny ip from any to 240.0.0.0/4 in via rl0
01000 deny ip from 224.0.0.0/4 to any in via rl0
01100 deny icmp from any to any frag
01200 deny log logamount 100 icmp from any to 255.255.255.255 in via rl0
01300 deny log logamount 100 icmp from any to 255.255.255.255 out via rl0
01400 divert 8668 ip from 10.10.0.0/24 to any out via rl0
01500 divert 8668 ip from any to 191.100.100.203 in via rl0
01600 deny ip from 172.16.0.0/12 to any out via rl0
01700 deny ip from 192.168.0.0/16 to any out via rl0
01800 deny ip from 0.0.0.0/8 to any out via rl0
01900 deny ip from 169.254.0.0/16 to any out via rl0
02000 deny ip from 224.0.0.0/4 to any out via rl0
02100 deny ip from 240.0.0.0/4 to any out via rl0
02200 deny tcp from any to any in tcpflags syn,fin
02300 allow tcp from any to 191.100.100.203 dst-port 22 via rl0
02400 allow tcp from any to 191.100.100.203 dst-port 10001 via rl0
02500 allow ip from 191.100.100.203 to any out via rl0
02600 allow tcp from any to any via xl0
02700 allow udp from any to any via xl0
02800 allow icmp from any to any via xl0
02900 allow tcp from any to any established
03000 allow udp from any 53 to any via rl0
03100 allow udp from any to any dst-port 123 via rl0
03200 allow icmp from any to any icmptypes 0,3,8,11 via rl0
03300 deny tcp from 10.10.0.0/24 to any dst-port 135-139,445 in recv xl0
03400 deny udp from 10.10.0.0/24 to any dst-port 135-139,445 in recv xl0
03500 deny ip from 10.10.0.0/24 to any in recv rl0
03600 deny ip from any to any
65535 deny ip from any to any

Гость
проходил мимо

Непрочитанное сообщение Гость » 2007-03-29 9:59:52

Ребята простите, что напрягаю, но столкнулся со следующей проблемой:
- не могу через аутлук отправить почту пишет ошибка сокета и т.д., порт smtp стандартный 25, по 110 все получаю. в правилах ipfw на выход все разрешено. даже ставлю правило разрешить все всем, но все равно не проходит. Правила для ipfw такие:

Код: Выделить всё

fwcmd="/sbin/ipfw -q"

# Flush out the list before we begin.
${fwcmd} -f flush

# Set these to your outside interface network and netmask and ip.
oif="xl1"
onet="10.28.2.0"
omask="255.255.255.0"
oip="10.28.2.126"

# Set these to your inside interface network and netmask and ip
iif="xl0"
inet="192.168.10.0"
imask="255.255.255.0"
iip="192.168.10.250"

# Проверяем - соответствует ли пакет динамическим правилам:  
    ${fwcmd} add check-state
    
# setup loopback
    ${fwcmd} add allow ip from any to any via lo0
    ${fwcmd} add deny ip from any to 127.0.0.0/8
    ${fwcmd} add deny ip from 127.0.0.0/8 to any
		
# deny on oif:
#    ${fwcmd} add deny ip from any to 10.0.0.0/8 in via ${oif}
    ${fwcmd} add deny ip from any to 172.16.0.0/12 in via ${oif}
#    ${fwcmd} add deny ip from any to 192.168.0.0/16 in via ${oif}
    ${fwcmd} add deny ip from any to 0.0.0.0/8 in via ${oif}
    ${fwcmd} add deny ip from any to 169.254.0.0/16 in via ${oif}
    ${fwcmd} add deny ip from any to 240.0.0.0/4 in via ${oif}
    ${fwcmd} add deny ip from 224.0.0.0/4 to any in via ${oif}
    ${fwcmd} add deny icmp from any to any frag
    ${fwcmd} add deny icmp from any to 255.255.255.255 in via ${oif}
    ${fwcmd} add deny icmp from any to 255.255.255.255 out via ${oif}
						    
# squid
#    ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${inet}:${imask} to any 80 via ${oif}
						    
# nat
    ${fwcmd} add divert 8668 ip from ${inet}:${imask} to any out via ${oif}
    ${fwcmd} add divert 8668 ip from any to ${oip} in via ${oif}
	
# deny through oif
#    ${fwcmd} add deny ip from 10.0.0.0/8 to any out via ${oif}
    ${fwcmd} add deny ip from 172.16.0.0/12 to any out via ${oif}
#    ${fwcmd} add deny ip from 192.168.0.0/16 to any out via ${oif}
    ${fwcmd} add deny ip from 0.0.0.0/8 to any out via ${oif}
    ${fwcmd} add deny ip from 169.254.0.0/16 to any out via ${oif}
    ${fwcmd} add deny ip from 224.0.0.0/4 to any out via ${oif}
    ${fwcmd} add deny ip from 240.0.0.0/4 to any out via ${oif}
				
    ${fwcmd} add deny tcp from any to any in tcpflags fin,syn
				
# разрешаем входящии соединения по указанным портам
    ${fwcmd} add allow tcp from any to ${oip} 22 via ${oif}
    ${fwcmd} add allow tcp from any to ${oip} 10001 via ${oif}
#    ${fwcmd} add allow tcp from any to any 4899 via ${oif}
#    ${fwcmd} add allow tcp from any to ${oip} 80 setup
#    ${fwcmd} add allow tcp from any to ${oip} 25 setup
#    ${fwcmd} add allow tcp from any to ${oip} 110 setup
#    ${fwcmd} add allow tcp from any to ${oip} 143 setup
					
# разрешаем весь исходящий траффик
    ${fwcmd} add allow ip from ${oip} to any out via ${oif}
				        
# разрешаем весь tcp,udp,icmp траффик внутри локалки
    ${fwcmd} add allow tcp from any to any via ${iif}
    ${fwcmd} add allow udp from any to any via ${iif}
    ${fwcmd} add allow icmp from any to any via ${iif}
							
# разрешаем все установленные соединения
    ${fwcmd} add allow tcp from any to any established
# разрешае фрaгментированные пакеты
    ${fwcmd} add allow ip from any to any frag
							    
# разрешаем DNS
    ${fwcmd} add allow udp from any 53 to any via ${oif}
#    ${fwcmd} add allow udp from any to any 53 via ${oif}
# разрешаем 87 udp порт для банк-клиента SBRF
    ${fwcmd} add allow udp from any 87 to any via ${oif}
#    ${fwcmd} add allow udp from any to any 87 via ${oif}
# разрешаем 1700 udp и tcp порт для банк-клиента RosEvroBank (195.151.133.15)
    ${fwcmd} add allow tcp from any 1700 to any via ${oif}
#    ${fwcmd} add allow tcp from any to any 1700 via ${oif}
    ${fwcmd} add allow udp from any 1700 to any via ${oif}
#    ${fwcmd} add allow udp from any to any 1700 via ${oif}
# разрешаем NTP
    ${fwcmd} add allow udp from any to any 123 via ${oif}
#разрешаем некоторые типы ICMP
    ${fwcmd} add allow icmp from any to any icmptypes 0,3,8,11 via ${oif}
									    
#    ${fwcmd} add deny ip from any to any

Что самое главное, с тем же самым правилом в другом месте в другой сети все работает на ура.
Подскажите что может быть? Заранее спасибо :)

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-29 10:03:33

извините, забыл зарегиться. я это был :)

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-03-29 10:35:57

lexa писал(а):извините, забыл зарегиться. я это был :)
Пробуй tcpdump на внутр/внешнем интерфейсе и смотри.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
lexa
ефрейтор
Сообщения: 54
Зарегистрирован: 2007-02-27 16:41:04
Откуда: Москва
Контактная информация:

Непрочитанное сообщение lexa » 2007-03-29 16:26:58

Вопрос снят. Нужно было в smtp прописывать smtp прова. Всем спасибо :)