Força todo o tráfego de rede a passar pelo gateway padrão

1

Eu tenho uma máquina que desejo forçar todo o tráfego a passar pelo gateway padrão. Até mesmo o tráfego na rede local.

Eu fiz isso funcionar removendo a rota gerada automaticamente para essa interface, mas é uma maneira de fazê-lo permanentemente no RHEL / Centos pelos scripts de rede?

Tabela de roteamento padrão usada para ficar assim:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Mas eu quero que seja depois de uma reinicialização da rede:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
    
por toed 30.06.2015 / 11:49

3 respostas

2

Pelo menos a rota para o gateway precisa ser direta, ou seja, você precisa

Kernel IP routing table
Destination     Gateway         Genmask           Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0           UG    0      0        0 eth0
192.168.1.1     0.0.0.0         255.255.255.255   U     0      0        0 eth0

A melhor maneira é modificar a máscara de rede da sua rede local (de /24 = 255.255.255.0 para /32 = 255.255.255.0 e defina o endereço de rede para "192.168.1.1". Então todo o tráfego deve passar pelo gateway.

    
por 30.06.2015 / 11:58
1

Parece que não há nenhum método para remover a rota que desejo pelos scripts de rede. Eu acho que não é um caso de uso muito comum, mas eu realmente não quero servidores na mesma rede sendo capazes de falar uns com os outros.

Mas eu encontrei um script que é executado depois que a rede é inicializada.

O script /etc/sysconfig/network-scripts/ifup-post chama /sbin/ifup-local no final, se existir.

Então eu criei esse com esse conteúdo:

#!/bin/bash
ip route delete 192.168.1.0/24

Após uma reinicialização da rede, não tive essa rota de rede local.

    
por 30.06.2015 / 14:52
0

Para que suas alterações fiquem em rhel / centos, crie o arquivo /etc/sysconfig/static-routes com uma linha que começa com a palavra-chave any seguida pelos argumentos que você forneceu a route add .

No arquivo /etc/sysconfig/network-scripts/ifcfg-<interface> substitua ou adicione uma linha DEFROUTE="no" .

    
por 30.06.2015 / 12:28