![]() |
Linux: Default gateway på Eth1
Hej.
Jag har satt upp en server för hantering av SMS-meddelanden. Den har två nätverksinterface, eth0 och eth1. Eth0 går till interna nätverket och Eth1 går till internet. Eth0 används automatiskt som default gateway varvid all trafik går denna väg, inkl dyndns-uppdateringar. Problemet är att det är genom Eth1 som dyndns-adressen skall peka till men uppdateraren ger i stället ip-adressen för eth0, dvs mitt interna nätverks publika adress. Ju finns det två sätt att lösa det på, det lätta och det svåra sättet. Det lätta vore ju naturligtvis att bara byta på kablarna, men då måste jag även ändra på en del inställningar i brandväggen och det är ingen utmaning. Det andra sättet är att få burken att alltid göra eth1 till default route. Den får sin adress via DHCP, därav behovet av Dyndns. Går detta att ordna? Hur ställer jag prioriteten på grännsnitten avseende detta? /O |
Vad för dist? är det debian/ubuntu så har såtts default gateway i /etc/network/interfaces
för eth0 den får du ta bort, så sätts dhcpinterfacet som defaultgateway. |
Hej.
Ubuntu server 11.10. Så här ser /etc/network/interfaces ut: Kod:
# This file describes the network interfaces available on your system |
Kanske är enklare att konfigurera om dyndns-klienten eller byta till en annan så att den rapporterar extern IP-adress? Vissa klienter kan själva klura ut vilken extern adress de har, t ex genom att ansluta till en tjänst/sida på internet som meddelar aktuell adress till dem.
|
Det är det som är problemet. Eftersom default gateway går via min interna router så blir det dess ip-adress som uppdateras och inte den adress som externa interfacet ligger på.
Det är därför jag vill kunna göra så att jag kan ställa in så att default gateway alltid går via det externa gränssnittet och inte det mot mitt interna nätverk. |
Citat:
|
Citat:
|
Ok, så du har m a o tillgång till flera externa IP-adresser.
Vet inte vilken dyndns-klient du använder, men är det ddclient kan du ju prova att sätta "use=if, if=eth1" i config. Kolla vilket nätverkskort som har vilket IP med "ifconfig -a". |
Ok. Jag kanske var otydlig. Jag sitter på 100Mbit fiberbredband med dhcp-adresstilldelning.
Jag har bytt så att publika ehernetgränssnittet är eth0 och det interna är eth1. Jag använder ddclient och min ddclient.conf ser ut så här (ungefär): Kod:
# Configuration file for ddclient Min /etc/network/interfaces ser ut så här: Kod:
# This file describes the network interfaces available on your system |
Det skulle inte skada med ytterligare info. Vad ger t ex kommandot "route -een" när det funkar resp. inte funkar?
|
Det där är inget konstigt alls!
Finns flera lösningar - Sätt statisk IP på NIC som går till interna nätverket istället - Modifera dhclient.conf för inte ta emot default gw eller annan passande uppsättning. - Scripta ihop en sak som modiferar metric om den är fel gw. - Sätt upp en PBR för matcha trafiken så dom skickas korrekt åt dom olika håll. Lättaste grundprincipen är att du behöver inte ha en defult gw till nätet som sitter lokalt. |
När det funkar:
Kod:
Kernel IP routing table Kod:
Kernel IP routing table |
Om jag hänger med i svängarna är det alltså dhcp-klienten som gör att eth1 ibland blir default gateway. Isåfall kan du göra som Patrik föreslår, t ex använda statiskt IP för eth1 (välj ett IP utanför dhcp-range och ange ingen gateway) eller försöka få dhcp-klienten (dhclient?) att endast sätta default gateway för eth0.
|
Det verkar ha löst sig genom att sätta en fast intern IP-adress. Nu blir det rätt hela tiden och den ändrar sig inte rätt vad det är. Tack för hjälpen.
|
Alla tider är GMT +2. Klockan är nu 13:06. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson