Ja, du kan använda en självvärd TURN-server för att kringgå brandväggsproblem. En TURN-server är utformad för att vidarebefordra mediatrafik genom en tjänst när en direkt anslutning mellan två slutpunkter inte är möjlig på grund av restriktiva brandväggsregler. Här är några viktiga punkter om TURN-servrar:
1. TURN Server Setup: Du kan distribuera din egen TURN-server på en server som Ubuntu. Detta gör att du kan ha bättre kontroll över servern och dess konfiguration, vilket kan vara fördelaktigt för tillförlitlighet och säkerhet[1].
2. Fördelar: Att använda en TURN-server kan förbättra säkerheten genom att minska risken för IP-läckor och förbättra nätverkskompatibiliteten. Det kan också hjälpa i fall där cirka 10 % av fjärrgästerna inte skulle kunna ansluta utan en TURN-server. Dessutom kan den ge bättre videokvalitet genom att tvinga fram TCP-dataöverföring, vilket kan vara fördelaktigt i vissa nätverksmiljöer[1].
3. Implementeringsalternativ: Du kan använda molntjänster som Google Cloud, som erbjuder en gratis liten server för livet. Detta kan vara ett kostnadseffektivt alternativ, särskilt om du håller servern privat. Google Cloud tillhandahåller också en gratis kreditnivå på $300, även om den inte stöder IPv6 och har en nätverksstamkostnad på cirka $0,20 per spelning[1].
4. Alternativa lösningar: Om du inte vill sätta upp din egen TURN-server kan du använda en VPN som Speedify, som kan kringgå brandväggar och andra problem som kan kräva en TURN-server. Detta kan också hjälpa till att säkra din integritet och din IP-adress på ett säkrare sätt[1].
5. Säkerhetsöverväganden: När du konfigurerar en TURN-server är säkerheten avgörande. Du bör se till att servern är ordentligt säkrad, till exempel genom att använda en omvänd proxy som Nginx och ett säkerhetsverktyg som Crowdsec[5].
6. TURN over TCP/TLS: Om nätverket är extremt restriktivt kan du använda TURN over TCP/TLS. Detta innebär att TCP-data lindas in i en säker TCP-socket, initierar anslutningen med ett HTTPS-handskakning, så att brandväggen inte kan skilja denna trafik från någon annan webbtrafik[2].
7. ICE och TURN: Interactive Connectivity Establishment (ICE) är ett protokoll som används för att hantera STUN, TURN och TURNS. Det hjälper till att samla in kandidater och prioritera dem för att skapa en framgångsrik medieanslutning med den externa peeren. Detta är särskilt viktigt i fall där det finns nätverksbegränsningar och brandväggar[4].
Sammanfattningsvis kan en självvärd TURN-server vara en pålitlig och säker lösning för att kringgå brandväggsproblem, speciellt om du har kontroll över servern och dess konfiguration. Det är dock viktigt att säkerställa att lämpliga säkerhetsåtgärder finns på plats för att skydda servern och dess data.
Citat:[1] https://docs.vdo.ninja/common-errors-and-known-issues/hosted-your-own-turn-server
[2] https://developer.liveswitch.io/liveswitch-server/guides/what-are-stun-turn-and-ice.html
[3] https://stackoverflow.com/questions/35506493/bypass-firewall-for-webrtc
[4] https://webrtc.ventures/2022/04/ice-in-webrtc/
[5] https://github.com/coturn/coturn/discussions/1100