Minecraft via een VPN: welk adres hoort in de serverlijst?
Het VPN-eindpunt bouwt de tunnel; het spel heeft het privéadres van de host en de poort nodig. Koppel rollen aan adressen en controleer daarna de listener, de route en de hostregels.
Het VPN-eindpunt in de serverlijst van Minecraft typen voelt logisch en mislukt elke keer, omdat dat adres de tunnel beëindigt in plaats van het spel te hosten. Een speler die op dezelfde VPN is aangesloten heeft al een pad naar de host van het spel, dus de invoer moet de host en de poort noemen waarop het spel luistert. Zet die twee goed en de rest van het probleem is gewone dienstbereikbaarheid, een veel kortere checklist dan het eerst lijkt.
Twee adressen, twee taken
Het ene adres is openbare infrastructuur: het transporteindpunt dat versleutelde pakketten tussen peers draagt. Het andere is een privéadres van de machine die de toegewijde server draait. Ze zijn niet uitwisselbaar, en het ene door het andere vervangen levert een geweigerde verbinding of een time-out op die op een firewallprobleem lijkt.
| Role | Address | Where it belongs |
|---|---|---|
| Public transport endpoint | 203.0.113.40 | VPN client configuration, never the game |
| Game host on the VPN | 10.60.0.20 | Server address field, with the port |
| Player peer | 10.60.0.30 | Assigned by the tunnel, nothing to type |
Met de standaardpoort typt de speler 10.60.0.20:25565 en niets anders. De Java-serverdownloadpagina van Mojang noemt 25565 als standaard, en een serverbeheerder die de poort heeft gewijzigd moet je geloven in plaats van wantrouwen op basis van een oude handleiding.
Maak van dat adres een echte dienst
Een bereikbaar adres is nodig en niet voldoende. De toegewijde server moet draaien, compatibel zijn met de versie die de client van de speler draait, en luisteren op een adres waar de tunnel naartoe kan leveren. Een proces dat alleen aan loopback is gebonden wordt niet bereikbaar omdat iemand nog een adres aan de machine heeft toegevoegd.
Bevestig de listener voordat je een firewall aanraakt:
ss -lntp | grep 25565
nc -vz 10.60.0.20 25565
De eerste regel laat zien waaraan het proces werkelijk is gebonden, en de tweede of een peer een TCP-handshake kan voltooien. Als de binding 127.0.0.1 is, verandert geen enkele hoeveelheid VPN-configuratie de uitkomst, en dat ene detail verklaart een verrassend aantal meldingen «de VPN is stuk».
Peerbeleid, firewall en de retourweg
Twee toestemmingsvragen zitten boven op de listener. De peer-configuratie van de VPN moet verkeer tussen de twee peers toestaan, en de firewall van de spelserver moet de spelpoort van die peer accepteren. Houd beide beperkt tot de speldienst en de geautoriseerde peers in plaats van de firewall van de host uit te zetten, wat een regel van twee regels tegen een veel groter probleem inruilt. Smalle regels zijn ook de enige versie hiervan die een beveiligingsaudit overleeft zonder een paragraaf rechtvaardiging.
Bedenk dan wat een geslaagde ping bewijst. De VPN-gateway bereiken, of antwoord van de spelserver krijgen, toont alleen dat ICMP het pad heeft gekruist. Een spelverbinding vereist dat de specifieke poort in beide richtingen open is, en de retourweg is net zo belangrijk als de uitgaande.
Als de server achter de gateway staat
In het voorbeeld hierboven is de spelserver een peer, wat het adresplan eenvoudig houdt. Als de server in plaats daarvan op een LAN achter een VPN-gateway staat, heeft de speler het routeerbare privéadres van de server nodig, moet de gateway doorsturen voor dat LAN hebben geconfigureerd, en heeft de LAN-host een route terug naar de getunnelde client nodig. Mis de retourweg en de handshake sterft halverwege, wat de meest verwarrende van de drie fouten is.
Kopieer het peeradres uit het voorbeeld niet naar een andere machine om deze topologie na te bootsen. Adressen in een voorbeeld beschrijven rollen, en één adres voor twee rollen hergebruiken creëert een overlap die routing niet kan oplossen.
Detectie, accounts en wat je niet moet veranderen
Automatische LAN-detectie is een gemak dat op aankondigingen is gebouwd. Een gerouteerde VPN hoeft die broadcasts niet te dragen, dus een ontbrekende vermelding in de LAN-lijst zegt niets over of het expliciete privéadres werkt. Typ het adres en oordeel dan. Als het verbindt, is het detectiegat een gebruiksgemakprobleem en geen fout, en het kan als zodanig worden gedocumenteerd in plaats van onderzocht.
Houd ook de normale accountauthenticatie en het toelatingsbeleid van het spel intact. Een werkende privéroute geeft een pad, geen lidmaatschap, en geen enkele herschikking van adapterprioriteiten vervangt het identificeren van de bestemming die de client zou moeten gebruiken.