¿Cómo configurar correctamente 2 interfaces de red en CentOS (ejecutándose en VirtualBox)?

13

Tengo una máquina VirtualBox con CentOS 6.5. He creado 2 adaptadores de red para él en la configuración de red de VirtualBox para la máquina. El primero es NAT, que quiero que el invitado use para conectarse a Internet, y el segundo lo configuro solo para Host, que usaré para SSH y acceder al servidor web desde la computadora host. Este tutorial sobre en los foros VirtualBox es lo que quiero lograr, pero me parece que no puede encontrar el /etc/network/interfacesarchivo en CentOS 6.5 así que supongo que la configuración se realiza de manera diferente.

Después de configurar los adaptadores NAT y solo de host, inicié la VM e hice una ip addr showy tengo 2 interfaces, eth0y eth2(no sé por qué eth1se omitió de alguna manera). Así que configuro ambos ifcfg-ethXarchivos /etc/sysconfig/network-scripts, configurándolos eth0como DHCP (para NAT) y eth2como IP estática (solo para Host). Para eth0, ONBOOT=yesmientras que para eth2, ONBOOT=no. Con esta configuración puedo acceder a pingInternet, es decir, ping -c 3 www.google.comy obtiene una respuesta, así que sé que puedo conectarme a Internet (mientras eth2está inactivo).

A continuación, yo ifup eth2. Desde la máquina host, utilizo la SSH con la IP estática que configuré y puedo conectarme sin problemas. Pero cuando lo hago ping -c www.google.comesta vez, falla y sé que he perdido mi conexión a Internet, incluso si eth0todavía está activo. Hacer un route -nme muestra una salida tabular con eth2ocupar la primera y la última fila mientras eth0está en el medio (lo siento, no puedo publicar la salida real porque eliminé la VM por frustración ...).

He creado una nueva máquina virtual CentOS y me gustaría continuar con la misma configuración. Mi red-fu es casi inexistente, así que soy un n00b. Quisiera algunos consejos sobre cómo hacerlo correctamente (es decir, cómo configurar el adaptador NAT para usar eth0y configurar el adaptador solo para host para usar eth1y no eth2, cómo hacer que eth0aún sea utilizable incluso si eth1/ eth2está en funcionamiento).

Actualizar

Así que tengo la nueva VM en funcionamiento y parece funcionar ahora si tengo el primer adaptador configurado solo para host y el segundo adaptador configurado en NAT. Está configurado así:

Configuración de red de VirtualBox

  • Adaptador de red 1: solo host ( vboxnet0la dirección IP está configurada 10.3.0.1, la máscara de red 255.255.255.0y DHCP están desactivados)
  • Adaptador de red 2: NAT (DHCP)

/etc/sysconfig/network-scripts/ifcfg-ethXConfiguración de 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

Consecuencia de 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

Consecuencia de 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
baktin
fuente
¿Cuál es tu puerta de enlace predeterminada?
Spuder
@spuder Para la interfaz de solo host? Si recuerdo correctamente, vboxnet0(solo para host si) estaba configurado, 192.168.56.1así que supongo que esa era la puerta de enlace predeterminada. No puedo recordar la interfaz NAT.
Baktin
Si el problema persiste, ¿por qué no nos da la salida de ip routela nueva VM ...? Y el de ip addr.
Hauke ​​Laging
@HaukeLaging He actualizado la pregunta con los resultados que solicitó. Parece funcionar ahora, teniendo el primer adaptador solo para host y el segundo para NAT. Pero siento que esta es una solución alternativa ... y me gustaría saber la mejor manera de hacerlo si configuré el primer adaptador en NAT y el segundo solo en host.
baktin
Si intenta replicar esto, use "ifconfig -a" para obtener MAC de eth2 que debe usarse en la línea HWADDR. Y es probable que desee reemplazar eth2 con eth1. Como es probable que tenga eth1, no eth2
Mangirdas Skripka

Respuestas:

9

Supongo que el problema es (o fue) que la definición de la puerta de enlace colisiona con DHCP. De alguna manera, el orden de la interfaz parece influir en eso.

El problema básico es: ¿Cómo se realizará el enrutamiento con dos tarjetas de red? Según tengo entendido, la tarjeta de solo host se utilizará para conexiones solo al host. Por lo tanto, no debe definir ninguna puerta de enlace para esta interfaz. Pero tal vez esto funcione solo si la primera interfaz usa DHCP.

Además, puede considerar evitar DHCP por completo. La interfaz NAT también funciona con una configuración estática.

Hauke ​​Laging
fuente
2
La eliminación de la puerta de enlace para la interfaz de solo host funcionó para mí. Gracias.
Baktin
-1

Tengo una configuración de

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

En Oracle Linux (RHEL / CentOS) ejecuto la aplicación Network Connections
y configuro eth0 en una dirección IP fija
y configuro eth1 en DHCP automático

Cuando haces un ifconfig, veo que eth0 y eth1 tienen direcciones de entrada establecidas y la comunicación desde el HOST al INVITADO funciona y desde el INVITADO a Internet todo funciona.

Ha habido momentos en que no inicio VBOX por un tiempo y encuentro que la comunicación no funcionará. Ni idea.

Hoy comencé el GUEST y sin conexión de red (en ambos sentidos) reinicié y funciona.

Quizás tenga que ver con las actualizaciones de VBXO, simplemente no lo sé.

Por cierto: para comunicarse con Oracle DB, configure el reenvío de puertos en NAT (eth0) desde 127.0.0.1 al puerto IP invitado 1521. Haga esto desde VBOX.

También tengo mi firewall desactivado.

al881
fuente