Eu tenho um servidor com 2 interfaces. eth0 é 100 vezes mais rápido que eth1. Embora, por algum motivo, a cada reinicialização, a interface padrão seja escolhida aleatoriamente. Para tornar as coisas mais irritantes, os dois usam o mesmo gateway, portanto, a seleção do gateway padrão não funcionará. Como o linux escolhe a interface padrão e como seleciono a interface padrão?
Aqui está o meu route -n
para ajudar a explicar um pouco a situação.
Destination Gateway Genmask Flags Metric Ref Use Iface
173.246.100.0 0.0.0.0 255.255.252.0 U 0 0 0 eth1
173.246.100.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
0.0.0.0 173.246.103.254 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 173.246.103.254 0.0.0.0 UG 100 0 0 eth0
PS. Como é um VPS, o meu provedor também pode estar errado em algum lugar. O motivo da segunda interface é ter outro IP para o DNS, porque ele só faz DNS, é muito lento.
EDIT: Este é um servidor Ubuntu 10.04
linux
networking
route
interface
user163365
fonte
fonte
Respostas:
Use
ifmetric
para alterar o valor da métrica de ambas as interfaces. Aumentar eth1 acima de eth0 fará com que eth0 seja usado para todas as conexões. Resolve o problema completamente.fonte
Você deve desativar a segunda interface lenta e, em seguida, adicionar o IP secundário ao primário. Para fazer isso, edite seu arquivo de interfaces com:
Depois de acessar o arquivo de rede, você provavelmente verá algo como o seguinte:
Reconfigure-o para ficar assim:
Isso atribuirá os dois IPs à primeira NIC. Depois de fazer isso, salve o arquivo e execute:
E as mudanças serão confirmadas.
<- EDITAR ->
Na minha experiência, se estiver no mesmo comutador virtual, isso não deve importar, embora os ambientes hospedados possam travá-lo ainda mais. Vale a pena tentar, no entanto, se não funcionar, você pode solicitar à sua empresa de hospedagem que altere a interface virtual para algo mais capaz.
<- EDITAR ->
Além disso, se o seu IP principal não está servindo DNS no momento, por que não usá-lo também? Você pode hospedar vários serviços diferentes em um IP, pois eles usam portas diferentes.
fonte
Você parece ter duas interfaces na mesma sub-rede, o que é um pouco estranho. O Linux (supondo que você esteja usando um derivado da Red Hat) escolhe o gateway padrão lendo o valor GATEWAY em
/etc/sysconfig/network
. Essa variável, no entanto, mantém um endereço IP como um identificador de gateway, não um nome de interface. Portanto, no seu caso, o único endereço IP pode ser o gateway para ambas as interfaces, levando (eu acho) a algum tipo de condição de corrida.Ainda não sei por que você precisa da segunda interface. O que acontecerá se você reduzir completamente a interface lenta?
fonte