Como usar um NIC para intranet e outro para internet?

4

No escritório temos wlan para acesso à internet e cabo ethernet para acesso à intranet. Eu gostaria de configurar meu laptop para que eu pudesse usar os dois ao mesmo tempo, mas até agora não consegui fazer isso. Eu encontrei esta resposta, mas eu não tenho conhecimento suficiente sobre redes para aplicá-lo na minha situação.

Se eu estiver conectado a ambas as redes, posso acessar a Internet, mas não a intranet, sem especificar explicitamente a interface.

Não funciona:

ping 10.158.51.11

Trabalhos:

ping -I enp0s20u2 10.158.51.11

Minha configuração atual:

~ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c4:85:08:41:a2:6c brd ff:ff:ff:ff:ff:ff
    inet 10.161.253.58/21 brd 10.161.255.255 scope global dynamic noprefixroute wlp2s0
       valid_lft 12964sec preferred_lft 12964sec
    inet6 fe80::ad6b:7406:af47:5b33/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
7: enp0s20u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 9c:eb:e8:0a:1a:8c brd ff:ff:ff:ff:ff:ff
    inet 10.144.96.246/22 brd 10.144.99.255 scope global dynamic noprefixroute enp0s20u2
       valid_lft 84916sec preferred_lft 84916sec
    inet6 fe80::6d66:6e10:cf2:abce/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

~ ip route
default via 10.161.248.1 dev wlp2s0 proto dhcp metric 600 
default via 10.144.96.1 dev enp0s20u2 proto dhcp metric 20100 
10.144.96.0/22 dev enp0s20u2 proto kernel scope link src 10.144.96.246 metric 100 
10.161.248.0/21 dev wlp2s0 proto kernel scope link src 10.161.253.58 metric 600

Solução

Como complemento da resposta aceita, acabei escrevendo pequenos proxy DNS para fazer tudo funcionar. Então aqui está a solução completa:

Interfaces:

  • wlan wlp2s0, usado para internet
  • enp0s20f0u1 etherned, usado para intranet

Etapas:

  1. Conecte as duas interfaces
  2. Excluir rota padrão para enp0s20f0u1: sudo ip route del default via 10.144.96.1
  3. Adicionar rota para enp0s20f0u1: sudo ip route add 10.0.0.0/8 via 10.144.96.1 dev enp0s20f0u1
  4. Instale o dnsrp
  5. Alterar servidor de nomes para localhost
  6. Inicie o dnsrp com sua própria configuração sudo dnsrp -c conf.toml
por Henri Koski 14.12.2017 / 09:11

2 respostas

4

Primeiro, a ideia geral da tabela de roteamento é especificar como alcançar todos os hosts e redes possíveis. A tabela de roteamento é organizada automaticamente para que as entradas mais específicas sejam fornecidas primeiro e a primeira entrada que corresponda ao endereço de destino de um pacote de dados seja usada para esse pacote. A rota menos específica sempre será o gateway padrão: é uma espécie de "para todo o resto que eu não especifiquei, envie-a por lá".

Em sua situação, você precisará ter uma ideia de quais segmentos de rede estão sendo usados em sua intranet e especificar uma ou mais entradas de rota direcionando qualquer tráfego destinado a esses segmentos de rede para o gateway do lado da intranet.

Por exemplo, posso supor que todos os seus segmentos de intranet estejam provavelmente dentro do intervalo de endereços 10. *. Nesse caso, eu especificaria uma rota como esta:

sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.144.96.1 dev enp0s20u2

Com o comando ip , a sintaxe equivalente seria:

sudo ip route add 10.0.0.0/8 via 10.144.96.1 dev enp0s20u2

Como o segmento sem fio já tem uma rota gerada automaticamente para ele, qualquer item do segmento 10.161.248.0/21 será alcançado automaticamente por meio da interface sem fio, incluindo o gateway padrão com a menor métrica, portanto, isso deve fornecer informações básicas Conectividade com a Internet, enquanto a nova rota enviará o tráfego vinculado a todos os outros 10. segmentos para o gateway da intranet pela interface com fio.

Se os servidores DNS atualmente configurados estiverem localizados no lado da intranet e também resolverem os endereços da Internet, tudo deve ser bem-sucedido. Mas se você precisar usar um servidor DNS para endereços da Internet e outro para a intranet, fica complicado.

Primeiro, se o servidor DNS do lado da Internet precisar ser acessado pela interface sem fio e não estiver localizado no segmento sem fio 10.161.248.0/21, será necessário criar uma entrada de rota separada para ele.

E, em segundo lugar, você não poderá configurar nada como "obter as informações desses domínios deste servidor DNS e de todos os outros domínios desse outro servidor DNS" usando apenas /etc/resolv.conf . Às vezes, resolvi essas situações instalando um servidor de nomes BIND local em uma configuração somente de cache e especificando o servidor DNS do lado da Internet como um encaminhador padrão e gravando configurações de encaminhador por zona apontando para o servidor DNS da intranet para todo o DNS da intranet domínios.

    
por 14.12.2017 / 11:06
2

Basicamente, você precisa configurar duas rotas, algo como o seguinte:

Note que eu não sei qual gateway usar, então eu uso aqueles nos seus dados:

sudo route add -net 10.144.96.0 netmask 10.144.99.0 gw 10.144.248.1 dev enp0s20u2
sudo route add -net 10.161.0.0 netmask 10.161.0.0 gw 10.161.248.1 dev wlp2s0

Ótimo, então tenho que reaprender isso de novo ...

Com rota ip

sudo ip route add to 10.144.96.0/21 via 10.144.248.1 dev enp0s20u2
sudo ip route add to 10.161.0.0/22 via 10.144.248.1 dev wlp2s0

Não parece certo, para mim, pode funcionar ... ip route suga!

    
por 14.12.2017 / 10:01