Portál AbcLinuxu, 4. května 2025 14:20

Dotaz: OSPF - získání rout bez distribuce na ostatní routery

Petr Maleček avatar 15.12.2017 14:49 Petr Maleček | skóre: 29 | Plzeň - Bolevec
OSPF - získání rout bez distribuce na ostatní routery
Přečteno: 665×
Odpovědět | Admin
Ahoj,

máme velkou síť, routování funguje na OSPF a já bych potřeboval přidat do sítě jeden stroj, fungující jako VPN. Potřeboval bych tedy nějakým způsobem získat všechny routy na tomto stroji a provést maškarádu pro klienty přistupující skrze tuto VPN.

Když jsem koukal do routovací tabulky OSPF, tak je tam nějakých 110 záznamů, které si routery předávají mezi sebou (takže se mi je nechce vkládat staticky).

Jak mám upravit tento konfig, aby se z OSPF pouze získaly routy, ale nebyl tento stroj do rout na ostatních routerech jakkoli přidán (být jen jako naslouchající a pasivní)? Pokud jej nechám takto, tak najednou začne téct obrozvské množství dat skrze tento stroj a začne to ovlivňovat síť.

Díky.

hostname 10.1.50.29
password ---
enable password ---
log file /var/log/ospfd.log
!
interface lo
        ip ospf cost 1
!
!interface dummy0
!       description dummy0
!       ip ospf cost 10
!
interface eth2
 description local
 ip ospf cost 10
 ip ospf priority 5
! ip ospf authentication message-digest
! ip ospf message-digest-key 1 md5 haleluja
!
!interface eth0
! description local
! ip ospf cost 1
! ip ospf priority 10
!
!
router ospf
 ospf router-id 10.1.50.29
! redistribute kernel
! redistribute connected route-map just-10
 redistribute connected
 redistribute static
! default-information originate always
 passive-interface eth0
 passive-interface eth1
! passive-interface eth2
 passive-interface tap0
! passive-interface lo
! network 185.167.208.0/24 area 0
! network 10.1.0.123/32 area 0
 network 10.1.50.0/24 area 0
!
access-list net-10 permit 0.0.0.0/0
access-list term permit 127.0.0.1/32
access-list term deny any
!
route-map just-10 permit 10
 match ip address net-10
!
line vty
!
LinMuck, WinFuck :-P

Ř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

15.12.2017 17:30 j
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Odpovědět | | Sbalit | Link | Blokovat | Admin
A nac potrebujes ty routy? Mas prece nejakej rozsah ne? Mozna bys mel vic popsat co chces delat.
15.12.2017 18:16 NN
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdyz to nema routovat nedelej z toho router. Pouzij default route na prvni hop na ceste.
Petr Maleček avatar 15.12.2017 19:59 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já se z té "VPN brány" potřebuji dostat do všech rozsahů naší sítě, takže potřebuji nadefinovat všechny routy pro všechny rozsahy. Bohužel tím, že nadefinuju jednu default routu, tak si nepomůžu, protože ta defaultní gw nemá přístup do všech rozsahů. A tyhle routy bych chtěl získat právě z OSPF, abych nemusel staticky vše definovat a hlídat, jeslti se něco nezměnilo.
LinMuck, WinFuck :-P
15.12.2017 22:27 NN
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
To prece nevadi, staci nadefinovat default route pomoci rozhrani:
ip route 0.0.0.0 0.0.0.0 eth2
Vsechno pujde pres konkretni interface, routovani za tebe vyresi prvni router na ceste.
15.12.2017 22:31 NN
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
No a koncene nic nebrani tomu nastavit default route na prvni OSPF router v area 0, ktery vsechny cesty znat urcite bude.
Petr Maleček avatar 16.12.2017 10:39 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Díky, bohužel nezná, je to tak uděláno záměrně (nebudu rozepisovat proč, ale je v tom jistý účel). Potřebuju ty routy (všechny) prostě udržovat v aktuálním stavu i na svém VPN stroji.
LinMuck, WinFuck :-P
16.12.2017 11:37 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
No celé mě to připadá, jako pokus znásilnit protokol na něco, na co není určen a co ani nemá umět. A to co umět má je optimalizace cesty na podsítě navěšené na jednotlivé routery. OSPF je v jádru postaven na tom, že všechny routery v dané oblasti sdílí stejnou "link state database" funkčních spojení mezi routery (a udržují ji pomocí flooding algoritmu) a díky tomu mohou všichni vypočíst stejnou optimální cestu. Když se do toho začne rukama hrabat a narušovat tento princip tak asi se budou dít zajímavé a nestandardní věci. Podle mne systém, který je vstupní bod na VPN a který přiřadí příchozím strojům z VPN přesně definovaný rozsah a má pouze danou definovanou linku na další router, tak není důvod, proč by optimalizační algoritmus pro výpočet nejkratší cesty poslal na router jiné pakety, než ty které patří do VPN. A pokud posílá tak výpočet optimalizační cesty je rozdrbaný mnohem významněji.
15.12.2017 21:52 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vyhodit redistribute static a connected.
Petr Maleček avatar 16.12.2017 10:34 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
To už jsem zkoušel, ale marně. Stejně pak začne téct všechen provoz skrze tento server :( ještě mne napadlo vyzkoušet vyšší costy a priority. Jakoby úplně mi nevadí, když občas něco skrze tento router proteče, ale nesmí se trvářit jako hlavní.
LinMuck, WinFuck :-P
16.12.2017 11:08 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Jestliže se vypnou všechny redistribuce a mezi networky je jenom jedna síť, tak nemůže přes ten router téct žádný traffic, protože ospf neví, že má přístup do dalších sítí.
16.12.2017 00:15 asdf
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak bylo recen o zahodit redistrubuci. Dobry napad je zapnout podepisovani toho protokolu. Ale i tak se ten stroj zaradi do grafu routeru nad nimiz se vyhledavaji nejkratsi cesty a stale prez nej muze tect provoz. Tohle v ramci ospf nejde vypnout jelikoz ospf v podstate si vymenuje informace o tpologii a distribuovane hleda nejratsi cesty takze to jde vudci tomu jak ten protokol funguje.

A take v ospf nemaji co delat prefixy koncovych siti, ale ma slouzit (jako ostatni IGP) pouze pro udrzovani konektivity v ramci infrastruktury. koncove site / zakaznici atp. patri do BGP.
Petr Maleček avatar 16.12.2017 10:37 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Tyhle položky jsem zakomentoval (vykřičníkem), nastavil prioritu a cost na 255 a stejně po spuštění ospfd začne téct všechno přes tento stroj :(

! redistribute connected
! redistribute static
LinMuck, WinFuck :-P
16.12.2017 12:12 asd
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
ip ospf priority 0
Setting the value to 0, makes the router ineligible to become Designated Router.
ip ospf cost 65535
Set link cost for the specified interface. The cost value is set to router-LSA’s metric field and used for SPF calculation.
Interface Command: bandwidth 1
Set bandwidth value of the interface in kilobits/sec. This is for calculating OSPF cost. This command does not affect the actual device configuration.

tohle bude v konfiguraci procesu
no auto-cost reference-bandwidth
This sets the reference bandwidth for cost calculations, where this bandwidth is considered equivalent to an OSPF cost of 1, specified in Mbits/s. The default is 100Mbit/s (i.e. a link of bandwidth 100Mbit/s or higher will have a cost of 1. Cost of lower bandwidth links will be scaled with reference to this cost).

This configuration setting MUST be consistent across all routers within the OSPF domain.

Petr Maleček avatar 16.12.2017 21:27 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Díky za nakopnutí, můj konfig nyní vypadá takto, ale ...

hostname vpn-10.1.50.29
password ---
enable password ---
log file /var/log/ospfd.log
!
interface eth2
 description pater
 ip ospf cost 65535
 ip ospf priority 0
! ip ospf authentication message-digest
! ip ospf message-digest-key 1 md5 haleluja
!
router ospf
 ospf router-id 10.1.50.29
! redistribute kernel
! redistribute connected route-map just-10
! redistribute connected
! redistribute static
! default-information originate always
 passive-interface eth0
 passive-interface eth1
! passive-interface eth2
 passive-interface tap0
 passive-interface lo
 no auto-cost reference-bandwidth
! network 185.167.208.0/24 area 0
 network 10.1.50.0/24 area 0
! 
access-list net-10 permit 0.0.0.0/0
access-list term permit 127.0.0.1/32
access-list term deny any
!
route-map just-10 permit 10
 match ip address net-10
!
line vty
!
Nevím kam zakomponovat toto:

Interface Command: bandwidth 1

Samozřejmě bez tohoto (předpokládám) problém zatím vyřešen není :( i nadále teče vše skrze tento stroj.
LinMuck, WinFuck :-P
Petr Maleček avatar 16.12.2017 21:31 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Má to být v této části?

interface eth2
 description pater
 ip ospf cost 65535
 ip ospf priority 0
 --> bandwidth 1 <--
LinMuck, WinFuck :-P
17.12.2017 08:54 NN
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Ano, bandwidth se konfiguruje na rozhrani a hodnota je soucasti vypoctu metriky.
Petr Maleček avatar 17.12.2017 12:12 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Tak s tím mi bohužel ospfd vůbec nenaběhne :(

 * Starting ospfd ...
*** Error reading config: There is no such command.
*** Error occured processing line 21, below:
 bandwidth 1
LinMuck, WinFuck :-P
Řešení 1× (Petr Maleček (tazatel))
17.12.2017 20:42 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Teď koukám do dokumentace, o passive-interface se tam píše, že OSPF tam sice nevysílá, ale šíří do okolí danou network jako stub area. Chová se to tedy dost podobně, jako když se nastaví "redistribute connected".

Nakonec by tedy možná stačilo vyhodit z konfiguráku ty passive-interfacy. OSPF by pak na těch interfacích nemělo komunikovat, protože je nadefinován jen jeden network.
Do not speak OSPF interface on the given interface, but do advertise the interface as a stub link in the router-LSA (Link State Advertisement) for this router. This allows one to advertise addresses on such connected interfaces without having to originate AS-External/Type-5 LSAs (which have global flooding scope) - as would occur if connected addresses were redistributed into OSPF (see Redistribute routes to OSPF). This is the only way to advertise non-OSPF links into stub areas.
Petr Maleček avatar 20.12.2017 13:38 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
To je přesně ono, díky za poznatek. Odebral jsem to a nyní vše funguje přesně tak, jak jsem potřeboval :-) Ještě mám malý dotaz - lze nějak definovat rozsahy, které z OSPFd nechci přebírat?

Mám třeba rozsah IP 185.168.208.0/255.255.255.128, který nechci získávat z OSPFd (vůbec, chci aby tento rozsah tekl přes defaultní gw).

Díky za info :-)
LinMuck, WinFuck :-P
20.12.2017 14:14 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
No, vyfiltrovat to půjde. U Quaggy/Cisca jsem tyhle kouzla nikdy nepotřeboval, tak nevím přesně jak, ale po chvilce googlování to vypadá na:

area 0.0.0.0 filter-list prefix ignore_subnet in
ip prefix-list ignore_subnet seq 10 deny 192.168.0.0/16
ip prefix-list ignore_subnet seq 20 permit any
Petr Maleček avatar 22.12.2017 21:12 Petr Maleček | skóre: 29 | Plzeň - Bolevec
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Děkuji za snahu, ale položku "area" mi konfigurák vůbec nebere :-( ... nechápu, proč nemá ospfd nějakou lepší dokumentaci. Normálně nemám problém cokoliv najít, ale zrovna v tomhle případě si připadám jak úplně ztracenej, protože všechno co je popsáno je spojené s Ciscem, ... ale o nějakém ospfd pro Linux (Gentoo), protě nikde nic podrobného.
LinMuck, WinFuck :-P
23.12.2017 00:06 NN
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Mohlo by to jit takto.

23.12.2017 10:13 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: OSPF - získání rout bez distribuce na ostatní routery
Zajímavý, tohle jsem vykopírovával přímo z quagga mailing listu. Každopádně syntaxe konfigurace Quagga ospf je stejná jako u Cisca, takže pro spoustu věcí si stačí nastudovat Cisco řešení a to by mohlo fungovat i v Quagge. Možná to vyřeší i ta konfigurace zebry, jak píše další řečník, i tam to jde nastavit - jen se tenhle problém ozve zvonu ve chvíli, kdy se za tento vpn router vrazí další router přes ospf, ten zase tu routu dostane do tabulek.

Já na Linux routerech, kde mám složitější konfiguraci ospf, už přešel na Bird a tam se dá udělat prakticky cokoliv, co si člověk vymyslí a quaggu vytěsnil z paměti. A dalším důvodem také je, že v Quagga je naprosto nefunkční ospfv3 a celý ten projekt je asi mrtvý nebo tak působí.

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.