Blog
Tunel GRE za IPv4: kdaj ga potrebujete in kako ga nastavite
Tunel vam omogoča uporabo IPv4-naslovov na strežniku, ki jih sicer ne bi mogel prenašati. Blok objavi omrežje, ki ga lahko objavi, tunel pa njegov promet prenaša do vašega strežnika in nazaj. To je odgovor, kadar vaš ponudnik ne ponuja BYOIP (bring your own IP), kadar nimate številke AS ali kadar potrebujete manj kot 256 naslovov, kolikor jih internet usmerja samostojno.
Kaj tunel dejansko počne
Paketi za vaš blok prispejo v omrežje, ki ga objavlja. Tam se vsak paket zavije v novega, naslovljenega na vaš strežnik, in pošlje prek navadnega interneta. Vaš strežnik ga odvije in vidi izvirni paket, kot da bi bili naslovi nastavljeni na lokalnem vmesniku.
Original packet: [IP header | data]
GRE packet: [outer IP | GRE header | IP header | data]Odgovori gredo po isti poti v obratni smeri: vaš strežnik jih zavije, pošlje na drugi konec tunela, to omrežje pa jih dostavi. Ta povratna pot je korak, ki ga večina postavitev naredi narobe, spodnja konfiguracija pa pokaže, zakaj.
Kdaj je tunel boljši od BYOIP
BYOIP ponudniku oblaka ali gostovanja omogoča, da vaš blok objavi iz svojega omrežja (kateri ponudniki to omogočajo). Kjer je na voljo in imate vsaj /24, je to čistejša možnost: brez dodatnega skoka, brez dodatne točke odpovedi in s polno pasovno širino ponudnika. Tunel je boljša izbira v štirih primerih.
- Vaš ponudnik ne ponuja BYOIP. Scaleway na primer to jasno pove v svoji dokumentaciji, več drugih pa ga sprejme le na zahtevo, za nekatere svoje izdelke, na primer Infomaniak, TransIP in UpCloud. Drugi, med njimi Contabo, Exoscale, Hostinger in Akamai Cloud, ne objavljajo nobenega postopka.
- Potrebujete manj kot 256 naslovov. /24 je najmanjši blok, ki ga omrežja sprejemajo v svoje tabele usmerjanja, in BYOIP pri nobenem ponudniku ne gre pod to mejo. Tunel lahko dostavi /29 ali en sam naslov.
- Nimate ASN, ponudnik pa ga zahteva. Nekateri ponudniki vaš prostor sprejmejo le prek seje BGP z vašo lastno številko AS. Tunel ne potrebuje ne enega ne drugega.
- Iste naslove želite na več mestih ali svobodo selitve. Objava ostane, kjer je; tunel gre, kamor gre vaš strežnik.
Cena je ovinek. Promet potuje do drugega konca tunela, preden pride do vas, zato izberite končno točko blizu svojega strežnika in ne pozabite, da zgornjo mejo določa zmogljivost tunela, ne vrata vašega strežnika.
GRE ali WireGuard
Oba prenašata isti promet; razlikujeta se v tem, kaj potrebuje pot med obema koncema.
| GRE | WireGuard | |
|---|---|---|
| Šifriranje | Ne | Da |
| Režija na IPv4 | 24 bajtov | 60 bajtov |
| Za NAT ali CGNAT | Ne deluje zanesljivo | Deluje |
| Podpora | Večina usmerjevalnikov in jedro Linux | Jedro Linux, FreeBSD, OpenBSD, MikroTik RouterOS 7, OpenWrt in EdgeOS; preden nanj računate na operaterskem usmerjevalniku, preverite dokumentacijo proizvajalca |
| Najboljši, kadar | Je pot zaupanja vredna in je prepustnost najpomembnejša | Promet prečka omrežja, ki jih ne nadzorujete, ali končna točka nima javnega naslova |
WireGuardov lasten seznam platform in MikroTikova dokumentacija RouterOS povesta, kje deluje (preverjeno 22. oktobra 2026).
Če je vaša končna točka za NAT, je izbira že narejena: WireGuard. Enako velja za Azure, ki v svojih virtualnih omrežjih blokira GRE.
MTU in MSS: klasična napaka
Enkapsulacija doda glave, zato je največji paket, ki gre v tunel, manjši od 1.500 bajtov navadne povezave Ethernet: 1.476 bajtov za GRE prek IPv4, WireGuard pa običajno deluje pri 1.420. Če to nastavite narobe, vidite klasičen simptom: majhne zahteve delujejo, veliki prenosi in rokovanja TLS pa obvisijo, ker se paketi, ki ne gredo skozi, zavržejo, sporočila, ki bi to morala sporočiti, pa so na poti pogosto filtrirana.
To preprečita dve nastavitvi. MTU vmesnika tunela nastavite na pravo vrednost in omejite največjo velikost segmenta TCP (MSS clamping) za promet, ki ga usmerjate skozi tunel, da se oba konca dogovorita za pošiljanje paketov, ki gredo skozi. Obe vrednosti pošljemo z vsakim tunelom in ju na zahtevo spremenimo.
Minimalna postavitev v Linuxu
Spodnji primer blok prek GRE prinese na en sam strežnik Linux. Naslovi so dokumentacijski obsegi: 203.0.113.1 je javni naslov vašega strežnika, 198.51.100.1 drugi konec tunela, 192.0.2.0/24 pa blok.
# 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 100Korak 3 je tisti, ki ga ljudje spregledajo. Brez njega odgovori z 192.0.2.10 odidejo prek ponudnikove lastne povezave, z izvornim naslovom, ki vam ga ta ponudnik nikoli ni dal, njegovi filtri proti ponarejanju (anti-spoofing) pa jih zavržejo. Če vaša distribucija omogoča strogo filtriranje povratne poti (reverse-path filtering), ga za tunel nastavite na ohlapno (sysctl -w net.ipv4.conf.gre1.rp_filter=2).
Če strežnik blok usmerja naprej do virtualnih strojev ali vsebnikov, omejite MSS za promet, ki ga posreduje:
iptables -t mangle -A FORWARD -o gre1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtuBGP prek tunela
Če imate lastno številko AS in želite objavo nadzorovati sami, lahko prek tunela namesto statične poti uporabljate sejo BGP, z BIRD, FRR ali lastnim demonom vašega usmerjevalnika. Večina strank tega ne potrebuje in izbere statično postavitev. Če objavljate z lastnim ASN, mora ROA navajati ta ASN (RPKI in ROA).
Kje nastopi RTM Networks
Blok objavimo in ga prek GRE ali WireGuard dostavimo do vašega strežnika, kjerkoli je. To deluje tam, kjer BYOIP ne, tudi za manj kot 256 naslovov in pri ponudnikih, ki vašega prostora sploh ne sprejmejo. Povejte nam, kje je strežnik in kaj na njem teče, in priporočili vam bomo GRE ali WireGuard ter poslali konfiguracijo s pravima vrednostma MTU in MSS (tuneli GRE in WireGuard).
Kontakt
Potrebujete nasvet za svoj primer?
Ta članek je splošen, vaše omrežje pa ne. Povejte nam, s čim delate, in temeljito si bomo ogledali vaš primer. Običajno odgovorimo v 1 do 3 delovnih urah.



