Blogi
GRE-tunnelit IPv4:lle: milloin tarvitset sellaisen ja miten se otetaan käyttöön
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.
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.
| GRE | WireGuard | |
|---|---|---|
| Salaus | Ei | Kyllä |
| Lisäkuorma IPv4:llä | 24 tavua | 60 tavua |
| NAT:n tai CGNAT:n takana | Ei toimi luotettavasti | Toimii |
| Tuki | Useimmat reitittimet ja Linux-ydin | Linux-ydin, FreeBSD, OpenBSD, MikroTik RouterOS 7, OpenWrt ja EdgeOS; tarkista toimittajasi dokumentaatio ennen kuin luotat siihen operaattorireitittimessä |
| Paras, kun | Reitti 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.
# 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 100Vaihe 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ä:
iptables -t mangle -A FORWARD -o gre1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtuBGP 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.



