Atualizar padrão:
ip route change default via 81.169.180.1 src 81.169.180.51
Verifique a configuração:
ip route list
um dos meus servidores (Debian 5.0.6) possui dois endereços IP públicos na mesma interface. Isso costumava funcionar bem por meses, mas de repente está usando endereços IP "errados" para conexões de saída. Isso é um problema porque a pesquisa inversa não coincide e os e-mails, portanto, recebem pontos de spam.
eth0 Link encap:Ethernet Hardware Adresse 00:1b:21:14:8e:9c
inet Adresse:81.169.180.51 Bcast:81.169.180.51 Maske:255.255.255.255
inet6-Adresse: fe80::21b:21ff:fe14:8e9c/64 Gültigkeitsbereich:Verbindung
eth0:0 Link encap:Ethernet Hardware Adresse 00:1b:21:14:8e:9c
inet Adresse:85.214.157.120 Bcast:85.214.157.120 Maske:255.255.255.255
Kernel-IP-Routentabelle
Destination Router Genmask Flags Metric Ref Use Iface
81.169.180.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
0.0.0.0 81.169.180.1 0.0.0.0 UG 0 0 0 eth0
Atualmente, ele está usando 85.214.157.120 para conexões de saída. Como faço para usar 81.169.180.51?
Editar : A máscara de rede de 255.255.255.255 é consistente com a documentação e a resposta DHCP da empresa de hospedagem. Chamar a reinicialização /etc/init.d/networking várias vezes terminará com o endereço IP correto para conexões fora da rede. Mas isso obviamente não é uma solução estável. / Editar
Editar 2 : para garantir que a rota do host não esteja relacionada ao meu problema, configuro uma rede de teste local:
eth0 inet Adresse:192.168.0.2 Bcast:192.168.0.255 Maske:255.255.255.0
eth0:0 inet Adresse:192.168.0.3 Bcast:192.168.0.255 Maske:255.255.255.0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
Se alguém tiver uma ideia de como se certificar de que o endereço IP de origem 192.168.0.2 é usado em conexões tcp de saída, ficaria agradecido. / Editar 2
A resposta de bindbn é boa, mas encontrei algumas complicações.
1) Você deve verificar "ip route route" como diz bindbn. Alguma outra regra na lista pode ter precedência sobre a rota padrão. Pode ser necessário excluir essa regra ou criar uma regra ligeiramente diferente.
2) Todas as alterações feitas através do comando ip funcionam apenas até a próxima reinicialização. Essa resposta Adicionar permanentemente as regras de roteamento da política de origem explica como torná-la persistente.
Em resumo, você pode adicionar o comando ip route que você precisa para executar como uma linha "up" ou "post-up" para / etc / network / interfaces. Você pode adicionar uma linha "abaixo" correspondente para remover a rota.
Tente mudar
allow-hotplug eth0
para
auto eth0
Isso deve forçar sua interface física a aparecer primeiro. Você pode ou não precisar alterar a entrada allow-hotplug para eth0: 0 também.
Por curiosidade, por que seus endereços IP possuem uma máscara de rede de 255.255.255.255? Isso realmente não é viável, já que isso significaria que o endereço completo é a rede. Não há espaço para os anfitriões. O fato de seu endereço de broadcast ser o mesmo do IP do host também é preocupante, mas provavelmente devido ao problema da netmask. Parece que sua máscara de rede deve ser 255.255.255.0.
Isso foi feito para fornecer dois hosts na mesma sub-rede? Pode ser preferível simplesmente fazer uma alteração para que cada interface esteja em uma sub-rede diferente. 255.255.255.128 colocaria eth0 e seu gateway (de 81.169.180.1) na mesma sub-rede, com eth0: 0 em uma sub-rede separada. No entanto, isso significaria que a eth0 só poderia se comunicar com 81.169.180.1-81.169.180.127. E eth0: 0 indo de 129-254. Mas, dito isso, não consigo ver por que sua configuração atual funciona.
Agora, isso causará os problemas que você está vendo acima? Não consigo ver um link direto, mas é possível.
É certamente algo que eu faria. Se isso não ajudar, talvez você possa explicar por que você tem coisas configuradas dessa maneira.
Você também pode tentar ifdown
em eth0: 0, adicionar a rota e ifup
de volta. Isso pode garantir que o IP correto seja usado.
A adição manual de dev eth0
pode ajudar, mas parece que a rota foi feita corretamente.
iproute 2
. ( Link secundário ) Parece algo nos moldes de < br>
Trazendo a interface:
ip link set eth0 up
ip addr add 192.168.0.2/24 dev ethe0
e ip addr add 192.168.0.3/24 dev eth0
Em seguida, configurar a tabela de roteamento com ip route add 10.0.0.0/16 via 192.168.0.2
- Christopher Karel
Sua configuração atual não deve funcionar de maneira alguma. Como a máscara de rede para ambas as interfaces é 255.255.255.255, não há espaço para um gateway. No entanto, para fornecer tráfego significativo, seu servidor precisa de um gateway. O ISP que fornece os dois endereços IP públicos também deve fornecer configurações de máscara de rede e gateway para ambos os endereços IP.
Exemplo (este é meu servidor privado e os endereços IP são reais):
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 217.10.144.208 0.0.0.0 255.255.255.248 U 0 0 0 eth0 0.0.0.0 217.10.144.209 0.0.0.0 UG 0 0 0 eth0
O próprio servidor está em 217.10.144.210, que fica na mesma sub-rede que o gateway (tem que, caso contrário, nenhum tráfego pode ser roteado). Presumivelmente, o ISP também está fornecendo a mesma sub-rede para alguns outros clientes.
Se você estiver nesse servidor e fizer um ping no seu gateway, receberá uma mensagem "não encaminhar para o host".
Fale com o ISP e obtenha as configurações corretas, atualize a configuração da interface, reinicie a rede e faça o check-out novamente.