O gateway padrão está em uma sub-rede diferente. Como configurar no RHEL6.2

3

Eu tenho duas sub-redes roteadas para o meu servidor pelo ISP. Eu tenho apenas um gateway ip. O gateway está na mesma VLAN que meu endereço IP. Por exemplo, o netowrk 1 é 1.0.0.0/24 e a rede 2 é 2.0.0.0/24. Ambos são roteados para eth0 pelo meu provedor. O gateway é 1.0.0.1. Meu host ip é 2.0.0.1/24 (eth0) Então eu posso configurar o gateway padrão manualmente com

ip route add default dev eth0
ip route add default via 1.0.0.1

e, em seguida, a conexão com a internet funciona corretamente. Como posso configurá-lo em / etc / sysconfig / network-scripts / ifcfg-eth0?

Eu tentei definir GATEWAY = 1.0.0.1, mas não funciona. Tentei configurar GATEWAY e GATEWAYDEV em / etc / sysconfig / network e ele faz apenas o primeiro comando da listagem acima.

    
por Dmytro Leonenko 17.03.2012 / 22:54

4 respostas

3

Consegui encontrar uma resposta sozinho.

#cat /etc/sysconfig/network-scripts/route-eth0
1.0.0.0/24 dev eth0
default via 1.0.0.1 dev eth0

Parece um pouco melhor que as linhas no rc.local Pelo menos está relacionado ao roteamento em termos se o RHEL for configurado na rede

    
por 20.03.2012 / 13:08
6

Você realmente não encontrará suporte para algo assim, já que não é algo que passará em verificações de integridade.

Então, pense um pouco sobre isso. Seu computador precisa saber o endereço do gateway para alcançar outras máquinas fora de sua sub-rede local. Portanto, se você tiver uma sub-rede 10.0.1.0/24 e sua máquina for 10.0.1.12, ela poderá acessar qualquer máquina de 10.0.1.0-10.0.1.255 sem usar o gateway.

Normalmente, o gateway deve estar dentro da sub-rede da máquina, caso contrário a máquina não tem como acessá-lo (sem alguns truques de roteamento, como você está fazendo). Voltando ao exemplo acima, se o gateway tivesse um IP de 10.0.2.10, as máquinas não teriam como acessá-lo (para enviar tráfego para fora de sua sub-rede, elas precisam alcançar o gateway, que está fora de sua sub-rede) .

Tem certeza absoluta que tem a máscara de sub-rede correta? Como outro exemplo, se você tiver um IP em 10.0.1.0/16 com um gateway de 10.0.2.0, isso é perfeitamente válido. Se você tivesse 10.0.1.0/24 e um gateway de 10.0.2.0, isso não é. Eu suspeito que o seu ISP tenha lhe dado a informação errada da máscara de rede.

    
por 20.03.2012 / 01:05
2

Você não pode obter o mesmo resultado com initscripts. Aqui está a parte relevante de / etc / sysconfig / network-scripts / network-functions:

if [ "$GATEWAY" = "0.0.0.0" ]; then
    /sbin/ip route add default dev ${GATEWAYDEV}
else
    /sbin/ip route add default via ${GATEWAY}
fi

O que significa que apenas um dos dois comandos que você listou seria executado, mas não ambos.

Uma solução melhor seria pegar outro IP de 1.0.0.0/24 e entregá-lo para eth0 no servidor ao invés de 2.0.0.1. Então você tem a configuração convencional, roteando tudo sobre 1.0.0.0/24, e você usa 2.0.0.0/24 com coisas totalmente legítimas como proxy ARP e iptables.

Se você não puder fazer isso, basta colocar os dois comandos ip route em /etc/rc.local.

    
por 20.03.2012 / 01:56
0

Corri para o mesmo problema na semana passada. Configure as rotas manualmente com ip route add... e, para persistir, ip r l > /etc/sysconfig/network-scripts/route-em1 (edite-a depois) e voila

    
por 23.03.2012 / 21:40