Есть роутер на базе фрей на нём стоит нетапвоский rfw
Биллинг стоит на другом серваке.
Вроде как эта связка работает.
Клиент если подключается в ссистему, то биллинг выдаёт команду и на файерволе добаавляется сот-щее правило.
так же и при отключении.
Но вот в чём штука - данные не передаются, как будто правила на файерволе не работают.
По умолчанию он настроен на запрет всего, в правилах задаём что пропускать.
Приведу листинг правил файервола ipfw show
клиент 172.20.21.4 не подключен в систему:
00100 40 5040 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
00400 853 124100 ngtee 10 ip from any to any out xmit dc0
00500 2549 810397 ngtee 10 ip from any to any out xmit sk0
00600 427 27381 ngtee 10 ip from any to any out xmit msk0
00700 608 75946 ngtee 10 ip from any to any out xmit msk1
00800 0 0 ngtee 10 ip from any to any out xmit re0
00900 37 2008 allow ip from 172.20.21.0/24,172.20.23.0/24 to 172.20.22.0/24 dst-port 53,80,443,11758
01000 49 4701 allow ip from 172.20.22.0/24 53,80,443,11758 to 172.20.21.0/24,172.20.23.0/24
01100 829 44437 allow ip from 172.20.22.1,172.20.20.0/24 to 172.20.22.0/24,172.20.20.0/24,224.0.0.0/8
01200 848 94375 allow ip from 172.20.22.0/24,172.20.20.0/24,224.0.0.0/8 to 172.20.20.0/24,172.20.22.1
01300 12 2101 allow ip from 172.20.22.2,172.20.20.6,172.20.20.31 to 172.20.19.2
01400 12 2611 allow ip from 172.20.19.2 to 172.20.22.2,172.20.20.6,172.20.20.31
01500 1219 144679 allow ip from 172.20.20.31 to any
01600 1311 432989 allow ip from any to 172.20.20.31
01700 1 229 allow ip from any to 172.20.21.0/24
01800 68 4080 deny log logamount 1000 ip from any to any
65535 685 51475 allow ip from any to any
клиент 172.20.21.4 подключен в систему:
00100 40 5040 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
00400 1052 138598 ngtee 10 ip from any to any out xmit dc0
00500 3336 1275260 ngtee 10 ip from any to any out xmit sk0
00600 618 49147 ngtee 10 ip from any to any out xmit msk0
00700 814 107036 ngtee 10 ip from any to any out xmit msk1
00800 0 0 ngtee 10 ip from any to any out xmit re0
00900 93 8252 allow ip from 172.20.21.0/24,172.20.23.0/24 to 172.20.22.0/24 dst-port 53,80,443,11758
01000 110 18667 allow ip from 172.20.22.0/24 53,80,443,11758 to 172.20.21.0/24,172.20.23.0/24
01100 1112 58919 allow ip from 172.20.22.1,172.20.20.0/24 to 172.20.22.0/24,172.20.20.0/24,224.0.0.0/8
01200 1062 276842 allow ip from 172.20.22.0/24,172.20.20.0/24,224.0.0.0/8 to 172.20.20.0/24,172.20.22.1
01300 23 3419 allow ip from 172.20.22.2,172.20.20.6,172.20.20.31 to 172.20.19.2
01400 23 5836 allow ip from 172.20.19.2 to 172.20.22.2,172.20.20.6,172.20.20.31
01500 1537 165659 allow ip from 172.20.20.31 to any
01600 1641 489493 allow ip from any to 172.20.20.31
01700 1 229 allow ip from any to 172.20.21.0/24
01800 102 6000 deny log logamount 1000 ip from any to any
добавилась эта строка.
05009 0 0 allow ip from 172.20.21.4 to any
не пойму откуда вообще эта строка берётся, ведь в правилах файервола она не задана и в правилах биллинга тоже.
65535 685 51475 allow ip from any to any
При этом передача данных не осуществляется:
ipfw: 1800 Deny ICMP:8.0 172.20.21.4 172.20.20.4 in via msk0
запросы входящие на хосты от абонента отклоняются сразу.
Почему??
Листинг правил файервола:
${fwcmd} add ngtee 10 all from any to any out xmit dc0
${fwcmd} add ngtee 10 all from any to any out xmit sk0
${fwcmd} add ngtee 10 all from any to any out xmit msk0
${fwcmd} add ngtee 10 all from any to any out xmit msk1
${fwcmd} add ngtee 10 all from any to any out xmit re0
${fwcmd} add pass all from ${inet21}:${imask},${inet23}:${imask} to ${inet22}:${imask} 53,80,443,11758
${fwcmd} add pass all from ${inet22}:${imask} 53,80,443,11758 to ${inet21}:${imask},${inet23}:${imask}
${fwcmd} add pass all from ${iip22_1},${inet20}:${imask} to ${inet22}:${imask},${inet20}:${imask},${inet224}:${ima
${fwcmd} add pass all from ${inet22}:${imask},${inet20}:${imask},${inet224}:${imask0} to ${inet20}:${imask},${iip2
#access to gate1
${fwcmd} add pass all from ${iip22_2},${iip20_6},${iip20_31} to ${iip19_2}
${fwcmd} add pass all from ${iip19_2} to ${iip22_2},${iip20_6},${iip20_31}
#access v internet
${fwcmd} add pass all from ${iip20_31} to any
${fwcmd} add pass all from any to ${iip20_31}
${fwcmd} add pass all from any to ${inet21}:${imask}
Мужики, помогите
туплю уже второй день, ничего не могу понять
При чём всё у меня работало, пока я на хосте абонента (экспериментально) не подменил айпи адрес на не родной, чтобы проверить что получится. Ну вот блин проерил. Только не пойму взаимосвязи.
Спасибо за помощь
Проблема с ipfw
Re: Проблема с ipfw
Правила в ipfw обрабатываются по-возрастанию, соответственно их номерам. Когда проверка доходит до правила 1800 то оно блокирует любой трафик. А у вас доступ клиентам открывается правилами с номерами 5000+, которые идут явно после 1800.alexus писал(а): добавилась эта строка.
05009 0 0 allow ip from 172.20.21.4 to any
не пойму откуда вообще эта строка берётся, ведь в правилах файервола она не задана и в правилах биллинга тоже.
65535 685 51475 allow ip from any to any
При этом передача данных не осуществляется:
ipfw: 1800 Deny ICMP:8.0 172.20.21.4 172.20.20.4 in via msk0
запросы входящие на хосты от абонента отклоняются сразу.
Почему??
Правило 65535 это дефолтное правило в ipfw оно будет присутствовать всегда, даже если сделать ipfw flush. А вот allow в нем будет или deny зависит от наличии опции ядра IPFIREWALL_DEFAULT_TO_ACCEPT (по умолчанию DENY)
Re: Проблема с ipfw
01800 102 6000 deny log logamount 1000 ip from any to anygravis писал(а):Правила в ipfw обрабатываются по-возрастанию, соответственно их номерам. Когда проверка доходит до правила 1800 то оно блокирует любой трафик. А у вас доступ клиентам открывается правилами с номерами 5000+, которые идут явно после 1800.alexus писал(а): добавилась эта строка.
05009 0 0 allow ip from 172.20.21.4 to any
не пойму откуда вообще эта строка берётся, ведь в правилах файервола она не задана и в правилах биллинга тоже.
65535 685 51475 allow ip from any to any
При этом передача данных не осуществляется:
ipfw: 1800 Deny ICMP:8.0 172.20.21.4 172.20.20.4 in via msk0
запросы входящие на хосты от абонента отклоняются сразу.
Почему??
Правило 65535 это дефолтное правило в ipfw оно будет присутствовать всегда, даже если сделать ipfw flush. А вот allow в нем будет или deny зависит от наличии опции ядра IPFIREWALL_DEFAULT_TO_ACCEPT (по умолчанию DENY)
эта строка ведь только даёт возможность писать в лог запрещённые соединиения. Но сами соединения оно не блокирует.
IPFIREWALL_DEFAULT_TO_ACCEPT
у меня нет, но всё арвно присутствует там allow
ВОт и не пойму что за хренотень
Если deny log, то логика такая - "пошел вон и запишем, что ты тут был". Просто log нету, если очень хочется, то можно извернуться через skipto ... log.
Последний раз редактировалось JAO Ср сен 02, 2009 17:14, всего редактировалось 1 раз.