Strona 1 z 1

[+] eth26 zamiast eth1, eth27 zamiast eth2

: 13 listopada 2008, 07:44
autor: fenioo
Witam,

Mam w serwerze trzy karty sieciowe,

lspci | grep Ethernet

Kod: Zaznacz cały

 00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1)
01:07.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 86)
01:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
W logach znajdują się informacje o trzech sieciówkach:

Kod: Zaznacz cały

Nov 13 07:30:57 alpha kernel: eth1: VIA Rhine III at 0xdf000000, 00:50:fc:c5:41:e0, IRQ 16.
Nov 13 07:30:57 alpha kernel: eth1: MII PHY found at address 1, status 0x786d advertising 05e1 Link 45e1.
Nov 13 07:30:57 alpha kernel: eth2: RealTek RTL8139 at 0xd400, 00:4f:4e:61:f7:93, IRQ 17
Nov 13 07:30:57 alpha kernel: eth2:  Identified 8139 chip type 'RTL-8100B/8139D'
Nov 13 07:30:57 alpha kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Jednak kiedy próbuję podnieść interfejsy, pojawia się błąd:

Kod: Zaznacz cały

 root@alpha:~# ifconfig eth1 192.168.1.2 up
SIOCSIFADDR: No such device
eth1: ERROR while getting interface flags: No such device
eth1: ERROR while getting interface flags: No such device

Kod: Zaznacz cały

 root@alpha:~# ifconfig eth2 192.168.1.2 up
SIOCSIFADDR: No such device
eth2: ERROR while getting interface flags: No such device
eth2: ERROR while getting interface flags: No such device
ale kiedy wykonam ifconfig -a otrzymuje taki oto wynik:

Kod: Zaznacz cały

eth0      Link encap:Ethernet  HWaddr 00:50:FC:C5:41:E0
          inet addr:192.168.0.6  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2044 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1235 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:251831 (245.9 KiB)  TX bytes:292275 (285.4 KiB)
          Interrupt:16 Base address:0xc000

eth26     Link encap:Ethernet  HWaddr 00:00:46:04:75:53
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:22 Base address:0xe000

eth27     Link encap:Ethernet  HWaddr 00:4F:4E:61:F7:93
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:17 Base address:0xd400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

teql0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Skąd bierze się eth26 i eth27? Jak zmienić je na eth1 i eth2?

: 13 listopada 2008, 08:40
autor: Utumno
Ja bym szukal w konfiguracji udev'a. Zobacz w:

Kod: Zaznacz cały

/etc/udev/rules.d/
Odpowiednio konfigurujac udev'a mozesz uzyskac dowolne nazwy. Np. jezeli dodasz plik:

Kod: Zaznacz cały

/etc/udev/netinterfaces.rules
z zawartoscia:

Kod: Zaznacz cały

KERNEL=="eth*",SYSFS{address}=="00:0e:2e:57:22:23",NAME="eth0"
KERNEL=="eth*",SYSFS{address}=="00:50:ba:01:93:3f",NAME="eth1"
KERNEL=="eth*",SYSFS{address}=="00:13:d4:ef:4B:ec",NAME="eth2"
a potem jeszcze link:

Kod: Zaznacz cały

angband:/etc/udev/rules.d# ls -l /etc/udev/rules.d/ | grep netinterfaces
lrwxrwxrwx 1 root root 22 2006-03-04 23:00 010_netinterfaces.rules -> ../netinterfaces.rules
To powinno Ci sie zrobic eth0, eth1 i eth2, zawsze ten sam interfejs z tej samej karty (bez tego numery moga sie zmieniac to reboocie i twoje skrypty spotka przykrość).

Wazne: MACi do wpisania w netinterfaces.rules nalezy wziasc z:

Kod: Zaznacz cały

angband:/etc/udev/rules.d# udevinfo -a -p /sys/class/net/eth0/ | grep address
SYSFS{address}==&#"00:0e:2e:57:22:23"
bron Boze nie z

Kod: Zaznacz cały

 ifconfig -a
poniewaz ifconfig wypisuje je z duzej litery (00:0E:2E:57:22:23) a udev musi je miec z malej.

: 13 listopada 2008, 09:32
autor: fnmirk
Utumno, udev posiada swój plik dla karty sieciowej. Wystarczy wyczyścić zawartość pliku

Kod: Zaznacz cały

/etc/udev/rules.d/70-persistent-net.rules
i zrestartować komputer. Udev automatycznie uzupełni zawartość pliku właściwymi wartościami.

Jeżeli jednak po kolejnych restartach numer interfejsu będzie się zmieniał to dopiero wtedy należy szukać innego rozwiązania.

Tak wysoki numer interfejsu może być wynikiem wielokrotnego przekładania kart w slotach bez resetowania zawartości pliku 70-persistent-net.rules.

: 13 listopada 2008, 10:21
autor: fenioo
Dziękuję Panowie,

Wyczyściłem zawartość

Kod: Zaznacz cały

 /etc/udev/rules.d/70-persistent-net.rules 
i po restarcie pojawiły mi się eth1 i eth2.

Dziękuję.

: 13 listopada 2008, 10:33
autor: Utumno
Ok.

Nawiasem mowiac, jak sam widzisz, wpisywanie znaku " wewnatrz tagow

Kod: Zaznacz cały

  srednio dziala, dlatego i tego nie zastosowalem w poscie powyzej.

: 13 listopada 2008, 11:40
autor: fnmirk
Działa.

Edit:
Poprawiłem. Nastąpił konflikt używanych stron kodowych :D
Tak wprowadzone znaki

Kod: Zaznacz cały

″ ̶
w tagach code będą zawsze interpretowane jako kod programu.

: 14 listopada 2008, 04:14
autor: Utumno
sprobujmy:

Kod: Zaznacz cały

 """"""" 
Edit: ok, dziala juz.