
Eu tenho um problema. Em primeiro lugar, quero configurar um servidor no Ubuntu 14.04. Tenho 2 interfaces: eth0 para 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 tenho que escolher entre servidor e internet. Isso é terrível, alguém pode me dizer como resolver esse problema?
/etc/rede/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)
Responder1
Configurando a saída ifconfig
e os comentários dados à minha primeira resposta, acho que o problema está relacionado à maneira como você configura suas NICs no /etc/network/interfaces
.
Como você não tem nenhuma configuração específica paraeth1em /etc/network/interfaces
, suponho que o seu modem esteja fornecendo ao seu servidor as informações de IP via DHCP. De acordo com a route
saída, você obtém seu gateway padrão apontando para o modem e para a Internet.
Mas no seu /etc/network/interfaces
arquivo para oeth0você também tem um gateway padrão configurado (instrução gateway 172.16.1.254
).
Você não pode ter dois gateways padrão em um sistema. A atribuição do gateway padrão emeth1desabilitar a configuração estática deeth0, razão pela qual não há IP paraeth0na ifconfig
saída e por que a Internet funciona e a rede interna não funciona 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 conseguirá mais acessá-las. A menos que você configure a rota estática para todas essas sub-redes no seu servidor:
sudo rota add -net ABCD gw 172.16.1.254
você pode adicionar o route
comando em um script salvo em /etc/network/if-up.d
para ser executado sempre que uma interface for ativada.
Responder2
Pelo que entendi da sua postagem, você está se conectando à Internet viaeth1e para sua rede interna viaeth0. E seu servidor desempenha o papel de servidor DHCP e gateway padrão para que seus PCs acessem a Internet.
Primeiro, no PC, verifique se receberam corretamente todas as configurações de DHCP, incluindo o gateway. Pela sua pergunta, presumo que deveria ser 172.16.1.100
Em segundo lugar, certifique-se de que o seueth1está bem conectado à Internet e bem configurado; 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 :
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Para que o sinalizador de encaminhamento de IP seja configurado automaticamente no momento da inicialização, remova o comentário da #net.ipv4.ip_forward=1
linha/etc/sysctl.conf
Você também terá que garantir que não haja regras de firewall IPtables que bloqueiem o tráfego. Fazer :
tabelas de ip -L -n
para obter uma lista de regras, se houver. Eu tentaria primeiro esta configuração com todas as regras de firewall desativadas:
tabelas de ip -F
Responder3
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, consegui conectar-me a ambas as redes.