Preskoči na sadržaj
Networks

Blog

GRE tuneli za IPv4: kada vam trebaju i kako ih postaviti

Posljednje ažuriranje RTM NetworksPrevedeno s engleskog. Pročitajte izvornik

Tunel vam omogućuje korištenje IPv4 adresa na poslužitelju koji ih inače ne bi mogao nositi. Blok najavljuje mreža koja ga može najaviti, a tunel njegov promet prenosi do vašeg poslužitelja i natrag. To je rješenje kada vaš pružatelj ne nudi bring your own IP (BYOIP), kada nemate AS broj ili kada vam treba manje od 256 adresa koje bi internet samostalno usmjeravao.

Što tunel zapravo radi

Paketi za vaš blok stižu do mreže koja ga najavljuje. Ondje se svaki paket omata u novi, adresiran na vaš poslužitelj, i šalje preko običnog interneta. Vaš ga poslužitelj odmata i vidi izvorni paket, kao da su adrese konfigurirane na lokalnom sučelju.

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

Odgovori idu istim putem u suprotnom smjeru: vaš ih poslužitelj omata, šalje na drugi kraj tunela, a ta ih mreža isporučuje. Upravo taj povratni put većina postava pogrešno konfigurira, a konfiguracija u nastavku pokazuje zašto.

Kada je tunel bolji od BYOIP-a

BYOIP omogućuje pružatelju oblaka ili hostinga da vaš blok najavljuje iz vlastite mreže (koji pružatelji to rade). Gdje je dostupan i imate barem /24, to je čišća mogućnost: bez dodatnog skoka, bez dodatne točke kvara i s punom propusnošću pružatelja. Tunel je bolji izbor u četiri slučaja.

  • Vaš pružatelj ne nudi BYOIP. Scaleway, primjerice, to jasno navodi u svojoj dokumentaciji, a nekoliko drugih prima ga samo na zahtjev, za neke od svojih proizvoda, poput Infomaniaka, TransIP-a i UpClouda. Drugi, među njima Contabo, Exoscale, Hostinger i Akamai Cloud, ne objavljuju nikakav postupak.
  • Treba vam manje od 256 adresa. /24 je najmanji blok koji mreže prihvaćaju u svojim tablicama usmjeravanja, a BYOIP nijednog pružatelja ne ide ispod njega. Tunel može isporučiti /29 ili jednu adresu.
  • Nemate ASN, a pružatelj ga traži. Neki pružatelji vaš prostor primaju samo preko BGP sesije s vašim vlastitim AS brojem. Tunelu ne treba ni jedno ni drugo.
  • Želite iste adrese na više mjesta ili slobodu selidbe. Najava ostaje gdje jest; tunel ide kamo god ide vaš poslužitelj.

Cijena je zaobilazni put. Promet putuje do drugog kraja tunela prije nego što stigne do vas, pa odaberite krajnju točku blizu svog poslužitelja i imajte na umu da gornju granicu postavlja kapacitet tunela, a ne port vašeg poslužitelja.

GRE ili WireGuard

Oba prenose isti promet; razlikuju se u tome što treba putu između dvaju krajeva.

GREWireGuard
ŠifriranjeNemaDa
Dodatno zaglavlje na IPv424 bajta60 bajtova
Iza NAT-a ili CGNAT-aNe radi pouzdanoRadi
PodrškaVećina usmjerivača i jezgra LinuxaJezgra Linuxa, FreeBSD, OpenBSD, MikroTik RouterOS 7, OpenWrt i EdgeOS; provjerite dokumentaciju proizvođača prije nego što na to računate na operaterskom usmjerivaču
Najbolji kadaPut je pouzdan, a propusnost je najvažnijaPromet prolazi mrežama koje ne kontrolirate ili krajnja točka nema javnu adresu

WireGuardov vlastiti popis platformi i MikroTikova dokumentacija za RouterOS navode gdje radi (provjereno 22. listopada 2026.).

Ako je vaša krajnja točka iza NAT-a, izbor je već donesen: WireGuard. Isto vrijedi za Azure, koji blokira GRE u svojim virtualnim mrežama.

MTU i MSS: klasičan kvar

Enkapsulacija dodaje zaglavlja, pa je najveći paket koji stane u tunel manji od 1.500 bajtova obične Ethernet veze: 1.476 bajtova za GRE preko IPv4, a WireGuard obično radi s 1.420. Pogriješite li, vidjet ćete klasičan simptom: mali zahtjevi rade, a velika preuzimanja i TLS rukovanja zastaju, jer se paketi koji ne stanu odbacuju, a poruke koje bi to trebale javiti često se usput filtriraju.

To sprječavaju dvije postavke. Postavite MTU sučelja tunela na pravu vrijednost i ograničite najveću veličinu TCP segmenta (MSS) na prometu koji usmjeravate kroz tunel, kako bi se oba kraja složila slati pakete koji stanu. Obje vrijednosti šaljemo uz svaki tunel i mijenjamo ih na zahtjev.

Minimalna postava na Linuxu

Primjer u nastavku donosi blok na jedan Linux poslužitelj preko GRE-a. Adrese su iz dokumentacijskih raspona: 203.0.113.1 je javna adresa vašeg poslužitelja, 198.51.100.1 drugi kraj tunela, a 192.0.2.0/24 blok.

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
  1. korak je onaj koji ljudi propuste. Bez njega odgovori s 192.0.2.10 izlaze kroz vlastiti uplink vašeg pružatelja, s izvorišnom adresom koju vam taj pružatelj nikada nije dao, a njegovi filtri protiv lažiranja adresa (anti-spoofing) ih odbacuju. Ako vaša distribucija uključuje strogo filtriranje povratnog puta, i za tunel ga postavite na labavo (sysctl -w net.ipv4.conf.gre1.rp_filter=2).

Ako poslužitelj blok dalje usmjerava do virtualnih strojeva ili kontejnera, ograničite MSS na prometu koji prosljeđuje:

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

BGP preko tunela

Ako imate vlastiti AS broj i želite sami kontrolirati najavu, umjesto statične rute preko tunela možete pokrenuti BGP sesiju, s BIRD-om, FRR-om ili vlastitim daemonom svog usmjerivača. Većini klijenata to ne treba i biraju statičnu postavu. Ako najavljujete s vlastitog ASN-a, ROA mora navesti taj ASN (RPKI i ROA).

Gdje se uklapa RTM Networks

Najavljujemo blok i isporučujemo ga do vašeg poslužitelja preko GRE-a ili WireGuarda, gdje god se poslužitelj nalazio. To radi ondje gdje BYOIP ne radi, uključujući manje od 256 adresa i pružatelje koji vaš prostor uopće ne prihvaćaju. Javite nam gdje je poslužitelj i što na njemu radi, a mi ćemo preporučiti GRE ili WireGuard i poslati konfiguraciju s pravim vrijednostima za MTU i MSS (GRE i WireGuard tuneli).

Kontakt

Trebate savjet za svoju situaciju?

Ovaj je članak općenit; vaša mreža nije. Recite nam s čime radite i pogledat ćemo to kako treba. Obično odgovaramo u roku od 1 do 3 radna sata.

Javite nam se