Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Mira 13. 12. 2012, 10:55:39
-
Ahojte,
narazil jsem na dost divne chovani, pri pouziti ifdown na virtualni sitovku. Mam v sytemu eth0 na ktere je IPv4 a jedna IPv6 adresa. Dale mam v systemu virtualni sitovku eth0:xxx, nahozenou pomoci konfigurace:
DEVICE=eth0:xxx
ONBOOT=yes
BOOTPROTO=static
IPADDR=xxx.xxx.xxx.xxx
NETMASK=xxx.xxx.xxx.xxx
Kdyz chci vypout vyrtualni sitovku pomoci ifdown eth0:xxx, tak dojede k vypnuti one virtualni sitovky, ale take dojde k odstraneni IPv6 adresy na eth0.
O odstraneni IPv6 se stara skript ifdown-ipv6 (volan ze skkriptu ifdown-eth), kde je na zacatku toto:
REALDEVICE=${DEVICE%%:*}
DEVICE=$REALDEVICE
tedy v tomto skriptu se bude pracovat jen s eth0 a ne s eth0:xxx a na konci skriptu se vola:
ipv6_cleanup_device $DEVICE - dojde k odstraneni IPv6 adresy.
Delam neco spatne ja v konfiguraci virtualni sitovky (potazmo v cele konfiguraci site na OS?), nebo se jedna nejakou chybku? OS jsou CentOS 5.8 a 6.3.
Děkuji moc za připadne nakopnuti :)
Mira
-
eth0:xxx není v Linuxu virtuální síťová karta. Je to jenom konstrukce, kterou v Linuxu zastaralý ifconfig používá pro matení nepřítele. Vypište si nastavení sítě pomocí příkazů ip link a ip addr, pak uvidíte, jak máte síť doopravdy nastavenou.
-
eth0:xxx není v Linuxu virtuální síťová karta. Je to jenom konstrukce, kterou v Linuxu zastaralý ifconfig používá pro matení nepřítele. Vypište si nastavení sítě pomocí příkazů ip link a ip addr, pak uvidíte, jak máte síť doopravdy nastavenou.
Dekuji, ale to stale neresi muj problem...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet xxx.xxx.xxx.xxx./26 brd xxx.xxx.xxx.xxx scope global eth0
inet xxx.xxx.xxx.xxx/25 brd xxx.xxx.xxx.xxx scope global eth0:xxx
-
A jaký je váš problém? Teď už vidíte, že máte jednu síťovku, kterou můžete vypínat a zapínat. A ta síťovka má momentálně 3 IP adresy, další můžete přidávat nebo je odebírat.
-
A jaký je váš problém? Teď už vidíte, že máte jednu síťovku, kterou můžete vypínat a zapínat. A ta síťovka má momentálně 3 IP adresy, další můžete přidávat nebo je odebírat.
problem byl a je pri pouziti ifdown, pokud se pouzije ip addr del ... tak je to v ok.
-
A jaký je váš problém? Teď už vidíte, že máte jednu síťovku, kterou můžete vypínat a zapínat. A ta síťovka má momentálně 3 IP adresy, další můžete přidávat nebo je odebírat.
inet xxx.xxx.xxx.xxx/25 brd xxx.xxx.xxx.xxx scope global eth0:xxx
tohle me ne pripada jako ze mam jednu sitovku...
-
Informace o síťové kartě je tohle:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
Tohle je informace o přiřazených IP adresách:
inet xxx.xxx.xxx.xxx/25 brd xxx.xxx.xxx.xxx scope global eth0:xxx
To eth0:xxx na konci je štítek (label), kterým je to přiřazení IP adresy volitelně označeno. ifconfig právě do tohohle štítku ukládá název něčeho, co se pokouší vydávat za virtuální síťovku. Ale jak už jsem psal, na Linuxu tím ifconfig akorát mate. Pomocí štítku si třeba můžete označit dynamickou IP adresu, ve skriptech pak můžete pracovat se štítkem a nevadí vám, že se ta adresa mění.
-
Informace o síťové kartě je tohle:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
Tohle je informace o přiřazených IP adresách:
inet xxx.xxx.xxx.xxx/25 brd xxx.xxx.xxx.xxx scope global eth0:xxx
To eth0:xxx na konci je štítek (label), kterým je to přiřazení IP adresy volitelně označeno. ifconfig právě do tohohle štítku ukládá název něčeho, co se pokouší vydávat za virtuální síťovku. Ale jak už jsem psal, na Linuxu tím ifconfig akorát mate. Pomocí štítku si třeba můžete označit dynamickou IP adresu, ve skriptech pak můžete pracovat se štítkem a nevadí vám, že se ta adresa mění.
omlouvam se pouzil jsem spatnej nazev, jedna se o "alias" - prevzato z dokumentace pro CentOS. Ale stale se tocime v kruhu.
Problem je, ze kdyz na tento "alias" zavolam ifdown eth0:xxx, tak dojde k odstraneni IPv6 adres z eth0 ...
-
Problém je tedy zřejmě v tom, že síťové skripty dané distribuce zamrzly v pravěku a neumějí konfigurovat vícero IP adres jinak než pomocí aliasovaných síťových karet. Obávám se, že tohle se dá řešit jen nepoužíváním skriptů ifup/ifdown. Namísto toho je možné spouštět ip addr add a ip addr del bez vedlejších účinků.
-
Voláte ifdown, což je nástroj pro ovládání stavu síťového rozhraní (síťové karty), na štítek IP adresy. To logicky nemůže fungovat. Proto jsem psal, ať si pomocí ip vypíšete, co v systému máte. Máte v něm jednu síťovou kartu, která má přidělené 3 IP adresy. Můžete vypnout nebo zapnout síťovou kartu, ale to asi nechcete. Předpokládám, že chcete odstranit IP adresu z té karty. Sám jste psal příkaz ip addr del, kterým to uděláte přímo.
Možná existuje v CentOS nějaký skript, který to volání ip addr del obaluje. Ale podle chování, které popisujete, je ifdown nejspíš jen jednoduchá obálka kolem ifconfig, a ifconfig pod Linuxem nefunguje – takže nejspíš nebude pořádně fungovat ani ten ifdown. Zkuste ještě zjistit, zda nejde ty distribuční skripty přepnout, aby používaly ip – v některých distribucích to tak je. Pokud to nepůjde, asi nezbývá než používat přímo ip.
-
Problém je tedy zřejmě v tom, že síťové skripty dané distribuce zamrzly v pravěku a neumějí konfigurovat vícero IP adres jinak než pomocí aliasovaných síťových karet. Obávám se, že tohle se dá řešit jen nepoužíváním skriptů ifup/ifdown. Namísto toho je možné spouštět ip addr add a ip addr del bez vedlejších účinků.
Dekuji mockrat, za odpoved. U ip addr opravdu neni problem, nejak se stim poperu.
Zatim jsem zkusil poupravit v ifdown-ipv6 to vyseknuti nazvu sitovky, a zda se ze to funguje. Jeste aktulane hledam co to jak a kde ovlivni. Protoze me osobne je pohodlnejsi pouzivat ifdown xxx nez ip addr del xxxxx.
-
Voláte ifdown, což je nástroj pro ovládání stavu síťového rozhraní (síťové karty), na štítek IP adresy. To logicky nemůže fungovat. Proto jsem psal, ať si pomocí ip vypíšete, co v systému máte. Máte v něm jednu síťovou kartu, která má přidělené 3 IP adresy. Můžete vypnout nebo zapnout síťovou kartu, ale to asi nechcete. Předpokládám, že chcete odstranit IP adresu z té karty. Sám jste psal příkaz ip addr del, kterým to uděláte přímo.
Možná existuje v CentOS nějaký skript, který to volání ip addr del obaluje. Ale podle chování, které popisujete, je ifdown nejspíš jen jednoduchá obálka kolem ifconfig, a ifconfig pod Linuxem nefunguje – takže nejspíš nebude pořádně fungovat ani ten ifdown. Zkuste ještě zjistit, zda nejde ty distribuční skripty přepnout, aby používaly ip – v některých distribucích to tak je. Pokud to nepůjde, asi nezbývá než používat přímo ip.
Mno logicky mozna ne, ale dokud neni na rozhrani IPv6 tak to funguje krasne. Ale jinak dekuji za odpovedi.
-
Mno logicky mozna ne, ale dokud neni na rozhrani IPv6 tak to funguje krasne.
To je klasické vyjádření o ifconfigu na Linuxu. „Mně to funguje.“ ;) A pak přijde něco takového, jako váš současný problém. ifconfig na Linuxu zkrátka nefunguje, akorát někdy shodou náhod udělá to, co člověk chtěl. Ale nevyplatí se řešit, kdy náhodou funguje a kdy ne, jednodušší je na něj zapomenout.
Že je používání distribučního ifdown jednodušší na použití, to chápu. Dokonce považuju za správnější používat ke konfiguraci sítě distribuční skripty, protože ty by měly fungovat tak, jak očekává zbytek systému, měly by správně řešit nastavení po restartu apod.Akorát je potřeba, aby ty distribuční skripty uvnitř používaly nástroje, které fungují…