Não é possível usar duas interfaces de rede ao mesmo tempo

9

Eu tenho um problema. Antes de tudo, quero configurar um servidor no Ubuntu 14.04. Eu tenho 2 interfaces: eth0 para servidor dhcp e eth1 para conexão com a internet. Mas se eu conectar a duas redes ao mesmo tempo, não há Internet no PC. Então eu tenho que escolher entre servidor e internet. Isso é terrível, alguém pode me dizer como fechar esse problema?

/ etc / network / interfaces:

auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
address 172.16.1.100
netmask 255.255.255.0
broadcast 172.16.1.255
gateway 172.16.1.254

saídas da rota sudo:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     1      0        0 eth1

UPD: saídas ifconfig:

eth0      Link encap:Ethernet  HWaddr 90:e6:ba:46:1d:50  
          inet6 addr: fe80::92e6:baff:fe46:1d50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1110 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:184287 (184.2 KB)

eth1      Link encap:Ethernet  HWaddr 00:04:75:98:5f:da  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::204:75ff:fe98:5fda/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14498 errors:0 dropped:0 overruns:2 frame:0
          TX packets:13096 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9710708 (9.7 MB)  TX bytes:1840400 (1.8 MB)
          Interrupt:18 Base address:0x4c00 

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:4398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:527890 (527.8 KB)  TX bytes:527890 (527.8 KB)
Andreikkaa
fonte
O gerenciador de rede está configurando seus dispositivos? Mostrar saída de nmcli dev statustambém você pode ping 192.168.0.1?
meccooll

Respostas:

4

Configurando a saída ifconfige os comentários dados à minha primeira resposta, acho que o problema está relacionado à maneira como você configura suas placas de rede /etc/network/interfaces.

Como você não possui nenhuma configuração específica para eth1 in /etc/network/interfaces, suponho que seu modem esteja fornecendo ao servidor as informações de IP via DHCP. Conforme a routesaída, você obtém o gateway padrão apontando para o modem e para a Internet.

Mas no seu /etc/network/interfacesarquivo para o eth0, você também tem um gateway padrão configurado (instrução gateway 172.16.1.254).

Você não pode ter dois gateway padrão em um sistema. A atribuição do gateway padrão em eth1 desabilita a configuração estática de eth0 , pelo que não há IP para eth0 na ifconfigsaída e por que a Internet funciona e a rede interna não mais.

Você precisará remover a linha gateway 172.16.1.254e tentar novamente.

Ao fazer isso, é claro, se você tiver mais de uma sub-rede na LAN interna, não poderá mais acessá-las. A menos que você configure a rota estática para todas essas sub-redes no seu servidor:

sudo route add -net ABCD gw 172.16.1.254

você pode adicionar o routecomando em um script salvo em /etc/network/if-up.dpara ser executado sempre que uma interface for ativada.

Benoit
fonte
Na verdade, você pode ter duas rotas padrão em um determinado sistema (não no sistema dele, pois o servidor não tem acesso à Internet), mas elas devem ter prioridades ou configurações diferentes para equilibrar ambas.
JrBenito 6/05/19
3

Pelo que entendi da sua postagem, você está se conectando à Internet via eth1 e à sua rede interna via eth0 . E seu servidor está desempenhando o papel de servidor DHCP e gateway padrão para os seus PCs acessarem a Internet.

Primeiro, no PC, verifique se eles receberam corretamente todas as configurações de DHCP, incluindo o gateway. Da sua pergunta, suponho que deveria ser 172.16.1.100

Em segundo lugar, verifique se o eth1 está bem conectado à Internet e bem configurado; isso obviamente depende do seu ISP.

Finalmente, a operação mais importante, você precisará habilitar o encaminhamento de IP entre suas duas interfaces no servidor. Sem isso, o pacote não será roteado entre o seu PC e a Internet:

Configuração manual :

sudo echo 1> / proc / sys / net / ipv4 / ip_forward

Para ter a bandeira para a frente IP automaticamente a configuração no momento da inicialização remover o comentário da linha #net.ipv4.ip_forward=1em/etc/sysctl.conf

Você também deve garantir que não haja regras de firewall de tabelas de IP que bloqueiem o tráfego. Faz :

iptables -L -n

para obter uma lista de regras, se houver. Eu tentaria primeiro essa configuração com todas as regras de firewall desabilitadas:

iptables -F

Benoit
fonte
Não, estou tentando configurar o servidor PXE. Os computadores na minha rede local obtêm IPs corretamente (eles estão inicializando). Mas não há internet nem no servidor nem (é claro) nos clientes.
Andreikkaa
Então, por enquanto eu só tenho que consertar a conexão com a internet no servidor.
21414 Andreikkaa
@ user3452627: você poderia adicionar a saída de ifconfigsua pergunta. E também, especifique como você está conectado à Internet.
Benoit
Certo. Estou conectado via modem.
Andreikkaa
@ user3452627: este modem fornece um endereço IP ao seu servidor via DHCP?
Benoit
2

Eu tive um problema semelhante, mas meu arquivo de interfaces estava vazio assim:

# The loopback network interface
auto lo
iface lo inet loopback

Consegui corrigir o problema movendo / removendo o arquivo de conexão com fio encontrado: /etc/NetworkManager/system-connections/Wired connection 1

Após a reinicialização, foi possível conectar-se às duas redes.

Maksim Luzik
fonte