Страница 1 из 1

Проблема с IPFW

Добавлено: 2012-01-19 13:31:56
frost17
Имеется конфиг IPFW правило 95 работает и пакеты проходят, но почему то работает только почта и ssh, а вот аська или HTTP не работают, с правилом 100 все работает без проблем! Кто может подсказать что не так я сделал?
${fw} add 10 allow all from any to any via lo0
интерфейсы
ste0="x.x.x.x" 255.255.255.248
vr0="192.168.10.0" 255.255.255.0

###ipfw#####
${fw} add 10 allow all from any to any via lo0
${fw} add 20 deny ip from 127.0.0.0/8 to any
${fw} add 30 deny ip from any to 127.0.0.0/8
${fw} add 40 deny ip from 192.168.10.0/24 to any in recv ste0
${fw} add 50 divert natd all from any to any via ste0

${fw} add 60 allow tcp from any to any established
${fw} add 70 allow tcp from me to any setup

${fw} add 80 allow udp from me to any 53 via ste0
${fw} add 90 allow udp from any 53 to me via ste0

${fw} add 95 pass tcp from 192.168.10.0/24 to any 5190,25,110,80,443,8080,22


#${fw} add 100 allow all from 192.168.10.0/24 to any via vr0
${fw} add 120 allow all from me to any via vr0
${fw} add 150 allow icmp from any to any

Re: Проблема с IPFW

Добавлено: 2012-01-19 13:46:01
BirdGovorun
${fw} add 95 pass ip from 192.168.10.0/24 to any 5190,25,110,80,443,8080,22

Re: Проблема с IPFW

Добавлено: 2012-01-19 14:53:11
frost17
BirdGovorun писал(а):${fw} add 95 pass ip from 192.168.10.0/24 to any 5190,25,110,80,443,8080,22
rc.conf на всякий случай
defaultrouter="x.x.x.x"
hostname="testo.hot"
ifconfig_ste0="inet x.x.x.x netmask 255.255.255.248"
ifconfig_vr0="inet 192.168.10.5 netmask 255.255.255.0"

mpd_enable="YES"
sshd_enable="YES"
gateway_enable="YES"
natd_enable="YES"
natd_interface="ste0"
firewall_enable="YES"
named_enable="YES"
firewall_script="etc/ipfw.conf1"
#squid_enable="YES"

ipfw show
00010 0 0 allow ip from any to any via lo0
00020 0 0 deny ip from 127.0.0.0/8 to any
00030 0 0 deny ip from any to 127.0.0.0/8
00040 0 0 deny ip from 192.168.10.0/24 to any in recv ste0
00050 2043 1088664 divert 8668 ip from any to any via ste0
00060 4004 2185256 allow tcp from any to any established
00070 80 3840 allow tcp from me to any setup
00080 10 654 allow udp from me to any dst-port 53 via ste0
00090 10 654 allow udp from any 53 to me via ste0
00095 82 3936 allow ip from 192.168.10.0/24 to any dst-port 5190,25,110,80,443,8080,22 via vr0
00120 0 0 allow ip from me to any via vr0
00150 0 0 allow icmp from any to any
65535 1238 87474 deny ip from any to any
Все по старому, ничего не поменялось, единственное забыл сказать что некоторые сайты открывает например этот, и яндекс. аська не работает почта работает но заработала она не сразу почему то. Повторюсь с правилом "#${fw} add 100 allow all from 192.168.10.0/24 to any via vr0
" все работает без проблем.

Re: Проблема с IPFW

Добавлено: 2012-01-19 16:55:54
frost17
Ау? тут одни ученики сидят? никто не может подсказать?

Re: Проблема с IPFW

Добавлено: 2012-01-19 17:27:15
skeletor
А почему нигде нету правила check-state, зато хватает established/setup? Ведь они не сработают, так как нету check-state.

Re: Проблема с IPFW

Добавлено: 2012-01-19 17:55:16
hizel
skeletor пройдите в man ipfw

Топикстартер прочитайте, что написано красным\по розовенькому вверху форумчика

Re: Проблема с IPFW

Добавлено: 2012-01-19 19:12:40
skeletor
Был уже :), объясните тогда, где я неправ.

Re: Проблема с IPFW

Добавлено: 2012-01-19 19:15:30
hizel
все ваше предыдущее сообщение не верно

Re: Проблема с IPFW

Добавлено: 2012-01-19 19:20:10
skeletor
Таки-да! Перепутал с keep-state. Вы правы.

Re: Проблема с IPFW

Добавлено: 2012-01-20 10:05:38
frost17
skeletor писал(а):А почему нигде нету правила check-state, зато хватает established/setup? Ведь они не сработают, так как нету check-state.
Как я понял established можно использовать вместо keep-state. Но когда добавил, что вы говорите заработало как я и хотел. Только мне козалось, что keep-state не будет работать без check-state, в ipfw show оно не работает.

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

testo# ipfw show
00010     0        0 allow ip from any to any via lo0
00020     0        0 deny ip from 127.0.0.0/8 to any
00030     0        0 deny ip from any to 127.0.0.0/8
00050 13853  7172993 divert 8668 ip from any to any via ste0
00055     0        0 check-state
00060  5657   694540 allow tcp from any to any established keep-state
00070   566    27168 allow tcp from me to any setup
00080   596   105670 allow udp from me to any dst-port 53 via ste0 keep-state
00090     0        0 allow udp from any 53 to me via ste0 keep-state
00095 20456 13439730 allow ip from 192.168.10.0/24 to any dst-port 25,110,80,445 via vr0 keep-state
00120   242    45435 allow ip from 192.168.10.0/24 to me keep-state
00150     2      112 allow icmp from any to any keep-state
65535   694    44323 deny ip from any to any
p.s. У меня нету знакомых кто бы смог помочь мне, а учиться надо на живых примерах, в теории все красиво и ясно, но есть всегда какие то подводные камни, на практике бардак и каша в голове! :sorry:

Re: Проблема с IPFW

Добавлено: 2012-01-20 10:25:11
hizel
keep-state не будет работать без check-state, в ipfw show оно не работае
просто счетчик пакетов для check-state не работает

еще раз читаем man ipfw
Dynamic rules will be checked at the first check-state, keep-state or limit occurrence, and the action performed upon a match will be the same as in the parent rule.
вот это предложение
Как я понял established можно использовать вместо keep-state.
опять же в man ipfw
established
Matches TCP packets that have the RST or ACK bits set.
просто проверяется пару флагов в tcp заголовке, для udp\icmp не поможет
У меня нету знакомых кто бы смог помочь мне,
это к лучшему

Re: Проблема с IPFW

Добавлено: 2012-01-20 10:34:40
hizel
http://www.freebsd.org/doc/en_US.ISO885 ... l#AEN41113 вот тут отличная разминка для ума

Re: Проблема с IPFW

Добавлено: 2012-01-20 11:00:19
frost17
hizel писал(а):http://www.freebsd.org/doc/en_US.ISO885 ... l#AEN41113 вот тут отличная разминка для ума
Спасибо, думаю то, что нужно! :good: