Jump to content

Recommended Posts

Posted

Имеется работающая на нескольких серверах FreeBSD 6.2 связка из ipfw и ng_netflow, считающая трафик на tun-интерфейсах.

 

На одном из серверов она почему-то не посылает Netflow.

Проверяю это с помощью "tcpdump -ntpi bge1 port 9996", посылая через туннель "ping -t ya.ru".

Ipfw+ng_nat при этом работает нормально.

 

Вопрос: в чём может быть проблема, и как отлаживать?

В частности, как посмотреть IP-адрес и порт, настроенные в сокете для отправки?

 

Настройка:

kldload netgraph
kldload ng_ipfw
kldload ng_netflow

sysctl net.inet.ip.fw.enable=1
sysctl net.inet.ip.fw.one_pass=0

ipfw add 100 netgraph 100 ip from any to any via "tun*"

ngctl mkpeer ipfw: netflow 100 iface0
ngctl name ipfw:100 netflow
ngctl connect ipfw: netflow: 99 out0
ngctl mkpeer netflow: ksocket export inet/dgram/udp
ngctl msg netflow:export connect inet/192.168.1.1:9996

ngctl msg netflow: "setdlt     { iface=0 dlt=12  }"
ngctl msg netflow: "setifindex { iface=0 index=5 }"

Проверка:

# ipfw show 100
00100 25130 11294617 netgraph 100 ip from any to any via tun*

# kldstat
Id Refs Address    Size     Name
1   18 0xc0400000 70794c   kernel
2    6 0xc0b08000 c83c     netgraph.ko
3    1 0xc0b15000 836c     dummynet.ko
4    3 0xc0b1e000 eaf4     ipfw.ko
5    1 0xc0b2d000 59f20    acpi.ko
6    1 0xc4fe4000 2000     ng_ipfw.ko
7    1 0xc4fe6000 4000     ng_netflow.ko
8    1 0xc500c000 4000     ng_socket.ko
9    1 0xc5328000 4000     ng_ksocket.ko
10    1 0xc532d000 2000     ng_nat.ko
11    1 0xc532f000 9000     libalias.ko
12    1 0xc537e000 16000    linux.ko
13    1 0xc53f8000 2000     blank_saver.ko

# ngctl list
There are 5 total nodes:
  Name: ngctl4769       Type: socket          ID: 0000001a   Num hooks: 0
  Name: nat             Type: nat             ID: 0000000c   Num hooks: 2
  Name: nfexport        Type: ksocket         ID: 00000007   Num hooks: 1
  Name: netflow         Type: netflow         ID: 00000003   Num hooks: 3
  Name: ipfw            Type: ipfw            ID: 00000001   Num hooks: 4

# ngctl show "[1]:"
  Name: ipfw            Type: ipfw            ID: 00000001   Num hooks: 4
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  201             nat             nat          0000000c        in
  200             nat             nat          0000000c        out
  99              netflow         netflow      00000003        out0
  100             netflow         netflow      00000003        iface0

# ngctl show "[3]:"
  Name: netflow         Type: netflow         ID: 00000003   Num hooks: 3
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  export          nfexport        ksocket      00000007        inet/dgram/udp
  out0            ipfw            ipfw         00000001        99
  iface0          ipfw            ipfw         00000001        100

# ngctl show "[7]:"
  Name: nfexport        Type: ksocket         ID: 00000007   Num hooks: 1
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  inet/dgram/udp  netflow         netflow      00000003        export

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.