Jak stworzyć nowy et sieci?

16

Mam komputer, który ma eth0 i eth1, a teraz chcę utworzyć eth2 i przypisać mu adres IP.

Jakie jest to polecenie?

sivabudh
źródło
1
Na podstawie twojego opisu uważam, że ta odpowiedź lepiej http://stackoverflow.com/questions/2082722/how-do-i-create-virtual-ethernet-devices-in-linux
spełni

Odpowiedzi:

17

Na komputerach z systemem Linux eth0 i eth1 odpowiadają rzeczywistym portom sieciowym. Aby dodać eth2 , musisz dodać kolejną kartę sieciową, albo przez dodanie wewnętrznej karty sieciowej PCI (e), albo przez dodanie karty sieciowej USB. Zobacz Konfiguracja interfejsu sieciowego Redhat .

Jeśli wszystko, czego potrzebujesz, to inny adres IP, możesz utworzyć alias ethernetowy na jednym z istniejących adapterów. Alias ​​jest jak wirtualna karta sieciowa - pozwala przypisać inny adres IP do istniejącego portu. Załóżmy, że twój eth0 ma adres IP 192.168.1.5.

Aby to zrobić raz, uruchom (jako root) ifconfig eth0:0 192.168.1.6 up. (Użyj eth0:1drugiego aliasu w eth0, eth0:2trzeciego lub eth1:0aliasu eth1 zamiast eth0.) Ta konfiguracja zostanie utracona przy ponownym uruchomieniu.

Aby skonfigurować go na stałe, dodaj go do skryptu konfiguracyjnego. Utwórz kopię /etc/sysconfig/network-scripts/ifcfg-eth0pliku ifcfg-eth0:0w tym samym katalogu. Zmień nowy plik, aby wyglądał następująco:

DEVICE=eth0:0
IPADDR=192.168.1.6
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
NAME=eth0:0

Usuń lub skomentuj dowolne linie GATEWAY w obu plikach i dodaj linię GATEWAY do swojego /etc/sysconfig/networkpliku. Następnie możesz uruchomić nowy alias ifup eth0:0lub całkowicie zrestartować sieć service network restart.

quack quixote
źródło
1
dodanie NM_CONTROLLED="no"może również pomóc (rhel6)
sje397
@ sje397 Dzięki, moje nie działało, dopóki nie dodałem tej linii.
squareskittles
4

Wykonaj następujące kroki:

  1. Wyłącz komputer
  2. Odłącz od zasilania
  3. Otwórz skrzynkę
  4. Wstaw kartę sieciową
  5. Zamknij skrzynkę
  6. Podłącz ponownie zasilanie
  7. Uruchom komputer
alexanderpas
źródło
4

Ze sposobu, w jaki pytanie jest zadawane, nie jest jasne, co należy rozumieć, gdy mówi się, że maszyna ma tylko eth0i eth1. Inni respondenci przyjęli założenie, że są tylko dwie karty sieciowe, ale możliwe jest również, że trzecia karta sieciowa jest już zainstalowana w komputerze, ale nie została „podniesiona” (lub została wyraźnie zamknięta).

Załóżmy, że masz pewność, że masz 3 karty sieciowe, ale w jakiś sposób, gdy robisz ifconfigswoje wyjście, jest coś w stylu:

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:439793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:439793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:412415058 (412.4 MB)  TX bytes:412415058 (412.4 MB)

eth0      Link encap:Ethernet  HWaddr [mac address]
          [...]

eth1      Link encap:Ethernet  HWaddr [mac address]
          [...]

Wygląda na to, że istnieje sprzeczność, masz 3 karty sieciowe, ale tylko dwa porty. Jest tak, ponieważ ifconfigpokazuje tylko te porty, które są „podniesione”. Jedyne, co musisz zrobić, to uruchomić polecenie:

ifconfig eth2 up

Pamiętaj, że musi być uruchamiany jako root, rób to tak, jak jest to wymagane w twojej dystrybucji.

Możesz połączyć ustawienie adresu IP z „podnoszeniem portu”:

ifconfig eth2 192.168.222.2 netmask 255.255.255.0 up

„Up” powinno być po innych rzeczach na tej linii, ale i tak będzie działać.

v010dya
źródło