Здравейте,

тоя въпрос го задавах наскоро в linux-net, ама така си и остана без отговор.
Дано някои от вас които не чете linux-net да има опит със задачката. Ситуацията
е следната:

 +----------------+
 | Linux box  A   |
 +----------------+
          | xx.xx.xx.21
          |
          | xx.xx.xx.17
 +----------------+ xx.xx.xx.5          +----------------+
 | Linux router-1 | <-----------------> | Linux router-2 |
 +----------------+          xx.xx.xx.6 +----------------+


Като начало, rp_filter е 0 и не се очаква да филтрира пакети идващи от грешен
интерфейс.

root@router-1:~# for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "0" > $i ;done

root@router-2:~# hping xx.xx.xx.21 --icmp -a xx.xx.xx.19 -c 3

root@box-a:~# tcpdump -p icmp
tcpdump: listening on eth0
22:40:15.458399 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:40:16.455486 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:40:17.455806 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request

So far so good... не е включен и не работи. Точно по план ;-)

root@router-1:~# for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "1" > $i ;done
root@router-1:~# for i in /proc/sys/net/ipv4/conf/*/log_martians; do echo "1" > $i 
;done

root@router-2:~# hping xx.xx.xx.21 --icmp -a xx.xx.xx.19 -c 3

root@box-a:~# tcpdump -p icmp
tcpdump: listening on eth0
22:44:52.515555 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:44:53.509648 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:44:54.509775 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request

Тука обаче rp_filter вече е 1, но продължава да не работи... ;/
Може би трябва да нулираме рутинг кеш-а?

root@router-1:~# ip route flush cache

root@router-2:~# hping xx.xx.xx.21 --icmp -a xx.xx.xx.19 -c 3

root@box-a:~# tcpdump -p icmp
tcpdump: listening on eth0

Взе че стана. Обаче се предполага филтрираните пакети да се записват в syslog.
Само че не се. Опитах с ядро 2.2.17 и 2.2.18, както и с различни версии на
iproute2 и syslogd/klogd. Резултата за съжаление беше същият. Някои може ли да
даде коментар по случая?

egards

-- 
        =- --rw------- =--=--=--=--=--=--=--=--=--=--=--=--=--=
          Theodor Milkov           Administrator IP Networks
          Davidov Electric Ltd.    Phone: +359 (2) 730158
          PGP: http://www.xx.xx.xx.21/zimage.asc
        =--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=

-- --> Translated message begin  <-- --

Zdraveite,

toia vupros go zadavah naskoro v linux-net, ama taka si i ostana bez otgovor.
Dano niakoi ot vas koito ne chete linux-net da ima opit sus zadachkata. Situaciiata
e slednata:

 +----------------+
 | Linux box  A   |
 +----------------+
          | xx.xx.xx.21
          |
          | xx.xx.xx.17
 +----------------+ xx.xx.xx.5          +----------------+
 | Linux router-1 | <-----------------> | Linux router-2 |
 +----------------+          xx.xx.xx.6 +----------------+


Kato nachalo, rp_filter e 0 i ne se ochakva da filtrira paketi idvashti ot greshen
interfeis.

root@router-1:~# for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "0" > $i ;done

root@router-2:~# hping xx.xx.xx.21 --icmp -a xx.xx.xx.19 -c 3

root@box-a:~# tcpdump -p icmp
tcpdump: listening on eth0
22:40:15.458399 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:40:16.455486 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:40:17.455806 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request

So far so good... ne e vkliuchen i ne raboti. Tochno po plan ;-)

root@router-1:~# for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "1" > $i ;done
root@router-1:~# for i in /proc/sys/net/ipv4/conf/*/log_martians; do echo "1" > $i 
;done

root@router-2:~# hping xx.xx.xx.21 --icmp -a xx.xx.xx.19 -c 3

root@box-a:~# tcpdump -p icmp
tcpdump: listening on eth0
22:44:52.515555 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:44:53.509648 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request
22:44:54.509775 xx.xx.xx.19 > xx.xx.xx.21: icmp: echo request

Tuka obache rp_filter veche e 1, no produljava da ne raboti... ;/
Moje bi triabva da nulirame ruting kesh-a?

root@router-1:~# ip route flush cache

root@router-2:~# hping xx.xx.xx.21 --icmp -a xx.xx.xx.19 -c 3

root@box-a:~# tcpdump -p icmp
tcpdump: listening on eth0

Vze che stana. Obache se predpolaga filtriranite paketi da se zapisvat v syslog.
Samo che ne se. Opitah s iadro 2.2.17 i 2.2.18, kakto i s razlichni versii na
iproute2 i syslogd/klogd. Rezultata za sujalenie beshe sushtiiat. Niakoi moje li da
dade komentar po sluchaia?

egards

-- 
        =- --rw------- =--=--=--=--=--=--=--=--=--=--=--=--=--=
          Theodor Milkov           Administrator IP Networks
          Davidov Electric Ltd.    Phone: +359 (2) 730158
          PGP: http://www.xx.xx.xx.21/zimage.asc
        =--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=

-- --> End of translated message <-- --

PGP signature

Reply via email to