OSPF src adresa
Zdeněk Prchal
prchal na vtdata.cz
Pátek Listopad 23 15:26:47 CET 2007
Mám trochu podivný problém na jednom linux boxu. Kernel 2.6.23 na jednom interface eth0 jsou dvě ip adresy:
[root na linux log]# ip addr
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:02:b3:95:3e:a5 brd ff:ff:ff:ff:ff:ff
inet 195.47.92.6/28 brd 195.47.92.15 scope global eth0
inet 192.168.5.1/24 brd 192.168.5.255 scope global eth0:1
inet6 fe80::202:b3ff:fe95:3ea5/64 scope link
valid_lft forever preferred_lft forever
běží na něm OSPF (quagga 0.99.9), network je definovaný pouze na 192.168.5.0/24,
posílá tedy pakety se source ip 192.168.5.1, jak je ostatně vidět i ve firewallu:
ACCEPT:IN= OUT=eth0 SRC=192.168.5.1 DST=224.0.0.5 LEN=68 TOS=0x00 PREC=0xC0 TTL=1 ID=54132 PROTO=89
Jenže přes interface eth0 už jdou pakety takto?!?:
[root na linux /]# tcpdump -tni eth0 proto ospf
IP 195.47.92.6 > 224.0.0.5: OSPFv2, Hello, length: 48
Myslel jsem nejdřív, že to je práce SNATu, ale jednak přes POSTROUTING tyhle pakety snad vůbec nejdou?!?:
[root na linux /]# iptables -L -vn -t nat
Chain POSTROUTING (policy ACCEPT 2516 packets, 211K bytes)
pkts bytes target prot opt in out source destination
3080 252K eth0_masq all -- * eth0 0.0.0.0/0 0.0.0.0/0
Chain eth0_masq (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT 89 -- * * 0.0.0.0/0 0.0.0.0/0
1071 71205 excl_1 all -- * * 192.168.0.0/16 0.0.0.0/0 policy match dir out pol none
A hlavně, chová se to stejně, i když firewall úplně vypnu. Mám ještě druhé PC, konfigurované obdobně, na jiných adresách, to se ale chová dle očekávání, OSPF posílá svoje pakety z adresy 192.168.5.5, i když je to první alias. Pakety od toho prvního ignoruje, předpokládám, že se mu nelíbí právě ta source ip. Čím ještě v kernelu může být ovlivněna taková změna source ip?
Zdeněk Prchal
Další informace o konferenci Linux