Як правильно налаштувати 2 мережеві інтерфейси в CentOS (працює у VirtualBox)?


13

У мене є машина VirtualBox під управлінням CentOS 6.5. Я створив для нього 2 мережевих адаптера в мережевих налаштуваннях VirtualBox для машини. Перший - це NAT, який я хочу, щоб гість використовував для підключення до Інтернету, а другий - для хоста, який я буду використовувати для SSH та доступу до веб-сервера з хост-комп'ютера. Цей підручник на форумах VirtualBox - це те, чого я хочу досягти, але я не можу знайти /etc/network/interfacesфайл на CentOS 6.5, тому я припускаю, що конфігурація робиться по-іншому.

Налаштувавши як NAT, так і хост-адаптери, я запустив VM, зробив ip addr showі у мене є 2 інтерфейси, eth0і eth2(не знаю, чому це eth1було якось пропущено). Тому я налаштовую обидва ifcfg-ethXфайли в /etc/sysconfig/network-scripts, встановивши, eth0що це DHCP (для NAT) та eth2статичний IP (лише для хоста). Для eth0, в ONBOOT=yesтой час як для eth2, ONBOOT=no. За допомогою цього налаштування я можу pingІнтернет, тобто ping -c 3 www.google.comвін отримує відповідь, тому я знаю, що можу підключитися до Інтернету (поки він eth2працює)

Далі я ifup eth2. З хост-машини я SSH використовую встановлений я статичний IP-адрес і можу підключитися без проблем. Але коли я займаюся ping -c www.google.comцим часом, це не вдається, і я знаю, що втратив зв’язок з Інтернетом, навіть якщо eth0все ще не працює. Здійснення route -nпоказує мені табличний вихід із eth2зайняттям першого та останнього рядків, поки eth0знаходиться між ними (вибачте, що не можу розмістити фактичний вихід, тому що я видалив VM від розчарування ...).

Я створив новий CentOS VM і хотів би продовжити ту саму налаштування. Моя мережа-фу близька до неіснуючої, тому я є n00b в цьому. Я хотів би отримати кілька порад, як це зробити правильно (тобто, як встановити NAT адаптер для використання eth0та встановити адаптер, який використовується лише для хостів, eth1а не eth2як зробити його eth0корисним, навіть якщо eth1/ eth2працює та працює).

Оновлення

Отож, у мене запущений і запущений новий VM, і, здається, він працює зараз, якщо у мене перший адаптер встановлений лише для хоста, а другий адаптер встановлений в NAT. Він налаштований так:

Налаштування мережі VirtualBox

  • Мережевий адаптер 1: Тільки для хоста ( vboxnet0IP-адреса встановлено 10.3.0.1, маска мережі 255.255.255.0та DHCP вимкнено)
  • Мережевий адаптер 2: NAT (DHCP)

/etc/sysconfig/network-scripts/ifcfg-ethXНалаштування CentOS VM

# ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:EC:6C:B9
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DHCPCLASS=
IPADDR=10.3.0.100
NETMASK=255.255.255.0
GATEWAY=10.3.0.1

# ifcfg-eth2
DEVICE=eth2
HWADDR=08:00:27:EB:73:BA
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

Результат ip route

10.0.3.0/24  dev  eth2  proto  kernel  scope  link  src  10.0.3.15
10.3.0.0/24  dev  eth0  proto  kernel  scope  link  src  10.3.0.100
169.254.0.0/16  dev  eth0  scope  link  metric  1002
169.254.0.0/16  dev  eth2  scope  link  metric  1003
default via 10.0.3.2 dev eth2

Результат ip addr

1:  lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
     inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
2:  eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:ec:6c:b9 brd ff:ff:ff:ff:ff:ff
     inet 10.3.0.100/24 brd 10.3.0.255 scope global eth0
     inet6 fe80::a00:27ff:feec:6cb9/64 scope link
        valid_lft forever preferred_lft forever
3:  eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:eb:73:ba brd ff:ff:ff:ff:ff:ff
     inet 10.0.0.15/24 brd 10.0.3.255 scope global eth2
     inet6 fe80::a00:27ff:feeb:73ba/64 scope link
        valid_lft forever preferred_lft forever

Який шлюз за замовчуванням?
спудер

@spuder Для інтерфейсу лише для хоста? Якщо я пам'ятаю правильно, vboxnet0(хост-лише, якщо) було встановлено 192.168.56.1так, я думаю, саме таким був шлюз за замовчуванням. Я не можу згадати інтерфейс NAT.
baktin

Якщо проблема все ще існує, чому ви не дасте нам вихід ip routeна новий VM ...? І це ip addr.
Hauke ​​Laging

@HaukeLaging Я оновив питання з результатами, які ви просили. Здається, це працює зараз, маючи перший адаптер лише для хоста, а другий для NAT. Але я відчуваю, що це спосіб подолати ... і я хотів би знати найкращий спосіб зробити це, якщо я встановив перший адаптер для NAT, а другий - лише для хоста.
бактін

Якщо ви спробуєте скопіювати це, використовуйте "ifconfig -a", щоб отримати MAC et2, який повинен бути використаний у рядку HWADDR. І ви, ймовірно, хочете замінити eth2 на eth1. Як ви, швидше за все, будете мати eth1, а не eth2
Mangirdas Skripka

Відповіді:


9

Я думаю, що проблема полягає у тому, що визначення шлюзу стикається з DHCP. Якось порядок інтерфейсу, здається, впливає на це.

Основна проблема полягає в тому, як маршрутизацію робити з двома мережевими картами? Як я розумію, карта, призначена лише для господарів, використовуватиметься лише для з'єднань з хостом. Таким чином, ви взагалі не повинні визначати жодного шлюзу для цього інтерфейсу. Але, можливо, це працює, лише якщо перший інтерфейс використовує DHCP.

Крім того, ви можете розглянути можливість уникнення DHCP повністю. Інтерфейс NAT працює і зі статичною конфігурацією.


2
Видалення шлюзу для інтерфейсу лише для хоста працювало для мене. Дякую.
baktin

-1

Я маю набір

Adapter 1 = NAT = eth0
Adapter 2 = Bridged Adapter = eth1

Під Oracle Linux (RHEL / CentOS) я запускаю програму Network Connections
і встановлюю eth0 на фіксовану IP-адресу
та встановлюю eth1 на автоматичний DHCP

Коли ви робите ifconfig, я бачу, що і et0, і eth1 мають встановлені адреси inet і зв'язок від HOST до GUEST і від GUEST до Інтернету.

Були випадки, коли я деякий час не запускаю VBOX, і я вважаю, що спілкування не працюватиме. Не маю уявлення.

Сьогодні я запустив ГОСТ і без підключення до мережі (в обох напрямках) я перезапустив, і він працює.

Можливо, що стосується оновлення VBXO, я просто не знаю.

BTW: Для спілкування з Oracle DB set Port Forwarding на NAT (eth0) з 127.0.0.1 на гостьовий IP-порт 1521. Зробіть це з VBOX.

У мене також відключений брандмауер.

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