ICMP redirect (to another host)

Van egy szolgáltatói routerem, aminek a LAN portján csatlakozik egy másik router ugyanabban a subnetben. ICMP redirectel szeretném megoldani néhány subnet route-olását a szolgáltatói routeren. A szolgáltatói routeren sikerült SSH accesst szereznem és a route-ot hozzáadni (utolsó sor):

# ip route
default via 10.0.0.1 dev ppp0
10.0.0.1 dev ppp0  proto kernel  scope link  src 91.82.130.144
10.49.0.0/17 dev nbif1  proto kernel  scope link  src 10.49.62.15
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1
192.168.10.0/24 via 192.168.1.249 dev br0
 

ilyenkor ugye ha a 192.168.10.0/24 subnetet akarnám elérni egy kliens gépről akkor a routernek kellene küldeni egy ICMP redirectet a másik router cimével, de ez valamiért nem megy. Send_redirects valamiért nem volt a /proc/sys/net/ipv4/conf alatt, úgyhogy azt én hoztam létre kézzel, most igy néz ki:

# cat /proc/sys/net/ipv4/conf/*/send_redirects
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 

Elképzelhető lenne hogy a kernelbe nem lett beleforgatva vagy valamit még álltani kell? Ez a verzió egyébként

# cat /proc/version
Linux version 2.6.36 (xialei@A10184242) (gcc version 4.3.4 (GCC) ) #1 SMP Fri Dec 11 14:37:52 CST 2015
#
 

Hozzászólások

Szia!

A "router mód" működéséhez be kell kapcsolni:
net.ipv4.ip_forward = 1

--> /proc/sys/net/ipv4/ip_forward

Többi nem kell.

Arra gondoltam, hogy azoknak a feltételeknek megfelel-e a hálózati felépítésed és a csomagok útja, hogy a router képes legyen kiköpni egy icpm_redirectet.

Ezen az alábbi ábrán jó látható, hogy mikor történhet meg )igaz Cisco-s, de az elv nagyjából ugyanaz).
Ha a te ábrád nem ilyen, akkor nagy valószínűséggel nem fog menni.

Egyébként biztonsági szempontokból szinte mindenhol tiltják az icmp_redirect-et.
Utoljára egy vizsgafeladatban volt vele szerencsém találkozni.

...úgyis jönnek...

Ugyanígy néz ki az én topologiam is, itthoni hálózatba kellene, nincs risk. Egy random Linux hostot felhúztam azon működik, ezen a szolgáltatói szaron nem (ZTE h168n)

most a másik opció az lehetne hogy a br0:0-n felhúzok egy másik IP címet egy másik subnetbol, de a br0 -> br0:0 route-olas sem működik 

A default route metric-et nem tudod magasabbra állítani?

nekem ugy remlik nalam kb. debian 8-ig mukodott, aztan elmult.

en ugy oldottam meg, hogy a routeren csinaltam masik halozatot, ott routeol a ketto kozott.

ha ez neked nem jarhato ut, a sajat gepeden beallitod hogy melyik halozatnak mi az atjaroja, ennek hatranya hogy mindegyik gepeden kulon be kell allitanod.

neked aztan fura humorod van...

Tehát ott tartok hogy felhúztam egy br0:0-át a br0 mellé. Most úgy néz ki hogy route-olja, csak ezzel egy gond van hogy a br0:0 ráNAT-ol.... A NAT-ot pedig nem iptables csinálja, hanem valami hw_nat lehet amire nem látok rá. Reménytelen... Úgy látszik nem úszom meg hogy egy normális routert betegyek a hálózatba