Опять ipfw

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
skorin
ефрейтор
Сообщения: 51
Зарегистрирован: 2010-03-30 9:47:26
Откуда: Санкт-Петербург

Опять ipfw

Непрочитанное сообщение skorin » 2013-04-05 22:04:59

Помогите! Не знаю в какую сторону смотреть :(
Есть сервер:
FreeBSD 9.1-RELEASE amd64
apache22-2.2.24

Ядро:

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

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=50
options         IPFIREWALL_NAT
options         LIBALIAS
options         ROUTETABLES=2
options         HZ="1000"
options         IPFIREWALL_FORWARD
options         IPDIVERT
options         DUMMYNET
options         IPFIREWALL_DEFAULT_TO_ACCEPT
rc.firewall

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

FwCMD="/sbin/ipfw"
LanOut="em0"
LanIn="em1"
IpOut="99.22.22.22"
IpIn="192.168.1.1"
NetIn="192.168.1.0"

${FwCMD} -f flush
${FwCMD} add 100 allow ip from any to any via lo0
${FwCMD} add 200 deny ip from any to 127.0.0.0/8
${FwCMD} add 300 deny ip from 127.0.0.0/8 to any
${FwCMD} add 1040 allow ip from any to any via ${LanIn}
${FwCMD} add 1050 deny ip from any to 192.168.0.0/16 in recv ${LanOut}
${FwCMD} add 1060 deny ip from 192.168.0.0/16 to any in recv ${LanOut}
${FwCMD} add 1070 deny ip from any to 172.16.0.0/12 in recv ${LanOut}
${FwCMD} add 1080 deny ip from 172.16.0.0/12 to any in recv ${LanOut}
${FwCMD} add 1090 deny ip from any to 10.0.0.0/8 in recv ${LanOut}
${FwCMD} add 10100 deny ip from 10.0.0.0/8 to any in recv ${LanOut}
${FwCMD} add 10110 deny ip from any to 169.254.0.0/16 in recv ${LanOut}
${FwCMD} add 10120 deny ip from 169.254.0.0/16 to any in recv ${LanOut}
${FwCMD} add 10130 allow tcp from any to ${IpOut} 22 via ${LanOut}
${FwCMD} add 10130 allow tcp from any to ${IpOut} 80 via ${LanOut}
${FwCMD} nat 1 config log if ${LanOut} reset same_ports deny_in
${FwCMD} add 10140 nat 1 ip from any to any via ${LanOut}
${FwCMD} add 65534 deny all from any to any
Пытаюсь скачать файл с этого сервера, запускаю на удаленной машине:

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

# fetch http://99.22.22.22/DVD1.iso
DVD1.iso                                   0% of 1279 MB  114 kBps
fetch: DVD1.iso appears to be truncated: 96748/1342013440 bytes
#
Сбрасывает практически любой файл больше пару мегабайт...

Понимаю что надо что-то покрутить, но не знаю что :(
То ли в ядре, то ли в sysctl а может правило каких добавить....
Направьте на путь истинный плизз

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Re: Опять ipfw

Непрочитанное сообщение BirdGovorun » 2013-04-05 22:23:11

ipfw show посмотри, много-ли пакетов в последнее правило ппопадают.

Аватара пользователя
skorin
ефрейтор
Сообщения: 51
Зарегистрирован: 2010-03-30 9:47:26
Откуда: Санкт-Петербург

Re: Опять ipfw

Непрочитанное сообщение skorin » 2013-04-05 22:29:08

Запустил, скинуло... посмотрел правила, пусто...

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

00100     1890      185162 allow ip from any to any via lo0
00200        0           0 deny ip from any to 127.0.0.0/8
00300        0           0 deny ip from 127.0.0.0/8 to any
01040  5477904 10331126132 allow ip from any to any via em1
01050        0           0 deny ip from any to 192.168.0.0/16 in recv em0
01060       29        1769 deny ip from 192.168.0.0/16 to any in recv em0
01070        0           0 deny ip from any to 172.16.0.0/12 in recv em0
01080        5         372 deny ip from 172.16.0.0/12 to any in recv em0
01090        0           0 deny ip from any to 10.0.0.0/8 in recv em0
10100       75        3976 deny ip from 10.0.0.0/8 to any in recv em0
10110        0           0 deny ip from any to 169.254.0.0/16 in recv em0
10120        0           0 deny ip from 169.254.0.0/16 to any in recv em0
10130        0           0 allow tcp from any to 99.22.22.22 dst-port 21 via em0
10130       71        3908 allow tcp from any to 99.22.22.22 dst-port 80 via em0
10130        0           0 allow tcp from any to 99.22.22.22 dst-port 22 via em0
10140 11380807 10870358077 nat 1 ip from any to any via em0
65534        0           0 deny ip from any to any
65535      295      240439 allow ip from any to any

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Re: Опять ipfw

Непрочитанное сообщение BirdGovorun » 2013-04-05 22:35:45

А так: fetch -a http://99.22.22.22/DVD1.iso

Аватара пользователя
skorin
ефрейтор
Сообщения: 51
Зарегистрирован: 2010-03-30 9:47:26
Откуда: Санкт-Петербург

Re: Опять ipfw

Непрочитанное сообщение skorin » 2013-04-06 7:59:09

Не получилось... :cry:

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

# fetch -a http://99.22.22.22/DVD1.iso
DVD1.iso                                   0% of 1279 MB   94 kBps
fetch: DVD1.iso appears to be truncated: 96748/1342013440 bytes
#
Дело в том что с любой удаленной машины при попытке скачать через любой браузер скидывает... :(
Добавил правило в ipfw

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

${FwCMD} add 1050 allow ip from any to any via ${LanOut}
Всем всё можно на внешнем интерфейсе, и сразу все закачало!
Поэтому грешу на ipfw или отсутствие в ядре нужного настроя...

snorlov
подполковник
Сообщения: 3923
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Опять ipfw

Непрочитанное сообщение snorlov » 2013-04-07 22:32:48

А вы 2-а правила висящие на 10130, разнесите на 10130 и 10140 к примеру...

Аватара пользователя
skorin
ефрейтор
Сообщения: 51
Зарегистрирован: 2010-03-30 9:47:26
Откуда: Санкт-Петербург

Re: Опять ipfw

Непрочитанное сообщение skorin » 2013-04-08 8:47:08

Да все верно, этого не углядел! Но добавлял это правило для фтп, хотел проверить по нему, но по фтп тож не работает, обрывается :(
Прям полтергейст какой-то :)

Аватара пользователя
skorin
ефрейтор
Сообщения: 51
Зарегистрирован: 2010-03-30 9:47:26
Откуда: Санкт-Петербург

Re: Опять ipfw

Непрочитанное сообщение skorin » 2013-04-08 9:44:33

В общем мало ли кому пригодится.
Все дело в правописании правил :)
Поменял это правило:

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

${FwCMD} add 10130 allow tcp from any to ${IpOut} 80 via ${LanOut}
на это:

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

${FwCMD} add 10130 allow tcp from any to any 80 in via ${LanOut} setup keep-state
И сразу все закрутилось...
Единственный минус у всего этого, почему так происходит не совсем мне понятно :(

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Опять ipfw

Непрочитанное сообщение harmless » 2013-04-11 0:08:02

skorin писал(а):Да все верно, этого не углядел! Но добавлял это правило для фтп, хотел проверить по нему, но по фтп тож не работает, обрывается :(
Прям полтергейст какой-то :)
Для ftp два порта минимум нужно открывать!!!
20 и 21

dash1121
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-04-11 10:03:02

Re: Опять ipfw

Непрочитанное сообщение dash1121 » 2013-04-11 10:17:08

причина в том что у автора нет разрешения на исходящие пакеты? и оба варианта решения их разрешают, только 1 первом случае разрешается все с внешней сетевой, а во втором создается динамическое правило для http?