Siirry sisältöön
Networks

Blogi

GRE-tunnelit IPv4:lle: milloin tarvitset sellaisen ja miten se otetaan käyttöön

Päivitetty viimeksi RTM NetworksKäännetty englannista. Lue alkuperäinen

Tunnelin avulla voit käyttää IPv4-osoitteita palvelimella, joka ei muuten voisi kuljettaa niitä. Lohkon ilmoittaa verkko, joka voi ilmoittaa sen, ja tunneli kuljettaa sen liikenteen palvelimellesi ja takaisin. Se on ratkaisu, kun palveluntarjoajasi ei tarjoa bring your own IP -mallia (BYOIP), kun sinulla ei ole AS-numeroa tai kun tarvitset vähemmän kuin ne 256 osoitetta, jotka internet reitittää sellaisinaan.

Mitä tunneli oikeastaan tekee

Lohkosi paketit saapuvat verkkoon, joka sen ilmoittaa. Siellä jokainen paketti kääritään uuteen pakettiin, joka osoitetaan palvelimellesi ja lähetetään tavallisen internetin yli. Palvelimesi purkaa sen ja näkee alkuperäisen paketin, kuin osoitteet olisi määritetty paikalliseen liitäntään.

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

Vastaukset kulkevat saman reitin päinvastaiseen suuntaan: palvelimesi käärii ne, lähettää ne tunnelin toiseen päähän, ja se verkko toimittaa ne. Paluureitti on vaihe, jonka useimmat kokoonpanot tekevät väärin, ja alla oleva konfiguraatio näyttää miksi.

Milloin tunneli voittaa BYOIP:n

BYOIP antaa pilvi- tai hosting-palveluntarjoajan ilmoittaa lohkosi omasta verkostaan (mitkä palveluntarjoajat tekevät niin). Kun se on saatavilla ja sinulla on vähintään /24, se on siistimpi vaihtoehto: ei ylimääräistä hyppyä, ei ylimääräistä vikakohtaa ja palveluntarjoajan koko kaista. Tunneli on parempi valinta neljässä tapauksessa.

  • Palveluntarjoajasi ei tarjoa BYOIP:tä. Esimerkiksi Scaleway sanoo sen suoraan dokumentaatiossaan, ja useat muut ottavat sen vain pyynnöstä, osaan tuotteistaan, kuten Infomaniak, TransIP ja UpCloud. Toiset, muun muassa Contabo, Exoscale, Hostinger ja Akamai Cloud, eivät julkaise menettelyä lainkaan.
  • Tarvitset alle 256 osoitetta. /24 on pienin lohko, jonka verkot hyväksyvät reittitauluihinsa, eikä minkään palveluntarjoajan BYOIP mene sen alle. Tunneli voi toimittaa /29:n tai yksittäisen osoitteen.
  • Sinulla ei ole ASN:ää, ja palveluntarjoaja haluaa sellaisen. Jotkin palveluntarjoajat hyväksyvät avaruutesi vain BGP-istunnolla omalla AS-numerollasi. Tunneli ei tarvitse kumpaakaan.
  • Haluat samat osoitteet useassa paikassa tai vapauden siirtyä. Ilmoitus pysyy paikallaan; tunneli menee sinne, minne palvelimesikin.

Hintana on kiertotie. Liikenne kulkee tunnelin toiseen päähän ennen kuin se saapuu sinulle, joten valitse päätepiste lähellä palvelintasi, ja muista, että ylärajan asettaa tunnelin kapasiteetti, ei palvelimesi portti.

GRE vai WireGuard

Molemmat kuljettavat samaa liikennettä; ne eroavat siinä, mitä kahden pään välinen reitti vaatii.

GREWireGuard
SalausEiKyllä
Lisäkuorma IPv4:llä24 tavua60 tavua
NAT:n tai CGNAT:n takanaEi toimi luotettavastiToimii
TukiUseimmat reitittimet ja Linux-ydinLinux-ydin, FreeBSD, OpenBSD, MikroTik RouterOS 7, OpenWrt ja EdgeOS; tarkista toimittajasi dokumentaatio ennen kuin luotat siihen operaattorireitittimessä
Paras, kunReitti on luotettu ja läpäisykyky on tärkeintäLiikenne kulkee verkkojen kautta, joita et hallitse, tai päätepisteellä ei ole julkista osoitetta

WireGuardin oma alustaluettelo ja MikroTikin RouterOS-dokumentaatio kertovat, missä se toimii (tarkistettu 22. lokakuuta 2026).

Jos päätepisteesi on NAT:n takana, valinta on tehty puolestasi: WireGuard. Sama pätee Azureen, joka estää GRE:n virtuaaliverkoissaan.

MTU ja MSS: klassinen virhe

Kapselointi lisää otsakkeita, joten suurin tunneliin mahtuva paketti on pienempi kuin tavallisen Ethernet-yhteyden 1 500 tavua: 1 476 tavua GRE:lle IPv4:n yli, ja WireGuard toimii yleensä arvolla 1 420. Jos tämä menee väärin, näet klassisen oireen: pienet pyynnöt toimivat, mutta suuret lataukset ja TLS-kättelyt jumittuvat, koska paketit, jotka eivät mahdu, pudotetaan, ja viestit, joiden pitäisi ilmoittaa siitä, suodatetaan usein matkalla.

Kaksi asetusta estää sen. Aseta tunneliliitännän MTU oikeaan arvoon ja rajoita TCP:n suurinta segmenttikokoa (MSS) tunnelin kautta reitittämälläsi liikenteellä, jotta molemmat päät sopivat lähettävänsä mahtuvia paketteja. Lähetämme molemmat arvot jokaisen tunnelin mukana ja muutamme niitä pyynnöstä.

Minimaalinen Linux-kokoonpano

Alla oleva esimerkki tuo lohkon yhdelle Linux-palvelimelle GRE:n kautta. Osoitteet ovat dokumentaatioalueita: 203.0.113.1 on palvelimesi julkinen osoite, 198.51.100.1 tunnelin toinen pää ja 192.0.2.0/24 lohko.

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

Vaihe 3 on se, joka jää ihmisiltä väliin. Ilman sitä osoitteen 192.0.2.10 vastaukset lähtevät palveluntarjoajasi oman yläyhteyden kautta lähdeosoitteella, jota palveluntarjoaja ei koskaan antanut sinulle, ja sen huijauksenestosuodattimet (anti-spoofing) pudottavat ne. Jos jakelusi ottaa käyttöön tiukan reverse path -suodatuksen, aseta se löysäksi myös tunnelille (sysctl -w net.ipv4.conf.gre1.rp_filter=2).

Jos palvelin reitittää lohkon edelleen virtuaalikoneille tai konteille, rajoita MSS sen välittämällä liikenteellä:

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

BGP tunnelin yli

Jos sinulla on oma AS-numero ja haluat hallita ilmoitusta itse, voit ajaa BGP-istuntoa tunnelin yli staattisen reitin sijaan, BIRDillä, FRR:llä tai reitittimesi omalla daemonilla. Useimmat asiakkaat eivät tarvitse tätä ja valitsevat staattisen kokoonpanon. Jos ilmoitat omalta ASN:ltäsi, ROA:n on nimettävä se ASN (RPKI ja ROA:t).

Missä RTM Networks auttaa

Ilmoitamme lohkon ja toimitamme sen palvelimellesi GRE:n tai WireGuardin kautta, missä palvelin sitten onkin. Se toimii siellä, missä BYOIP ei toimi, myös alle 256 osoitteelle ja palveluntarjoajille, jotka eivät hyväksy avaruuttasi lainkaan. Kerro meille, missä palvelin on ja mitä sillä ajetaan, niin suosittelemme GRE:tä tai WireGuardia ja lähetämme konfiguraation oikeilla MTU- ja MSS-arvoilla (GRE- ja WireGuard-tunnelit).

Yhteystiedot

Tarvitsetko neuvoja omaan tilanteeseesi?

Tämä artikkeli on yleinen; verkkosi ei ole. Kerro, minkä kanssa työskentelet, niin katsomme sitä kunnolla. Vastaamme yleensä 1–3 työtunnin kuluessa.

Ota yhteyttä