Olika nätverkskort, samma NIC-namn

Permalänk
Medlem

Olika nätverkskort, samma NIC-namn

Hej!
Problemet är som följer, på skolan har vi egna hårdiskar i portabla chassin som vi stoppar in i en dock-enhet på framsidan av datorerna.

Har installerat debian på disken men problem ligger i att för varje ny dator man stoppar in disk i (samma hårdvara så när som på olika MAC på nicen) så får nicet ett nytt namn.

Först var namnet satt till eth0, nästa dator man kommer till så heter nicet helt plötsligt eth1, nästa dator eth2 osv.

Finns det nån lösning så att nicet alltid heter eth0 oavsett vilken dator man sitter på.
det är rätt irriterande att behöva gå in i /etc/network/interfaces och ändra namn på nicet som ska ha den rätta ip-adressen hela tiden.

Permalänk
Medlem
Skrivet av JBHunter:

Hej!
Problemet är som följer, på skolan har vi egna hårdiskar i portabla chassin som vi stoppar in i en dock-enhet på framsidan av datorerna.

Har installerat debian på disken men problem ligger i att för varje ny dator man stoppar in disk i (samma hårdvara så när som på olika MAC på nicen) så får nicet ett nytt namn.

Först var namnet satt till eth0, nästa dator man kommer till så heter nicet helt plötsligt eth1, nästa dator eth2 osv.

Finns det nån lösning så att nicet alltid heter eth0 oavsett vilken dator man sitter på.
det är rätt irriterande att behöva gå in i /etc/network/interfaces och ändra namn på nicet som ska ha den rätta ip-adressen hela tiden.

Ful lösning men du skulle kunna scripta det och lägga i .bashrc typ. Så sköts det automagiskt varje gång du loggar in. Om du är osäker på hur man gör hojta till och säg de stegen du gör manuellt så kan jag knåpa ihop något.

Visa signatur

Datorer - M1 MacBook Pro 14"
Hörlurssystem - Scarlett 4i4 / Objective2 / Beyerdynamic DT 770
Ljudsystem - NAD C356BEE > DALI Mentor 6
Bilpark - Porsche 718 Spyder

Permalänk
Medlem

Jag kör ifconfig -a och kollar vad nicet heter sen går jag in i /etc/network/interfaces och ändrar så att namnet stämmer.

Men det blir ju ett riktigt ful-script för till slut kommer jag ju vara uppe på eth22 eller nått sånt

kan man inte göra nått script som rensar bort alla lagrade MAC-adresser(för jag antar det är de som gör att alla olika nic får ett eget namn) vid start så att när nätverkskortet initieras så får det namnet eth0 då det inte finns några tidigare nic/MAC-adresser lagrade?

Permalänk
Medlem
Skrivet av JBHunter:

Jag kör ifconfig -a och kollar vad nicet heter sen går jag in i /etc/network/interfaces och ändrar så att namnet stämmer.

Men det blir ju ett riktigt ful-script för till slut kommer jag ju vara uppe på eth22 eller nått sånt

kan man inte göra nått script som rensar bort alla lagrade MAC-adresser(för jag antar det är de som gör att alla olika nic får ett eget namn) vid start så att när nätverkskortet initieras så får det namnet eth0 då det inte finns några tidigare nic/MAC-adresser lagrade?

Det enklaste vore väl ifs att helt enkelt varje gång ta bort eth0 under uppstart, så den konfigurerar om interfacet.

Visa signatur

Datorer - M1 MacBook Pro 14"
Hörlurssystem - Scarlett 4i4 / Objective2 / Beyerdynamic DT 770
Ljudsystem - NAD C356BEE > DALI Mentor 6
Bilpark - Porsche 718 Spyder

Permalänk
Medlem

hur gör man det då.
grejen är ju den att det måste ske innan interfacet konfigureras.

Kanske inte sagt det förut men, använder mig av statisk ip ifall det har nån betydelse.

Permalänk
Medlem

cat /etc/udev/rules.d/*persistent-net*

där har du filen som ser till att du får samma devnamn baserat på (för det mesta) MAC-adressen.

/etc/rc.d/rc.6 är scriptet som körs vid halt (0) eller reboot (6). Så du kan ju lägga in att den ska köra "rm /etc/udev/rules.d/*persistent-net* där så kommer filen att deletas när du stänger av datorn och när du startar den igen så probar udev nätverkskortet och ger det eth0 varje gång oavsett vilken dator du sätter den i.

Visa signatur

Cisco - Linux - VMWare
-- Citera mig om ni vill få återkoppling --

Permalänk
Medlem
Skrivet av deegan:

cat /etc/udev/rules.d/*persistent-net*

där har du filen som ser till att du får samma devnamn baserat på (för det mesta) MAC-adressen.

/etc/rc.d/rc.6 är scriptet som körs vid halt (0) eller reboot (6). Så du kan ju lägga in att den ska köra "rm /etc/udev/rules.d/*persistent-net* där så kommer filen att deletas när du stänger av datorn och när du startar den igen så probar udev nätverkskortet och ger det eth0 varje gång oavsett vilken dator du sätter den i.

Tackar, bara en fråga, för att köra kommandot "rm /etc/udev/rules.d/*persistent-net*" så behövs administrativa rättigheter, samt att man måste svara på frågan om man vill ta bort det skrivskyddade filen.

hur kommer man runt det, så att allt blir automatiskt, dvs när jag rebootar eller stänger av maskinen ska jag inte behöva skriva in lösenord för admin-access och svara på skrivskyddat frågan?

Permalänk
Medlem

rm är mest troligt alias'at (blev det där gramatiskt rätt?) till "rm -i", så det du kan göra är unalias rm så kommer den inte vara interaktiv.

gällande sudo kommandot så måste du göra ett undantag för rm, det här är ju något som man ska vara försiktig med egentligen men i ditt fall så borde du kunna släppa lite mer på tyglarna än vad man kanske skulle gjort på säg en shell-burk eller multihosting server etc.

sudo visudo

%users ALL=NOPASSWD: /bin/rm

Det där ska göra så att användare i users gruppen kan köra sudo rm utan att behöva ange lösenord. Lite wild and crazy men det funkar.

EDIT: Jag måste bara fråga om du verkligen la till rm kommandot i rc-filen eller om du bara körde kommandot rätt och slätt? Tycker det verkar lite märkligt att du fick fråga om lösenordet eftersom när runlevel 0 eller 6 väl är initierat så ska inte din user påverka resultatet. Men jag kan ha fel.

Visa signatur

Cisco - Linux - VMWare
-- Citera mig om ni vill få återkoppling --