Příkaz ifdown a IPv6 adresy

Mira

Příkaz ifdown a IPv6 adresy
« kdy: 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
« Poslední změna: 13. 12. 2012, 15:50:14 od Petr Krčmář »


Filip Jirsák

Re:ifdown a IPv6
« Odpověď #1 kdy: 13. 12. 2012, 11:25:11 »
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.

Mira

Re:ifdown a IPv6
« Odpověď #2 kdy: 13. 12. 2012, 11:38:17 »
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

Filip Jirsák

Re:ifdown a IPv6
« Odpověď #3 kdy: 13. 12. 2012, 11:44:18 »
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.

Mira

Re:ifdown a IPv6
« Odpověď #4 kdy: 13. 12. 2012, 11:55:16 »
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.


Mira

Re:ifdown a IPv6
« Odpověď #5 kdy: 13. 12. 2012, 11:59:11 »
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...

Filip Jirsák

Re:ifdown a IPv6
« Odpověď #6 kdy: 13. 12. 2012, 12:15:45 »
Informace o síťové kartě je tohle:
Kód: [Vybrat]
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:
Kód: [Vybrat]
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í.

Mira

Re:ifdown a IPv6
« Odpověď #7 kdy: 13. 12. 2012, 12:27:37 »
Informace o síťové kartě je tohle:
Kód: [Vybrat]
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:
Kód: [Vybrat]
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 ... 

Re:ifdown a IPv6
« Odpověď #8 kdy: 13. 12. 2012, 12:57:28 »
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ů.

Filip Jirsák

Re:ifdown a IPv6
« Odpověď #9 kdy: 13. 12. 2012, 13:05:47 »
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.

Mira

Re:ifdown a IPv6
« Odpověď #10 kdy: 13. 12. 2012, 13:11:39 »
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.   


Mira

Re:ifdown a IPv6
« Odpověď #11 kdy: 13. 12. 2012, 13:14:00 »
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.

Filip Jirsák

Re:ifdown a IPv6
« Odpověď #12 kdy: 13. 12. 2012, 13:30:54 »
Citace
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í…