WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Linux: Default gateway på Eth1 (https://www.wn.se/forum/showthread.php?t=1052992)

Digitum 2012-04-10 02:50

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

Spirre 2012-04-10 02:57

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.

Digitum 2012-04-10 15:08

Hej.

Ubuntu server 11.10.
Så här ser /etc/network/interfaces ut:
Kod:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Externa gränssnittet
auto eth1
iface eth1 inet dhcp

# Interna gränssnittet
auto eth0
iface eth0 inet dhcp

Och det hjälpte inte att byta plats på nätverkskablarna. Det verkar vara slumpmässigt vilken som blir default.

dannelito 2012-04-10 15:49

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.

Digitum 2012-04-13 17:35

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.

dannelito 2012-04-13 17:56

Citat:

Ursprungligen postat av Digitum (Inlägg 20437634)
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 jag menar är alltså att dyndns-klienten går till t ex http://checkip.dyndns.com och uppdaterar dyndns-tjänsten med IP-adressen som visas. Skulle en sån lösning fungera för dig?

Digitum 2012-04-13 20:54

Citat:

Ursprungligen postat av dannelito (Inlägg 20437637)
Det jag menar är alltså att dyndns-klienten går till t ex http://checkip.dyndns.com och uppdaterar dyndns-tjänsten med IP-adressen som visas. Skulle en sån lösning fungera för dig?

Jo, men det hjälper inte eftersom förfrågan sker genom Default Gateway som går via interna nätverket eftersom den då kommer att rapportera Routerns publika adress och det är ju inte den jag vill uppdatera dyndns med. Jag vill rapportera den externa ip-adressen.

dannelito 2012-04-13 21:47

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".

Digitum 2012-04-14 03:07

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
#
# /etc/ddclient.conf

protocol=dyndns2
# use=web, web=checkip.dyndns.com, web-skip='IP Address'
use=if, if=eth0
server=members.dyndns.org
login=username
password='hemligkod'

server.domän.net

Men, varannan gång jag startar om servern så blir Default gateway den på eth0, och då fungerar allt och jag kan nå datorn på rapporterad ip-adress, men exakt varannan gång så blir DG 192.168.1.1 (eth1) och den externa ip-adressen går inte att nå.

Min /etc/network/interfaces ser ut så här:
Kod:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Externa gränssnittet
auto eth0
iface eth0 inet dhcp

# Interna gränssnittet
auto eth1
iface eth1 inet dhcp

Bringar detta nån klarhet? Det verkar som att dyndns blir uppdaterad med rätt adress i båda fallen men i det ena fallet går det inte att nå datorn.

dannelito 2012-04-14 06:41

Det skulle inte skada med ytterligare info. Vad ger t ex kommandot "route -een" när det funkar resp. inte funkar?

patrikweb 2012-04-14 21:21

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.

Digitum 2012-04-15 01:12

När det funkar:
Kod:

Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface    MSS  Window irtt
0.0.0.0        83.233.242.1    0.0.0.0        UG    100    0        0 eth0    0    0      0
83.233.242.0    0.0.0.0        255.255.254.0  U    0      0        0 eth0    0    0      0
192.168.1.0    0.0.0.0        255.255.255.0  U    0      0        0 eth1    0    0      0

När det inte funkar:
Kod:

Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface    MSS  Window irtt
0.0.0.0        192.168.1.1    0.0.0.0        UG    100    0        0 eth1    0    0      0
83.233.242.0    0.0.0.0        255.255.254.0  U    0      0        0 eth0    0    0      0
192.168.1.0    0.0.0.0        255.255.255.0  U    0      0        0 eth1    0    0      0


dannelito 2012-04-15 03:28

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.

Digitum 2012-04-19 17:11

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