Jump to content
Калькуляторы

Странности ARP в линуксе Совсем моск взорвало.

Есть линукс, который натит. Он представляет собой "роутер на палочке" и все к ниму приходит в одном интерфейсе в кучке виланов.

 

В одном вилане вся внутренняя сеть с протоколом динамической маршрутизации (BGP\OSPF не суть важно).

 

В двух других виланах приходит "мир" с двух разных бордеров, подключенных к двум разным аплинкам. Промежду бордерами само собой есть /30 линк для перекидывания пакетами напрямую. Соответственно, есть BGP между каждым бордером и его аплинком, между самими бордерами и между каждым бордером и сервантом с НАТом. Нигде ничего не фильтруется, везде FW.

 

Теперь, т.к. default может быть только один (активный), то он смотрит, допустим, в сторону первого бордера. В сторону второго бордера default нет, но есть то, что там выбралось из FW. То, что для него best.

 

На linux'е rp_filter = 0 (реверс патч проверка отключена).

 

Теперь, когда приходит пакет из мира с неким src IP через второй бордер и нет прямого маршрута к src подсети, из которой пришел пакет, смотрящего на второй бордер, линукс генерирует ARP запрос с вопросом относительно MAC а этого IP. Само собой, что на интерфейсе второго бордера. Т.е. на том, откуда пришел пакет.

 

Вопрос: Зачем это нужно и как это прекратить?

 

[root@nat /]# arp -n | wc -l

363

 

cat /etc/sysctl.conf

 

net.ipv4.ip_forward = 1

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.default.accept_source_route = 0

 

net.ipv4.conf.vlan104.arp_filter=1

net.ipv4.conf.vlan111.arp_filter=1

net.ipv4.conf.vlan107.arp_filter=1

 

net.ipv4.conf.vlan104.arp_ignore = 1

net.ipv4.conf.vlan107.arp_ignore = 1

net.ipv4.conf.vlan111.arp_ignore = 1

 

net.ipv4.conf.vlan107.arp_announce=2

net.ipv4.conf.vlan104.arp_announce=2

net.ipv4.conf.vlan111.arp_announce=2

Share this post


Link to post
Share on other sites

[root@nat /]# sysctl -a | grep proxy_arp

net.ipv4.conf.all.proxy_arp = 0

net.ipv4.conf.all.proxy_arp_pvlan = 0

net.ipv4.conf.default.proxy_arp = 0

net.ipv4.conf.default.proxy_arp_pvlan = 0

net.ipv4.conf.eth0.proxy_arp = 0

net.ipv4.conf.eth0.proxy_arp_pvlan = 0

net.ipv4.conf.eth1.proxy_arp = 0

net.ipv4.conf.eth1.proxy_arp_pvlan = 0

net.ipv4.conf.lo.proxy_arp = 0

net.ipv4.conf.lo.proxy_arp_pvlan = 0

net.ipv4.conf.vlan104.proxy_arp = 0

net.ipv4.conf.vlan104.proxy_arp_pvlan = 0

net.ipv4.conf.vlan107.proxy_arp = 0

net.ipv4.conf.vlan107.proxy_arp_pvlan = 0

net.ipv4.conf.vlan111.proxy_arp = 0

net.ipv4.conf.vlan111.proxy_arp_pvlan = 0

 

 

[root@nat /]# tcpdump -n -i vlan111 arp

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on vlan111, link-type EN10MB (Ethernet), capture size 65535 bytes

07:57:58.784649 ARP, Request who-has 37.113.37.9 tell 195.54.177.238, length 28

07:57:58.802640 ARP, Request who-has 109.64.205.153 tell 195.54.177.238, length 28

07:57:58.838641 ARP, Request who-has 37.195.7.157 tell 195.54.177.238, length 28

07:57:58.858659 ARP, Request who-has 178.124.160.114 tell 195.54.177.238, length 28

07:57:58.864649 ARP, Request who-has 176.212.61.186 tell 195.54.177.238, length 28

07:57:58.870649 ARP, Request who-has 89.139.206.117 tell 195.54.177.238, length 28

07:57:58.888641 ARP, Request who-has 77.232.142.157 tell 195.54.177.238, length 28

07:57:58.968641 ARP, Request who-has 77.37.169.66 tell 195.54.177.238, length 28

07:57:58.980642 ARP, Request who-has 37.110.152.0 tell 195.54.177.238, length 28

07:57:59.116643 ARP, Request who-has 46.147.176.13 tell 195.54.177.238, length 28

07:57:59.178641 ARP, Request who-has 93.84.55.90 tell 195.54.177.238, length 28

07:57:59.294611 ARP, Request who-has 93.186.101.116 tell 195.54.177.238, length 28

07:57:59.412911 ARP, Request who-has 46.149.42.147 tell 195.54.177.238, length 28

07:57:59.424641 ARP, Request who-has 178.123.15.253 tell 195.54.177.238, length 28

07:57:59.448639 ARP, Request who-has 178.121.229.59 tell 195.54.177.238, length 28

07:57:59.460646 ARP, Request who-has 178.49.56.142 tell 195.54.177.238, length 28

07:57:59.492616 ARP, Request who-has 194.9.232.191 tell 195.54.177.238, length 28

07:57:59.496104 ARP, Request who-has 188.162.132.12 tell 195.54.177.238, length 28

^C

18 packets captured

29 packets received by filter

0 packets dropped by kernel

[root@nat /]# ip route get 178.123.15.253

178.123.15.253 via 195.54.176.9 dev vlan104 src 195.54.176.10

cache

[root@nat /]# ip route get 178.121.229.59

178.121.229.59 via 195.54.176.9 dev vlan104 src 195.54.176.10

cache

[root@nat /]# ip route get 178.49.56.142

178.49.56.142 via 195.54.176.9 dev vlan104 src 195.54.176.10

cache

[root@nat /]# ip route get 194.9.232.191

194.9.232.191 via 195.54.176.9 dev vlan104 src 195.54.176.10

cache

 

vlan104 - к первому бордеру, vlan111 - ко второму, vlan107 - в серую часть сети.

 

на каждом линке - /30

195.54.176.10 - НАТ в сторону первого бордера 195.54.176.9 - сам бордер.

195.54.177.238 - НАТ в сторону второго бордера, 195.54.177.237 сам второй бордер.

Share this post


Link to post
Share on other sites

07:57:58.784649 ARP, Request who-has 37.113.37.9 tell 195.54.177.238, length 28

[code]

А что думает ip route get 37.113.37.9 на спрашивающем? (ну 37.xx для примера , реально нужно что нибудь со свежего дампа).

 

P.S. По описанию видимо не понял я сначала что ARP запрос на ip из инета.

Share this post


Link to post
Share on other sites

[root@nat /]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:11:85:D6:20:BD

inet addr:10.173.120.49 Bcast:10.173.120.255 Mask:255.255.255.0

inet6 addr: fe80::211:85ff:fed6:20bd/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:337643015 errors:0 dropped:1079 overruns:0 frame:0

TX packets:333070627 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:297167249337 (276.7 GiB) TX bytes:297017231591 (276.6 GiB)

Interrupt:19

 

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:790156 errors:0 dropped:0 overruns:0 frame:0

TX packets:790156 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:53730848 (51.2 MiB) TX bytes:53730848 (51.2 MiB)

 

lo:0 Link encap:Local Loopback

inet addr:195.54.177.21 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:10 Link encap:Local Loopback

inet addr:195.54.177.224 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:11 Link encap:Local Loopback

inet addr:195.54.177.225 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:12 Link encap:Local Loopback

inet addr:195.54.177.226 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:13 Link encap:Local Loopback

inet addr:195.54.177.227 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:14 Link encap:Local Loopback

inet addr:195.54.177.228 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:15 Link encap:Local Loopback

inet addr:195.54.177.229 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:16 Link encap:Local Loopback

inet addr:195.54.177.230 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

lo:17 Link encap:Local Loopback

inet addr:195.54.177.231 Mask:255.255.255.255

UP LOOPBACK RUNNING MTU:16436 Metric:1

 

vlan104 Link encap:Ethernet HWaddr 00:11:85:D6:20:BD

inet addr:195.54.176.10 Bcast:195.54.176.11 Mask:255.255.255.252

inet6 addr: fe80::211:85ff:fed6:20bd/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:85034369 errors:0 dropped:0 overruns:0 frame:0

TX packets:139262671 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:65369994823 (60.8 GiB) TX bytes:130941011590 (121.9 GiB)

 

vlan107 Link encap:Ethernet HWaddr 00:11:85:D6:20:BD

inet addr:10.173.123.26 Bcast:10.173.123.27 Mask:255.255.255.252

inet6 addr: fe80::211:85ff:fed6:20bd/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:177495024 errors:0 dropped:219 overruns:0 frame:0

TX packets:140180312 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:169659813297 (158.0 GiB) TX bytes:120929159530 (112.6 GiB)

 

vlan111 Link encap:Ethernet HWaddr 00:11:85:D6:20:BD

inet addr:195.54.177.238 Bcast:195.54.177.239 Mask:255.255.255.252

inet6 addr: fe80::211:85ff:fed6:20bd/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:69669329 errors:0 dropped:0 overruns:0 frame:0

TX packets:53628171 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:54471330941 (50.7 GiB) TX bytes:42382497609 (39.4 GiB)

 

[root@nat /]#

 

А ip route шибко большой. Там 2xFW

Edited by sol

Share this post


Link to post
Share on other sites

А ip route шибко большой. Там 2xFW

Ну в личку ZIP'ом что-ли пришлите. Есть определенные подозрения, что у вас что-то с маршрутизацией самой подсети на интерфейсе vlan 111 - имею в виду, что она не считается по каким-то причинам локально подключенной.

 

Да, еще вывод

arp -an

хотелось бы.

Edited by Alex/AT

Share this post


Link to post
Share on other sites

Локально подключена она...

[root@nat /]# ip route | grep 195.54.177.236

195.54.177.236/30 dev vlan111 proto kernel scope link src 195.54.177.238

[root@nat /]# route -n | grep 195.54.177.236

195.54.177.236 0.0.0.0 255.255.255.252 U 0 0 0 vlan111

[root@nat /]#

Не была бы локальной - ее пакеты на шлюз-бы шли. А тут АРПы летают...

 

[root@nat /]# arp -an
? (84.240.25.121) at 00:12:01:aa:86:39 [ether] on vlan111
? (213.184.250.109) at 00:12:01:aa:86:39 [ether] on vlan111
? (87.250.217.251) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.66.182) at 00:12:01:aa:86:39 [ether] on vlan111
? (84.94.190.21) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.79.128) at 00:12:01:aa:86:39 [ether] on vlan111
? (62.182.77.29) at 00:12:01:aa:86:39 [ether] on vlan111
? (79.180.156.6) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.78.36.238) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.173.90.145) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.47.116) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.19.13.120) at 00:12:01:aa:86:39 [ether] on vlan111
? (84.253.67.60) at 00:12:01:aa:86:39 [ether] on vlan111
? (84.51.99.203) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.148.101.65) at 00:12:01:aa:86:39 [ether] on vlan111
? (195.54.177.237) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.37.74) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.174.254.190) at 00:12:01:aa:86:39 [ether] on vlan111
? (31.130.251.9) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.215.108.60) at 00:12:01:aa:86:39 [ether] on vlan111
? (77.232.142.189) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.181.36.209) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.99.181.183) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.235.18) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.144.163.12) at 00:12:01:aa:86:39 [ether] on vlan111
? (193.33.88.6) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.215.119.228) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.147.220.71) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.212.177.82) at 00:12:01:aa:86:39 [ether] on vlan111
? (213.147.193.64) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.235.104) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.226.88.105) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.221.247.159) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.145.22.178) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.153.171.25) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.0.105.252) at 00:12:01:aa:86:39 [ether] on vlan111
? (94.181.222.151) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.186.61.198) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.80.45) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.186.96.219) at 00:12:01:aa:86:39 [ether] on vlan111
? (31.28.43.166) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.113.66.52) at 00:12:01:aa:86:39 [ether] on vlan111
? (194.9.239.92) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.45.173.176) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.189.191.21) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.84.205.78) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.85.205.54) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.118.66.76) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.129.166.243) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.118.81.19) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.182.2.89) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.45.179.65) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.9.154) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.164.75.158) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.187.26.218) at 00:12:01:aa:86:39 [ether] on vlan111
? (62.228.7.105) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.210.2.23) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.123.171.208) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.23.191.148) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.77.140.19) at 00:12:01:aa:86:39 [ether] on vlan111
? (193.150.107.3) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.9.25) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.110.211.98) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.235.136.36) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.189.170.38) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.202.44.180) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.164.182) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.189.191.40) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.41.72) at 00:12:01:aa:86:39 [ether] on vlan111
? (77.108.207.113) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.177.7.238) at 00:12:01:aa:86:39 [ether] on vlan111
? (31.28.50.38) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.195.67.137) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.112.49.50) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.35.71) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.112.139.236) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.118.90.24) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.162.132.79) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.123.129.86) at 00:12:01:aa:86:39 [ether] on vlan111
? (87.90.122.233) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.205.253.87) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.118.79.24) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.124.35.196) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.118.225.18) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.215.97.201) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.205.12.96) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.125.49.249) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.226.68.3) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.226.114.86) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.189.222) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.215.190.68) at 00:12:01:aa:86:39 [ether] on vlan111
? (195.161.7.18) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.28.102.53) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.189.170.22) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.106.169.17) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.127.76.119) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.187.22.196) at 00:12:01:aa:86:39 [ether] on vlan111
? (79.176.233.28) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.109.93.174) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.175.96.72) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.229.141.78) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.170.191.3) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.34.176) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.186.96.120) at 00:12:01:aa:86:39 [ether] on vlan111
? (194.158.204.70) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.23.150.145) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.255.53) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.162.132.12) at 00:12:01:aa:86:39 [ether] on vlan111
? (77.232.158.170) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.98.190.122) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.164.170.254) at 00:12:01:aa:86:39 [ether] on vlan111
? (131.215.167.242) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.205.252.56) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.125.8.215) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.226.97.83) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.173.179.247) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.246.103.53) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.165.204.79) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.173.125.81) at 00:12:01:aa:86:39 [ether] on vlan111
? (213.130.70.254) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.49.212.203) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.219.24.88) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.229.141.216) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.117.160.115) at 00:12:01:aa:86:39 [ether] on vlan111
? (94.73.240.191) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.106.179.174) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.49.123.67) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.226.47.7) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.206.101.43) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.28.2.31) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.147.92.1) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.215.97.84) at 00:12:01:aa:86:39 [ether] on vlan111
? (195.191.243.245) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.125.55.195) at 00:12:01:aa:86:39 [ether] on vlan111
? (94.247.105.141) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.19.19.221) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.164.99.177) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.173.78.35) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.120.67.25) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.64.245) at 00:12:01:aa:86:39 [ether] on vlan111
? (193.106.241.17) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.21.113) at 00:12:01:aa:86:39 [ether] on vlan111
? (31.180.154.13) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.195.145.72) at 00:12:01:aa:86:39 [ether] on vlan111
? (213.184.248.36) at 00:12:01:aa:86:39 [ether] on vlan111
? (81.198.200.27) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.90.176.209) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.120.197.10) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.172.166.85) at 00:12:01:aa:86:39 [ether] on vlan111
? (213.88.20.63) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.127.245.16) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.165.59.82) at 00:12:01:aa:86:39 [ether] on vlan111
? (90.157.23.86) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.121.85.114) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.130.214) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.214.149.23) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.162.132.15) at 00:12:01:aa:86:39 [ether] on vlan111
? (78.60.172.117) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.84.243.91) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.132.7.193) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.91.26.10) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.255.21.60) at 00:12:01:aa:86:39 [ether] on vlan111
? (194.158.204.210) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.84.255.25) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.110.17.231) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.164.198.129) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.195.149) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.126.63.48) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.70.211.181) at 00:12:01:aa:86:39 [ether] on vlan111
? (195.191.146.21) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.122.108.110) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.162.126.240) at 00:12:01:aa:86:39 [ether] on vlan111
? (79.177.112.10) at 00:12:01:aa:86:39 [ether] on vlan111
? (213.230.99.163) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.154.75.126) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.214.222.185) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.121.54.180) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.168.241) at 00:12:01:aa:86:39 [ether] on vlan111
? (79.179.167.123) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.215.97.121) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.145.204.38) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.53.195.146) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.143.58.98) at 00:12:01:aa:86:39 [ether] on vlan111
? (84.109.176.83) at 00:12:01:aa:86:39 [ether] on vlan111
? (78.128.23.8) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.218.128.21) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.43.142.242) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.91.236.248) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.162.132.17) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.219.25.193) at 00:12:01:aa:86:39 [ether] on vlan111
? (87.69.213.178) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.186.101.186) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.148.235.252) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.189.170.28) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.234.184) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.48.92) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.3.110) at 00:12:01:aa:86:39 [ether] on vlan111
? (78.139.220.177) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.35.247.138) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.139.26.250) at 00:12:01:aa:86:39 [ether] on vlan111
? (193.34.160.73) at 00:12:01:aa:86:39 [ether] on vlan111
? (81.163.254.10) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.22.170.158) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.205.161.3) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.232.24.110) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.147.229.51) at 00:12:01:aa:86:39 [ether] on vlan111
? (78.29.36.155) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.52.53.101) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.204.105.237) at 00:12:01:aa:86:39 [ether] on vlan111
? (130.0.221.83) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.184.91) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.43.214.139) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.140.44.246) at 00:12:01:aa:86:39 [ether] on vlan111
? (94.70.33.82) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.106.116.208) at 00:12:01:aa:86:39 [ether] on vlan111
? (78.60.207.118) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.173.79.209) at 00:12:01:aa:86:39 [ether] on vlan111
? (77.94.200.65) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.45.55.180) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.205.2.85) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.34.166) at 00:12:01:aa:86:39 [ether] on vlan111
? (41.89.195.2) at 00:12:01:aa:86:39 [ether] on vlan111
? (92.39.229.201) at 00:12:01:aa:86:39 [ether] on vlan111
? (195.54.176.9) at 00:11:bb:0a:69:08 [ether] on vlan104
? (83.149.35.11) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.186.196.121) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.204.19) at 00:12:01:aa:86:39 [ether] on vlan111
? (93.88.3.193) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.123.117.181) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.215.103.26) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.118.78.34) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.105.158.209) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.49.207.149) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.251.169) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.57.141.220) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.203.168.172) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.124.56.70) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.153.190.76) at 00:12:01:aa:86:39 [ether] on vlan111
? (5.28.25.242) at 00:12:01:aa:86:39 [ether] on vlan111
? (81.24.83.129) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.215.97.22) at 00:12:01:aa:86:39 [ether] on vlan111
? (84.51.86.66) at 00:12:01:aa:86:39 [ether] on vlan111
? (83.149.8.190) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.126.159.89) at 00:12:01:aa:86:39 [ether] on vlan111
? (79.181.16.10) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.234.50) at 00:12:01:aa:86:39 [ether] on vlan111
? (212.76.172.18) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.164.226) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.162.6.224) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.122.93.18) at 00:12:01:aa:86:39 [ether] on vlan111
? (31.41.244.247) at 00:12:01:aa:86:39 [ether] on vlan111
? (109.167.192.230) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.154.77.59) at 00:12:01:aa:86:39 [ether] on vlan111
? (164.138.89.251) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.71.108.46) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.26.175.22) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.32.247.40) at 00:12:01:aa:86:39 [ether] on vlan111
? (10.173.123.25) at 00:11:bc:81:38:00 [ether] on vlan107
? (178.215.97.6) at 00:12:01:aa:86:39 [ether] on vlan111
? (91.232.216.196) at 00:12:01:aa:86:39 [ether] on vlan111
? (80.70.236.66) at 00:12:01:aa:86:39 [ether] on vlan111
? (46.29.193.158) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.114.187.255) at 00:12:01:aa:86:39 [ether] on vlan111
? (89.105.156.26) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.18.10.211) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.145.20.41) at 00:12:01:aa:86:39 [ether] on vlan111
? (77.37.244.247) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.251.136.136) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.187.166.29) at 00:12:01:aa:86:39 [ether] on vlan111
? (81.163.16.55) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.96.188.1) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.212.187.132) at 00:12:01:aa:86:39 [ether] on vlan111
? (176.215.193.214) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.78.23.120) at 00:12:01:aa:86:39 [ether] on vlan111
? (85.172.225.219) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.255.8.52) at 00:12:01:aa:86:39 [ether] on vlan111
? (188.255.0.235) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.215.97.75) at 00:12:01:aa:86:39 [ether] on vlan111
? (95.154.97.98) at 00:12:01:aa:86:39 [ether] on vlan111
? (217.118.79.35) at 00:12:01:aa:86:39 [ether] on vlan111
? (37.112.105.180) at 00:12:01:aa:86:39 [ether] on vlan111
? (193.233.152.250) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.90.162.204) at 00:12:01:aa:86:39 [ether] on vlan111
? (178.162.81.230) at 00:12:01:aa:86:39 [ether] on vlan111
[root@nat /]#

Edited by sol

Share this post


Link to post
Share on other sites

1) А попробуйте в 111 влане убрать proxy-arp с бордера, и в этот же влан включить другую машинку с любым адресом с включенным proxy arp и запущенным снифером (на машинке дефолт в сторону бордера, чтоб пакет долетел таки куда-нужно)?

 

Посмотреть, какой трафик заставляется ядро генерить arp запросы.

 

2) ip route | grep default

покажите какие флагы выставлены ядром, может кривой?

Share this post


Link to post
Share on other sites

[root@nat /]# ip route | grep default

default via 195.54.176.9 dev vlan104 proto zebra

[root@nat /]#

 

[root@nat /]# route -n | grep "\b0\.0\.0\.0"

0.0.0.0 195.54.176.9 0.0.0.0 UG 0 0 0 vlan104

10.173.120.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

10.173.123.24 0.0.0.0 255.255.255.252 U 0 0 0 vlan107

195.54.176.8 0.0.0.0 255.255.255.252 U 0 0 0 vlan104

195.54.177.236 0.0.0.0 255.255.255.252 U 0 0 0 vlan111

[root@nat /]#

 

 

Если на брдере выключить proxy-arp - то картина не изменится а только записи в arp кеше станут "incomplit".

 

Трафик, заставляющий генерить запросы - это пакеты, приходящие со второго бордера (vlan111), для которых есть маршрут на первый бордер (vlan104). Если перекинуть default на второй бордер, аналогичная картина будет на интерфейсе vlan104 для пакетов, приходящих с него и для которых есть маршрут на второй бордер.

Share this post


Link to post
Share on other sites

У меня такое было на бородатом ядре.. 2,6,18 если не изменяет память.

 

Симптомы убирались передёргиванием интерфейса, вылечилось сменой ядра (насоклько помню ещё был багрепорт на эту тему).

Edited by disappointed

Share this post


Link to post
Share on other sites

2xfw в rib быть не может, 2xfw живёт в bgp, а не в rib

Да, это так, но, все равно, там 400к строк.

Share this post


Link to post
Share on other sites

А на другом ядре оно работало? У меня с 3.x-какимто был тоже забавный глюк (не связанный с arp) - в route cache переодически возникали залипшие записи , не удаляющиеся никак (cache flush, del маршрута итд). Так что возможно что в 3.x много чего наковыряли :(

 

Может в dmesg что есть?

Что будет если убрать default и вместо него сделать /2 например?

Share this post


Link to post
Share on other sites

На другом ядре нет возможности посмотреть, но есть мнение, что все будет так-же.

 

В dmesg только изредка ругань, что переполнился ARP кеш. В особенно плохие часы ).

 

Если убрать дефолт то АРП запросы пойдут по обоим интерфейсам. Потому, как появятся пакеты, которые придут не со "своего" интерфейса, не с того, в сторону которого есть маршрут. И с /2 будет то-же. Что под него не попало и не попало под другие префиксы смотрящие в этот интерфейс, с которого пришел пакет, вызовет АРП запрос.

 

Вообще, дефолт затыкает генерацию пакетов на том интерфейсе на который он смотрит потому, что под него попадает ВСЁ. Он есть универсальный маршрут.

 

АРП генерится СТРОГО тогда, когда пакет пришел на тот интерфейс, в сторону которого нет обратного маршрута к префиксу, породившему пакет.

Edited by sol

Share this post


Link to post
Share on other sites

Ну так я и предлагаю заменить default на чтото типа:

 

ip route add 0.0.0.0/1 via gw1 metric 1

ip route add 128.0.0.0/1 via gw1 metric 1

 

ip route add 0.0.0.0/1 via gw2 metric 2

ip route add 128.0.0.0/1 via gw2 metric 2

Share this post


Link to post
Share on other sites

Дык, можно и два дефолта написать с разными метриками. Да хоть-бы и с одной. Это затыкает фонтан. Хоть и роняет отказоустойчивость. Схема-то собиралась в целях резервирования бордеров...

 

Тут вопрос: в чем причина такого поведения ?

Share this post


Link to post
Share on other sites

А что происходит дальше после арп запроса?

т.е. Арп запрос, арп ответ, а что дальше за трафик пошел?

 

Наверно можно делать tcpdump на eth0 с ключем -e чтобы было видно номер vlan.

Edited by mmv980

Share this post


Link to post
Share on other sites

Раз второй дефолт помогает - а давайте тогда для полной уверенности сделаем всё-таки вот что (даже с учётом того, что мы вроде бы как дублируем текущую конфигурацию):

echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/vlan104/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/vlan111/rp_filter

Есть подозрение, что сетки опрашиваются именно reverse-path фильтром, потому что к ним нет ни единого маршрута на интерфейс, с которого вошел трафик.

Edited by Alex/AT

Share this post


Link to post
Share on other sites

А что происходит дальше после арп запроса?

т.е. Арп запрос, арп ответ, а что дальше за трафик пошел?

 

Наверно можно делать tcpdump на eth0 с ключем -e чтобы было видно номер vlan.

А дальше ничего. Нет никакого трафика...

 

А что покажет

ip route get 217.118.78.34

к примеру

Роут к первому бордеру через vlan104

 

Раз второй дефолт помогает - а давайте тогда для полной уверенности сделаем всё-таки вот что (даже с учётом того, что мы вроде бы как дублируем текущую конфигурацию):

[root@nat ~]# sysctl -a | grep '\.rp_filter'

net.ipv4.conf.all.rp_filter = 0

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.eth0.rp_filter = 0

net.ipv4.conf.eth1.rp_filter = 0

net.ipv4.conf.lo.rp_filter = 0

net.ipv4.conf.vlan104.rp_filter = 0

net.ipv4.conf.vlan107.rp_filter = 0

net.ipv4.conf.vlan111.rp_filter = 0

Share this post


Link to post
Share on other sites

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.