Як створити нове мережеве ети?


16

У мене є машина, яка має eth0 та eth1, і тепер я хочу створити eth2 та призначити їй якусь IP-адресу.

Яка команда для цього?


1
Виходячи з вашого опису, я вважаю, що ця відповідь краще відповідатиме вашим вимогам:http://stackoverflow.com/questions/2082722/how-do-i-create-virtual-ethernet-devices-in-linux
mnmnc

Відповіді:


17

На машинах Linux, eth0 та eth1 відповідають реальним портам мережі. Щоб додати eth2 , вам потрібно буде додати ще один NIC, або додавши внутрішню мережеву карту PCI (e), або додавши мережний адаптер USB. Див. Розділ Конфігурація мережевого інтерфейсу Redhat .

Якщо все, що вам потрібно, - це ще одна IP-адреса, ви можете створити псевдонім Ethernet на одному з існуючих адаптерів. Псевдонім схожий на віртуальну мережеву карту - він дозволяє призначити іншу IP-адресу існуючому порту. Припустимо, що ваш eth0 має IP-адресу 192.168.1.5.

Щоб зробити це один раз, запустіть (як root) ifconfig eth0:0 192.168.1.6 up. (Використовуйте eth0:1для другого псевдоніма на eth0, eth0:2для третього або eth1:0для псевдоніма eth1 замість eth0.) Ця конфігурація буде втрачена при перезавантаженні.

Щоб конфігурувати його постійно, додайте його до сценарію конфігурації. Зробіть копію /etc/sysconfig/network-scripts/ifcfg-eth0файлу ifcfg-eth0:0в одному каталозі. Змініть новий файл, щоб він виглядав так:

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

Видаліть або прокоментуйте будь-які рядки GATEWAY в обох файлах та додайте до /etc/sysconfig/networkфайлу рядок GATEWAY . Тоді ви можете запустити новий псевдонім з ifup eth0:0або повністю перезапустити мережу service network restart.


1
додавання NM_CONTROLLED="no"теж може допомогти (rhel6)
sje397

@ sje397 Дякую, мій не працював, поки не додав цей рядок.
squareskittles

4

Виконайте такі дії:

  1. Вимкніть комп’ютер
  2. Відключіть живлення
  3. Відкрита справа
  4. Вставте NIC
  5. Закрити корпус
  6. Підключіть живлення
  7. Завантажувальний комп'ютер

4

З того, як задається питання, не зрозуміло, що мається на увазі, коли йдеться про те, що в машині є тільки eth0і eth1. Інші відповідачі зробили припущення, що є лише дві карти NIC, але також можливо, що третя NIC вже встановлена ​​на обчисленні, але вона не була "підведена" (або явно була закрита).

Припустимо, що ви впевнені, що у вас є три NIC-карти, але колись ви робите ifconfigвисновок, це щось, що відповідає:

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]
          [...]

Здається, є суперечність, у вас є 3 карти NIC, але лише два порти. Це тому, що ifconfigпоказує лише ті порти, які "вгору". Тому єдине, що вам потрібно зробити, це запустити команду:

ifconfig eth2 up

Майте на увазі, що це потрібно запустити як root, зробіть це так, як потрібно в розповсюдженні.

Ви можете поєднати налаштування IP-адреси з "підведенням порту":

ifconfig eth2 192.168.222.2 netmask 255.255.255.0 up

"Вгору" має бути після інших речей на цій лінії, але воно все одно спрацює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.