Portál AbcLinuxu, 8. května 2025 18:25

Dotaz: routovanie na zaklade zdrojovej IP adresy

7.4.2017 15:40 GeorgeWH | skóre: 42
routovanie na zaklade zdrojovej IP adresy
Přečteno: 304×
Odpovědět | Admin
zdravim,

potreboval by som poradit s routovanim na zaklade zdrojovej adresy.

v testovacom prostredi mam router (centos 7), ktory ma 2 wan sietovky a jednu lan. na jednej wan sietovke a na lan sietovke je vlan-a.
wan: eth0 - 192.168.14.50/24
wan: eth1.100 - 10.10.10.50/24
lan: eth2 - 172.16.123.1/24
lan: eth2.200 - 172.16.200.1/24
gw: via 10.10.10.1 dev eth1.100
z oboch wan sa da dostat na internet (ak na routri zmenim default gw na 192.168.14.1, tak to funguje). klienti su nat-ovani a vsetko funguje ok (maju pristup do internetu).

co ale potrebujem je, aby klienti zo siete 172.16.200.0/24 (eth2.200) boli routovani do internetu cez wan eth0 (brana 192.168.14.1), teda nie cez default gw 10.10.10.1.

pridal som:
# echo 100 vlan200 >>  /etc/iproute2/rt_tables
# ip rule add from 172.16.200.0/24 table vlan200
# ip route add default via 192.168.14.1 table vlan200
funguje to, teda klient zo siete 172.16.200.0/24 je routovany cez eth0, ale len do chvile, kym ho z routra nepingnem (alebo ked z klienta pingnem router). v tom momente sa klient nevie dostat na internet a router-klient sa navzajom nevedia pingnut. v dumpe vidim arp requesty, kde klient zistuje mac adresu routra, resp.:

- ked pingam z routera klienta alebo naopak, tak na routri vidim, ze klient sa snazi zistit mac adresu routra, ALE router mu neodpovie

- ked na routri z arp tabulky vymazem klientsku IP adresu a potom z routra pingnem klienta, tak router zisti mac adresu klienta, posle icmp echo request, echo reply dorazi az na router, ALE ping hlasi 100% stratu a klient po par sekundach strati z arp tabulky zaznam pre IP routera

- ked na routri z arp tabulky vymazem klientsku IP adresu a potom z klienta pingnem router, tak na routri vidim arp request z klienta, ALE router mu neodpovie

vdaka.


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.4.2017 15:55 NN
Rozbalit Rozbalit vše Re: routovanie na zaklade zdrojovej IP adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak vypada pls ten dump na interface klienta a na eth2.200?
7.4.2017 17:32 j
Rozbalit Rozbalit vše Re: routovanie na zaklade zdrojovej IP adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
A mas tam switch co umi vlany?

7.4.2017 22:17 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: routovanie na zaklade zdrojovej IP adresy
router aj klienti su vo virtualboxe.

tagovanie funguje, klient ma nastavenu vlan-u, a ako som pisal, kym neupravim routovanie, tak vsetko funguje.
7.4.2017 22:34 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: routovanie na zaklade zdrojovej IP adresy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přinejmenším bude potřeba v tabulce vlan200 zduplikovat routu pro 172.16.200.0/24 a 192.168.14.0/24 (automaticky se vytvářejí jen v tabulce main, na kterou ale pro pakety se zdrojovou adresou ze 172.16.200.0/24 vůbec nedojde). A pro jistotu bych ještě zkontroloval, že je vypnutý RP filter.
Řešení 1× (MMMMMMMMM)
7.4.2017 23:53 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: routovanie na zaklade zdrojovej IP adresy
super, po pridani
ip route add 172.16.200.0/24 src 172.16.200.1 dev eth2.200 table vlan200
sa to rozbehlo.

ak tomu spravne rozumiem, tak prikaz
ip rule add from 172.16.200.0/24 table vlan200
sposobi, ze ak pride nieco zo siete 172.16.200.0/24, tak sa pozrie do tabulky vlan200? a v nej bola definovana len default gw a teda router vlastne nevedel, kam ma poslat odpoved? nemal potom pokracovat dalsimi tabulka, napr. main, kde je ta ista routa a pouzit ju?

teraz mi aj dava zmysel, preco ping do netu z klienta fungoval - na L2 vrstve komunikacia fungovala, ciel bol na internete, tak router paket poslal cez default routu podla tabulky vlan200. ale zahada je, preco to prestalo fungovat po pingnuti klienta-routra medzi sebou a klient uz router na L2 vrstv nevidel.
Řešení 1× (MMMMMMMMM)
8.4.2017 00:14 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: routovanie na zaklade zdrojovej IP adresy
ak tomu spravne rozumiem, tak prikaz
ip rule add from 172.16.200.0/24 table vlan200
sposobi, ze ak pride nieco zo siete 172.16.200.0/24, tak sa pozrie do tabulky vlan200?

Ano. Pravidla se vyhodnocují v pořadí podle priority (to je to číslo, které "ip rule show" píše na začátku řádku), dokud se podle některého nerozhodne, co s paketem.

a v nej bola definovana len default gw a teda router vlastne nevedel, kam ma poslat odpoved?

Problém je právě v tom, že věděl: protože tam byla jenom default route, tak se všechno routovalo podle ní (včetně toho, o co by se jinak postaraly automaticky vytvořené položky v tabulce main).

nemal potom pokracovat dalsimi tabulka, napr. main, kde je ta ista routa a pouzit ju?

Pouze v případě, že by v tabulce vlan200 žádnou vyhovující routu nenašel (nebo by ta nejlepší byla typu throw), pokračoval by dalším pravidlem. To, že routa s delším prefixem má přednost, platí jen v rámci jedné tabulky, ne mezi tabulkami.

10.4.2017 10:47 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: routovanie na zaklade zdrojovej IP adresy
dakujem za vysvetlenie.

ale este jedna otazka: preco je treba pridat aj routovanie pre 192.168.14.0/24? funguje mi to aj bez toho. resp. ak zohladnim
Problém je právě v tom, že věděl: protože tam byla jenom default route, tak se všechno routovalo podle ní
tak by som zo siete 172.16.200.0/24 nemal pingat ani 10.10.10.0/24, pretoze v tabulke vlan200 ma momentalne routovanie pre siet 172.16.200.0/24 a default gw.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.