Adicione a rede eth com um gateway separado

2

SO: Debian

Atualmente, tenho apenas 1 configuração de conexão de rede (br0).

Gostaria de conectar uma segunda conexão de rede (eth3) a uma rede / gateway separada.

Tudo deve continuar a ser enviado pela eth0, exceto se eu especificamente optar por enviar uma solicitação por meio da eth1 (como a solicitação da CURL, que especifica eth1)

Observe que eth2 é usado como ponte br0 para várias máquinas virtuais KVM.

ATUALIZADO: adicionei algumas rotas e atualizações ao arquivo de interfaces: Aqui está o meu arquivo de interfaces atual.

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
  address 192.168.1.121
  network 192.168.1.0
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  bridge_ports eth2
  bridge_stp on
  bridge_fd 0
  bridge_maxwait 0
  post-up ip route add 192.168.1.0/24 dev br0 metric 1
  post-up route add default gw 192.168.1.1 metric 1
  pre-down route del default gw 192.168.1.1

auto eth3
iface eth3 inet static
  address 192.168.0.121
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 191.168.0.1
  post-up ip route add 192.168.0.0/24 dev eth3 metric 2
  post-up route add default gw 192.168.0.1 metric 2
  pre-down route del default gw 192.168.0.1

No entanto, quando eu tento reiniciar o serviço de rede é dá este erro (também dá este erro ao tentar usar ifup eth3

RTNETLINK answers: File exists

Failed to bring up eth3

    
por David Barnes 07.11.2014 / 06:52

2 respostas

1

Se você souber a que endereços IP se conectará via eth1 , deverá configurar o roteamento.

Seu gateway padrão permanecerá eth0 , então, por padrão, todo o tráfego irá para lá, no entanto, qualquer tráfego enviado para redes específicas ou endereços IP passará por eth1 .

Verifique suas tabelas de roteamento atuais usando o iproute2 package:

$ ip route list
default via gateway 192.168.1.1 dev eth0
gateway 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.121

Defina uma rota estática usando o gateway de eth1 para chegar a unix.stackexchange.com :

ip route add (remote_network) via (remote_connecting_gatway) dev (local_outgoing_interface)

$ ip route add 198.252.206.16/32 via 192.168.0.1  dev eth1

Verifique a nova tabela de roteamento:

$ ip route list
default via gateway 192.168.1.1 dev eth0
gateway 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.121
198.252.206.16 via 192.168.0.1 dev eth1

Teste a nova rota:

$ ip route get 198.252.206.16
198.252.206.16 via 192.168.0.1 dev eth1  src 192.168.0.121
cache

Exclua a rota:

$  ip route del 198.252.206.16/32 via 192.168.0.1  dev eth1

Torne esta rota estática persistente por meio de uma reinicialização:

Adicione as seguintes entradas ao arquivo /etc/network/interfaces :

auto eth1
iface eth1 inet static
address 192.168.0.121
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
post-up ip route add 198.252.206.16/32 via 192.168.0.1  dev eth1
pre-down ip route del 198.252.206.16/32 via 192.168.0.1  dev eth1

Observe o post-up e pre-down entries .

Reiniciar redes:

$ /etc/init.d/networking restart

Nota:

Se você NÃO souber os endereços IP para onde irá, precisará adicionar uma tabela de roteamento adicional para conter as segundas rotas padrão.

Isso é abordado em detalhes em Dois gateways padrão em um sistema .

Referências

man ip
interfaces homem
Configurar o roteamento estático no Debian
Dois gateways padrão em um sistema

    
por 07.11.2014 / 10:57
0

Quando você tem dois gw padrão, você pode adicionar um valor de métrica mais alto na eth1 para evitar um tráfego diferente daquele especificado nessa interface. Eu acho que esse post tem sua resposta. Adicionando dois gateways padrão no arquivo de interfaces da Debian

    
por 07.11.2014 / 09:16