Liigu sisu juurde
Networks

Blogi

GRE-tunnelid IPv4 jaoks: millal neid vajate ja kuidas seadistada

Viimati uuendatud RTM NetworksTõlgitud inglise keelest. Loe originaali

Tunnel laseb kasutada IPv4 aadresse serveris, mis muidu neid kanda ei saaks. Plokki kuulutab välja võrk, mis seda teha saab, ja tunnel kannab selle liikluse Teie serverisse ja tagasi. See on lahendus, kui Teie teenusepakkuja ei paku bring your own IP-d (BYOIP), kui Teil pole AS-numbrit või kui vajate vähem kui 256 aadressi, mida internet eraldi marsruudiks.

Mida tunnel tegelikult teeb

Teie ploki paketid jõuavad võrku, mis selle välja kuulutab. Seal pakitakse iga pakett uude, Teie serverile adresseeritud paketti ja saadetakse tavalise interneti kaudu. Teie server pakib selle lahti ja näeb algset paketti, nagu oleksid aadressid seadistatud kohalikule liidesele.

Text
Original packet:  [IP header | data]
GRE packet:       [outer IP | GRE header | IP header | data]

Vastused liiguvad sama teed tagurpidi: Teie server pakib need, saadab tunneli teise otsa ja see võrk toimetab need kohale. See tagasitee on samm, mille enamik seadistusi valesti teeb, ja allolev konfiguratsioon näitab, miks.

Millal tunnel on BYOIP-st parem

BYOIP laseb pilve- või majutusteenuse pakkujal Teie plokki oma võrgust välja kuulutada (millised pakkujad seda teevad). Kus see on saadaval ja Teil on vähemalt /24, on see puhtam valik: pole lisahüpet, pole lisarikkepunkti ja kasutate pakkuja täit ribalaiust. Tunnel on parem valik neljal juhul.

  • Teie teenusepakkuja ei paku BYOIP-d. Näiteks Scaleway ütleb seda oma dokumentatsioonis otse ja mitu teist võtavad seda vastu ainult taotlusel, mõne oma toote jaoks, nagu Infomaniak, TransIP ja UpCloud. Teised, nende hulgas Contabo, Exoscale, Hostinger ja Akamai Cloud, ei avalda üldse protseduuri.
  • Vajate vähem kui 256 aadressi. /24 on väikseim plokk, mida võrgud oma marsruutimistabelitesse võtavad, ja ühegi pakkuja BYOIP ei lähe sellest allapoole. Tunnel saab toimetada /29 või üksiku aadressi.
  • Teil pole ASN-i ja pakkuja tahab seda. Mõni pakkuja võtab Teie ruumi vastu ainult BGP-sessiooni kaudu Teie oma AS-numbriga. Tunnel ei vaja kumbagi.
  • Soovite samu aadresse mitmes kohas või vabadust kolida. Väljakuulutus jääb paigale; tunnel läheb sinna, kuhu Teie server.

Hinnaks on ringtee. Liiklus liigub enne Teieni jõudmist tunneli teise otsa, seega valige Teie serverile lähedane lõpp-punkt ja pidage meeles, et lae seab tunneli läbilaskevõime, mitte Teie serveri port.

GRE või WireGuard

Mõlemad kannavad sama liiklust; need erinevad selle poolest, mida kahe otsa vaheline tee vajab.

GREWireGuard
KrüpteeriminePuudubJah
Lisakulu IPv4 puhul24 baiti60 baiti
NAT-i või CGNAT-i tagaEi tööta usaldusväärseltTöötab
TugiEnamik ruutereid ja Linuxi kernelLinuxi kernel, FreeBSD, OpenBSD, MikroTik RouterOS 7, OpenWrt ja EdgeOS; operaatoriklassi ruuteri puhul kontrollige enne sellele lootmist tootja dokumentatsiooni
Parim, kuiTee on usaldusväärne ja läbilaskevõime on kõige olulisemLiiklus läbib võrke, mida Te ei kontrolli, või lõpp-punktil pole avalikku aadressi

WireGuardi enda platvormide loend ja MikroTiku RouterOS-i dokumentatsioon ütlevad, kus see töötab (kontrollitud 22. oktoobril 2026).

Kui Teie lõpp-punkt on NAT-i taga, on valik Teie eest tehtud: WireGuard. Sama kehtib Azure'i kohta, mis blokeerib GRE oma virtuaalvõrkudes.

MTU ja MSS: klassikaline viga

Kapseldamine lisab päiseid, seega on suurim tunnelisse mahtuv pakett väiksem kui tavalise Etherneti lingi 1500 baiti: GRE puhul üle IPv4 1476 baiti ja WireGuard töötab tavaliselt 1420-ga. Kui see on vale, näete klassikalist sümptomit: väikesed päringud töötavad, kuid suured allalaadimised ja TLS-i kätlused jäävad rippuma, sest paketid, mis ei mahu, visatakse kõrvale ja teated, mis sellest peaksid teatama, filtreeritakse teel sageli välja.

Kaks seadistust hoiavad seda ära. Seadke tunneliliidese MTU õigeks väärtuseks ja piirake TCP maksimaalset segmendi suurust (MSS) liiklusel, mida tunneli kaudu marsruudite, et mõlemad otsad lepiksid kokku mahtuvate pakettide saatmises. Saadame mõlemad väärtused iga tunneliga ja muudame neid taotlusel.

Minimaalne Linuxi seadistus

Allolev näide toob ploki GRE kaudu ühte Linuxi serverisse. Aadressid on dokumentatsioonivahemikud: 203.0.113.1 on Teie serveri avalik aadress, 198.51.100.1 tunneli teine ots ja 192.0.2.0/24 plokk.

Shell
# 1. The tunnel, from your server to the far end
ip tunnel add gre1 mode gre local 203.0.113.1 remote 198.51.100.1 ttl 255
ip link set gre1 mtu 1476 up
ip addr add 10.0.0.2/30 dev gre1

# 2. An address from the block on the server itself
ip addr add 192.0.2.10/32 dev lo

# 3. Replies from the block go back through the tunnel
ip rule add from 192.0.2.0/24 lookup 100
ip route add default via 10.0.0.1 dev gre1 table 100

Samm 3 on see, mis inimestel kahe silma vahele jääb. Ilma selleta lahkuvad vastused aadressilt 192.0.2.10 Teie pakkuja enda ühenduse kaudu, kandes lähteaadressi, mida see pakkuja Teile kunagi ei andnud, ja tema võltsimisvastased filtrid viskavad need kõrvale. Kui Teie distributsioon lülitab sisse range pöördtee filtreerimise, seadke see tunneli jaoks samuti leebeks (sysctl -w net.ipv4.conf.gre1.rp_filter=2).

Kui server marsruudib ploki edasi virtuaalmasinatele või konteineritele, piirake MSS-i liiklusel, mida see edastab:

Shell
iptables -t mangle -A FORWARD -o gre1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

BGP tunneli kaudu

Kui Teil on oma AS-number ja soovite väljakuulutust ise kontrollida, saate staatilise marsruudi asemel käitada tunneli kaudu BGP-sessiooni, BIRD-i, FRR-i või oma ruuteri enda deemoniga. Enamik kliente seda ei vaja ja valib staatilise seadistuse. Kui kuulutate välja oma ASN-ilt, peab ROA nimetama seda ASN-i (RPKI ja ROA-d).

Kuhu RTM Networks sobib

Kuulutame ploki välja ja toimetame selle GRE või WireGuardi kaudu Teie serverisse, kus iganes server asub. See töötab seal, kus BYOIP ei tööta, sealhulgas alla 256 aadressi puhul ja pakkujate juures, kes Teie ruumi üldse vastu ei võta. Andke teada, kus server asub ja mida see käitab, ning soovitame GRE või WireGuardi ja saadame konfiguratsiooni õigete MTU ja MSS väärtustega (GRE- ja WireGuardi tunnelid).

Kontakt

Vajate nõu oma olukorra kohta?

See artikkel on üldine; Teie võrk mitte. Andke teada, millega töötate, ja vaatame selle korralikult üle. Tavaliselt vastame 1–3 töötunni jooksul.

Võtke ühendust