Como configurar corretamente 2 interfaces de rede no CentOS (executando no VirtualBox)?

13

Eu tenho uma máquina VirtualBox executando o CentOS 6.5. Eu criei 2 adaptadores de rede para ele nas configurações de rede do VirtualBox para a máquina. O primeiro é o NAT que eu quero que o convidado use para conectar-se à Internet e o segundo defino como Somente host, que usarei para SSH e acessarei o servidor da Web a partir do computador host. Este tutorial nos fóruns do VirtualBox é o que eu quero alcançar, mas não consigo encontrar o /etc/network/interfacesarquivo no CentOS 6.5, portanto presumo que a configuração seja feita de maneira diferente.

Depois de configurar os adaptadores NAT e somente host, iniciei a VM e fiz uma ip addr showe tenho 2 interfaces eth0e eth2(não sei por que de eth1alguma forma foi ignorada). Então, eu configuro os dois ifcfg-ethXarquivos /etc/sysconfig/network-scripts, configurando eth0para ser DHCP (para NAT) e eth2para ser IP estático (somente para host). Para eth0, ONBOOT=yesenquanto para eth2, ONBOOT=no. Com essa configuração, posso acessar pinga Internet, ou seja ping -c 3 www.google.com, obtém uma resposta para que eu possa me conectar à Internet (enquanto eth2estiver inativo).

A seguir eu ifup eth2. Na máquina host, eu SSH usando o IP estático que defini e posso conectar-me sem problemas. Mas, quando o faço ping -c www.google.com, falha e sei que perdi minha conexão com a Internet, mesmo que eth0ainda esteja ativa. Fazer um route -nmostra-me uma saída tabular ao eth2ocupar a primeira e a última linha enquanto eth0estiver no meio (desculpe, não posso postar a saída real porque excluí a VM por frustração ...).

Criei uma nova VM CentOS e gostaria de continuar com a mesma configuração. Meu trabalho em rede é quase inexistente, então eu sou um n00b nisso. Gostaria de receber algumas dicas sobre como fazê-lo corretamente (por exemplo, como configurar o adaptador NAT para usar eth0e como o adaptador somente para host deve ser usado, eth1e não eth2, como tornar eth0ainda utilizável mesmo se eth1/ eth2estiver em funcionamento).

Atualizar

Portanto, eu tenho a nova VM em funcionamento e parece funcionar agora se eu tiver o primeiro adaptador definido como somente host e o segundo adaptador definido como NAT. Está configurado assim:

Configurações de rede do VirtualBox

  • Adaptador de rede 1: Somente host ( vboxnet0o endereço IP está definido como 10.3.0.1, máscara de rede 255.255.255.0e DHCP está desativado)
  • Adaptador de rede 2: NAT (DHCP)

/etc/sysconfig/network-scripts/ifcfg-ethXConfigurações da VM do CentOS

# 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

Resultado 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

Resultado 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
fonte
Qual é o seu gateway padrão?
Spuder
@spuder Para a interface somente host? Se bem me lembro, vboxnet0(somente host se) foi definido como, 192.168.56.1portanto, acho que era o gateway padrão. Não me lembro da interface NAT.
baktin
Se o problema persistir, por que você não nos fornece a saída da ip routenova VM ...? E isso de ip addr.
Hauke ​​Laging
@HaukeLaging Atualizei a pergunta com as saídas solicitadas. Parece funcionar agora, tendo o primeiro adaptador somente para host e o segundo para NAT. Mas acho que essa é uma solução alternativa ... e gostaria de saber a melhor maneira de fazer isso se eu tiver definido o primeiro adaptador como NAT e o segundo como somente host.
baktin
Se você tentar replicar isso, use "ifconfig -a" para obter o MAC de eth2 que deve ser usado na linha HWADDR. E você provavelmente deseja substituir eth2 por eth1. Como você provavelmente vai ter eth1, não eth2
Mangirdas Skripka

Respostas:

9

Acho que o problema é (ou foi) que a definição do gateway colide com o DHCP. De alguma forma, a ordem da interface parece influenciar isso.

O problema básico é: como o roteamento deve ser feito com duas placas de rede? Pelo que entendi, a placa somente para host deve ser usada apenas para conexões com o host. Portanto, você não deve definir nenhum gateway para essa interface. Mas talvez isso funcione apenas se a primeira interface usar DHCP.

Além disso, você pode evitar o DHCP completamente. A interface NAT também funciona com uma configuração estática.

Hauke ​​Laging
fonte
2
A remoção do Gateway para a interface somente host funcionou para mim. Obrigado.
22414 baktin
-1

Eu tenho uma configuração de

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

No Oracle Linux (RHEL / CentOS), executo o aplicativo Network Connections
e defino eth0 como um endereço IP fixo
e defino eth1 como DHCP automático

Quando você faz um ifconfig, vejo que eth0 e eth1 têm endereços inet configurados e a comunicação do HOST para o GUEST funciona e do GUEST para a Internet funciona.

Houve momentos em que não inicio o VBOX por um tempo e acho que a comunicação não funcionará. Nenhuma idéia.

Hoje iniciei o GUEST e nenhuma conexão de rede (nos dois sentidos) reiniciei e funciona.

Talvez com relação às atualizações do VBXO, eu simplesmente não sei.

BTW: Para se comunicar com o banco de dados Oracle, defina Port Forwarding no NAT (eth0) de 127.0.0.1 para Guest IP Port 1521. Faça isso no VBOX.

Eu também tenho meu firewall desativado.

al881
fonte