GuiderNätverk och VPNKoppla ihop två servrar

Koppla ihop två servrar hos Melonslab

Servrar hos Melonslab är isolerade från varandra i det lokala nätverket, så trafik mellan två av dem måste gå via gatewayen. Två små ändringar på Debian 13 får det att fungera över IPv4 och IPv6, även efter en omstart.

Testad på Debian 13 (trixie) på två servrar hos Melonslab Uppdaterad 2 oktober 2026

Rekommenderad server för guiden

VC-S Micro · 2 vCPU · 8 GB Minne · 250 GB Lagring

Månadsvis, ingen bindningstid 7 dagars öppet köp

90 kr/mån

Beställ nu
På den här sidan

Det här sätter du upp

Varje server hos Melonslab är isolerad från de andra servrarna i sitt lokala nätverk, så att ingen annan kunds server kan nå din direkt. Din server tror ändå att de andra adresserna i nätverket finns alldeles intill, och försöker nå dem direkt. Det misslyckas: två servrar i samma nätverk kan inte nå varandra förrän trafiken går via gatewayen, routern som varje server redan använder för internet.

Det här behövs bara mellan två servrar hos Melonslab i samma nätverk. En server någon annanstans, eller en server hos Melonslab i ett annat nätverk, går redan via gatewayen.

Varje steg nedan har körts på två nyinstallerade servrar hos Melonslab med Debian 13:

  • Före ändringen misslyckades varje IPv4-anslutning mellan dem med No route to host. Över IPv6 misslyckades de flesta med No route to host eller TLS handshake timeout.
  • Efter ändringen gick 60 ping i rad och 20 anslutningar i rad fram, över både IPv4 och IPv6, åt båda hållen.
  • Båda servrarna nådde fortfarande sin gateway och internet, och allt fungerade även efter en omstart.

Innan du börjar

Du behöver två servrar hos Melonslab med Debian 13, och root-åtkomst till båda. Gör varje steg på båda servrarna.

Exemplen använder 203.0.113.10 och 2001:db8:0:10::a för den ena servern, 203.0.113.20 och 2001:db8:0:20::a för den andra, och 203.0.113.1 för gatewayen. Byt ut dem mot dina egna.

1. Hitta ditt nätverk och din gateway

ip -4 route
default via 203.0.113.1 dev eth0 onlink
203.0.113.0/24 dev eth0 proto kernel scope link src 203.0.113.10

Den andra raden är serverns lokala nätverk, 203.0.113.0/24, som den försöker nå direkt. Den första raden anger gatewayen, 203.0.113.1. Om den andra serverns IPv4-adress inte ligger i samma nätverk behöver IPv4 ingen ändring, och du kan gå till steg 3.

2. Skicka IPv4 via gatewayen

På en server hos Melonslab sätts nätverket upp av Debians ifupdown, från en fil som cloud-init skriver, /etc/network/interfaces.d/50-cloud-init. Filens första rad varnar för att ändringar i den kanske inte består, så låt den vara. ifupdown kör också varje skript i /etc/network/if-up.d varje gång en nätverksanslutning kommer upp. Skapa /etc/network/if-up.d/via-gateway, med ditt nätverk och din gateway:

#!/bin/sh
# Melonslab isolates servers from each other on the local network:
# send traffic for the rest of the /24 through the gateway.
[ "$IFACE" = eth0 ] && [ "$ADDRFAM" = inet ] || exit 0
ip route replace 203.0.113.0/24 via 203.0.113.1 dev eth0 onlink

Det här ersätter routen för hela nätverket, så att varje server i det, nu och senare, nås via gatewayen. En route för varje enskild adress fungerar också, men då måste du lägga till en på båda servrarna för varje ny server. Gatewayen går fortfarande att nå: onlink talar om för servern att den finns alldeles intill, precis som standardrouten redan gör.

Gör skriptet körbart, och kör det en gång nu:

chmod 755 /etc/network/if-up.d/via-gateway
IFACE=eth0 ADDRFAM=inet /etc/network/if-up.d/via-gateway
ip -4 route
default via 203.0.113.1 dev eth0 onlink
203.0.113.0/24 via 203.0.113.1 dev eth0 onlink

3. Skicka IPv6 via gatewayen

Varje server hos Melonslab har ett eget IPv6-nätverk, så IPv6 går redan via gatewayen och behöver ingen route. Men gatewayen skickar ett meddelande till servrarna, en så kallad redirect, som säger åt dem att prata direkt med varandra, och då misslyckas det igen. Låt servern ignorera redirects. Skapa /etc/sysctl.d/60-no-redirects.conf:

# Send traffic to other servers in the same network through the router.
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv6.conf.eth0.accept_redirects = 0

Raden för eth0 behövs: utan den var inställningen på igen för eth0 efter en omstart. Tillämpa den, och glöm de redirects som servern redan har tagit emot:

sysctl --system
ip -6 route flush cache

Att ignorera redirects är också en vanlig rekommendation för att härda en server. IPv4 behövde ingen sådan inställning i vårt test, när routen från steg 2 väl var på plats.

4. Testa

När du har gjort steg 2 och 3 på båda servrarna, kör från den första servern:

ping -c 3 203.0.113.20
ping -c 3 2001:db8:0:20::a
3 packets transmitted, 3 received, 0% packet loss, time 2050ms

Gör sedan samma sak från den andra servern till den första. Så här ser du vilken väg servern skickar trafiken:

ip route get 203.0.113.20
203.0.113.20 via 203.0.113.1 dev eth0 src 203.0.113.10 uid 0

via 203.0.113.1 betyder att den går via gatewayen. Starta om båda servrarna en gång och testa igen: routen och inställningen kommer tillbaka av sig själva.

Felsökning

No route to host, eller Destination Host Unreachable, mellan två servrar hos Melonslab. Trafiken går inte via gatewayen. Kontrollera ip route get från steg 4 på båda servrarna: svaret ska innehålla via och gatewayen. Ett svar måste hitta tillbaka, så båda servrarna behöver ändringen.

IPv6 fungerar en stund, och misslyckas sedan med No route to host eller TLS handshake timeout. Servern har tagit emot en redirect. Kontrollera att sysctl net.ipv6.conf.eth0.accept_redirects visar 0, och kör ip -6 route flush cache.

Routen är borta efter en omstart. Skriptet är inte körbart, eller så innehåller namnet en punkt, och då hoppar ifupdown över det. Kontrollera med ls -l /etc/network/if-up.d/via-gateway.

Kör det på din egen server

VC-S Micro

90 kr/mån

vCPU
2
Minne
8 GB
Lagring
250 GB
Trafik
10 TB
Standard
HDD · RAID 10
  • Full root-åtkomst
  • Nativt /64 IPv6
  • RAID-skyddad lagring
  • Malmö, Sverige
  • Månadsvis, ingen bindningstid
  • 7 dagars öppet köp
Alla guider