Ilya Evseev Posted August 28, 2010 Posted August 28, 2010 (edited) Имеется FreeBSD (пробовал 7.1 и 8.1), ipfw + ngnetflow, gif- и vlan-интерфейсы к шлюзам других сетей. Динамических правил в ipfw нет (net.inet.ip.fw.dyn_count: 0) Проблема: правило "ipfw add 101 netgraph 101 ip from any to any" не пропускает пакеты на gif-интерфейсах. Первые пакеты в TCP-сессиях проскакивают, дальше происходит затык с ответами. От нагрузки не зависит. На vlan-интерфейсах всё нормально. Ответы на запросы непосредственно с удалённых шлюзов проходят нормально, проблема есть только при обращениях с клиентских машин, расположенных за ними. Если отключить файрволл через sysctl net.inet.ip.fw.enable и выполнить соединение с удалённого клиентского компьютера к локальному сайту, а потом опять включить файрволл, то все следующие соединения некоторое время будут проходить нормально. Если перед ipfw-правилом netgraph вставить "ipfw add 99 skipto 102 tcp from $site to any out" и выполнить соединение, а потом убрать правило, то следующие соединения некоторое время будут проходить нормально. # ngctl show netflow: Name: netflow Type: netflow ID: 00000006 Num hooks: 3 Local hook Peer name Peer type Peer ID Peer hook ---------- --------- --------- ------- --------- export <unnamed> ksocket 0000000c inet/dgram/udp out0 ipfw ipfw 00000001 100 iface0 ipfw ipfw 00000001 101 # ngctl show ipfw: Name: ipfw Type: ipfw ID: 00000001 Num hooks: 2 Local hook Peer name Peer type Peer ID Peer hook ---------- --------- --------- ------- --------- 100 netflow netflow 00000006 out0 101 netflow netflow 00000006 iface0 Создание ноды: ngctl mkpeer ipfw: netflow 101 iface0 ngctl name ipfw:101 netflow ngctl msg netflow: "setdlt { iface=0 dlt=12 }" ngctl connect ipfw: netflow: 100 out0 ngctl mkpeer netflow: ksocket export inet/dgram/udp ngctl msg netflow:export connect inet/10.20.30.40 sysctl.conf: net.link.ether.inet.log_arp_wrong_iface=0 net.inet.ip.dummynet.io_fast=1 net.inet.ip.fastforwarding=1 # пробовал 0 - не помогло. net.inet.ip.redirect=0 net.inet.ip.fw.one_pass=0 net.inet.ip.fw.dyn_buckets=2048 net.inet.ip.dummynet.hash_size=1024 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 net.inet.ip.intr_queue_maxlen=400 Куда рыть? Edited August 28, 2010 by Ilya Evseev Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.