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

5

Eu tenho um problema. Primeiro de tudo, quero configurar um servidor no Ubuntu 14.04. Eu tenho 2 interfaces: eth0 para o servidor dhcp e eth1 para conexão com a internet. Mas se eu me 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)
    
por Andreikkaa 10.06.2014 / 13:36

3 respostas

3

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

Como você não tem nenhuma configuração específica para eth1 em /etc/network/interfaces , suponho que o seu modem esteja fornecendo ao seu servidor as informações de IP via DHCP. De acordo com a saída route , você obtém seu gateway padrão apontando para o modem na Internet.

Mas no seu arquivo /etc/network/interfaces para o eth0 você também tem um gateway padrão configurado (declaraçã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 desativa a configuração estática de eth0 , razão pela qual não há IP para eth0 na saída ifconfig e por que a Internet funciona e a rede interna não mais.

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

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

% bl0ck_qu0te%

você pode adicionar o comando route em um script salvo em /etc/network/if-up.d para ser executado toda vez que uma interface for ativada.

    
por Benoit 10.06.2014 / 16:02
3

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

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

Em segundo lugar, certifique-se de que sua eth1 esteja bem conectada à Internet e bem configurada; isso obviamente depende do seu ISP.

Finalmente, a operação mais importante, você terá que 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:

% bl0ck_qu0te%

Para que o sinalizador de encaminhamento de IP seja configurado automaticamente no momento da inicialização, remova o comentário da linha #net.ipv4.ip_forward=1 in /etc/sysctl.conf

Você também deve garantir que não haja regras de firewall para IPtables que bloqueiem o tráfego. Faça:

% bl0ck_qu0te%

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

% bl0ck_qu0te%     
por Benoit 10.06.2014 / 14:22
1

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, conseguiu se conectar a ambas as redes.

    
por Maksim Luzik 19.12.2017 / 15:18