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

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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.