Hur man ställer in en SOCKS5-proxy på en virtuell privat server (VPS)
Contents
Proxies och virtuella privata nätverk (VPN)
Proxies och VPN: er skiljer sig åt, även om de kan tillhandahålla några av samma tjänster. En VPN dirigerar all nätverkstrafik på en klientdator genom en tunnel till någon annan serverdator. Ingen individuell applikationskonfiguration krävs. Däremot kräver användning av en proxy varje applikation individuellt konfigurerad för att se till att dess trafik går igenom proxy.
En VPN-avsikt är att låta en fjärrklientdator få åtkomst till nätverksresurser på någon annan plats som om den fysiskt befann sig på samma kontor. En av dessa nätverksresurser kan vara åtkomst till internet, som maskerar fjärrdatorns IP-adress. Av denna anledning har VPN nyligen sett en ökning i popularitet som både ett geo-obfuskningsverktyg för att få åtkomst till innehåll som inte finns i klientdatorns land (som US Netflix utanför USA), och som ett integritetsverktyg för att förhindra klientens IP adress från att upptäckas. En proxy är mer begränsad eftersom den inte kan ge åtkomst till fjärrresurser, men den kan maskera din IP-adress och geo-obfusceringstjänster.
Typer av ombud
De två vanligaste typerna av proxyer är HTTP (Hyper Text Transfer Protocol) och SOCKS5 (Secure Sockets 5). SOCKS4- och SOCKS4a-protokollen stöder inte UDP eller autentisering. De aktuella SOCKS5- och HTTP-proxyerna skiljer sig åt på följande sätt:
- I allmänna termer kan HTTP-proxy endast proxy HTTP (TCP) -trafik medan en SOCKS5-proxy kan hantera alla typer av trafik med antingen TCP eller UDP.
- En SOCKS5-proxy tolkar inte trafiken som skickas genom den på något sätt medan en HTTP-proxy vanligtvis gör det. Detta innebär att en SOCKS5-proxy är mer universell och kan användas med fler applikationer.
- En HTTP-proxy kan endast användas med HTTP-klienter som en webbläsare, men eftersom det är medvetet om HTTP-innehållet kan det göra smarta saker som caching eller omskrivning av rubriker utöver proxyservicetjänsten. För anonymitet och integritet är en SOCKS5-proxy ett bättre val eftersom det kan användas till mer allmän användning.
I det här inlägget ska vi titta på att ställa in den mest enkla typen av SOCKS5-proxy med SSH (Secure Shell). Vi ställer in en billig VPS på Digital Ocean, konfigurerar SSH-servern och ställer in några klientapplikationer för att använda proxy.
Ställ in proxyservern
Nästan alla typer av VPS fungerar för detta. Vissa webbhotellkonton kan också fungera eftersom allt du behöver är SSH-åtkomst utan root, men att använda ett webbhotellkonto som proxyserver kan kränka vissa värders användarvillkor. Digital Ocean är en välkänd och prisvärd molnleverantör och en av deras $ 5 / månad-servrar fungerar bra för en SSH-proxy.
Digital Ocean är en Virtual Private Cloud (VPC) leverantör vilket innebär att du inte köper en viss server. Snarare skapar du ett konto och länkar en betalningsmetod till det. När du har gjort det kan du skapa så många virtuella servrar du vill. VPC: er tenderar att erbjuda mer kontroll över systemspecifikationerna och kan kosta mycket mindre än en traditionell VPS. Det finns en bra förklaring av skillnaderna mellan en VPS och VPC här.
För att skapa en droplet, klicka på menyalternativet Droplets och gör några val för att anpassa den. Jag har valt Ubuntu 16.04 LTS (Long Term Support) som operativsystem och den minsta (billigaste) storleken. Droppar debiteras per timme. Det billigaste alternativet fungerar bra och kostar bara cirka $ 5 för hela månaden.
Du vill nu välja en plats för din droplet. Kom ihåg att när du använder din proxy kommer din trafik att ses som kommer från din droplets IP-adress. Om du ställer in en proxy specifikt för geo-obfuscationsändamål bör du välja en plats i eller i närheten av landet som du vill se ut från.
När din droplet har skapats får du ett bekräftelsemail från Digital Ocean med sin IP-adress och inloggningsinformation.
Konfigurera OpenSSH på VPS
Digital Ocean Droplets kommer med SSH installerat och redo att användas. Rotanvändarens lösenord levereras i välkomstmeddelandet så det krävs ingen ytterligare installation på servern. Men den bästa praxis är att ändra standardlösenordet och skapa en användare som är specifikt för proxyer.
Anslut till droplet med SSH på MacOS (OSX) eller Linux
Öppna en terminal och skriv följande kommando för att ansluta med IP-adressen från din välkomstmail:
ssh 66,77,88,99 -l rot
Du blir ombedd att acceptera nyckeln. Ange lösenordet från din välkomstmail och ändra sedan lösenordet.
Anslut till droppen med hjälp av PuTTY i Windows
Om du använder Windows behöver du en SSH-klient för att ansluta till din droppe. Den mest använda SSH-klienten är PuTTY.
Ange din droplets IP-adress i fältet Värdnamn och klicka på Öppna-knappen.
Se till att systemet är uppdaterat
Det är en bra idé att se till att systemprogramvaran är uppdaterad. Föråldrad programvara är en ledande orsak till systemhack. De två kommandona för att göra detta i Ubuntu är:
apt-get-uppdatering
apt-get upgrade
Det var väldigt lite att uppgradera på min Droplet vilket innebär att Digital Ocean håller sina bilder uppdaterade.
Lägg till en användare
Droplet kommer med en användare - den kraftfulla rotanvändaren. Det är en bra säkerhetspraxis att lägga till en mindre privilegierad användare till systemet och ansluta till din proxy med det kontot.
Ge ut följande kommando för att lägga till en vanlig användare med namnet myuser:
adduser myuser
Ställ in ett lösenord och åtminstone ett korrekt användarnamn. Du behöver inte fylla i någon annan information.
Vi har nu allt vi behöver för att använda proxy.
Anslut till proxy
För att kunna använda proxy för att tunnelna trafik måste den vara ansluten. Unix-liknande operativsystem har en inbyggd SSH-klient medan Windows kommer att behöva en tredjepartsapplikation som PuTTY
Använda SSH på MacOS (OSX) eller Linux
Metoden för anslutning till proxy är densamma för Linux och MacOS (OSX). Öppna en terminal och använd SSH för att ansluta så här:
ssh 66.77.88.99 -l myuser -D 12345
Byt ut 66.77.88.99 med IP-adressen från ditt Digital Ocean-välkomstbrev.
-D-omkopplaren berättar SSH-klienten att vidarebefordra trafik som skickas till port 12345 på din lokala maskin till din proxy. Du kan använda vilket portnummer du vill ha så länge det är över 1024. Från hjälpfilen växlar -D:
Anger en lokal "dynamisk" port-vidarebefordran av applikationsnivå. Detta fungerar genom att tilldela ett uttag för att lyssna på port på den lokala sidan, valfritt bundet till den angivna bind_adressen. När en anslutning görs till denna port vidarebefordras anslutningen över den säkra kanalen och applikationsprotokollet används sedan för att bestämma var den ska anslutas till från fjärrmaskinen. För närvarande stöds SOCKS4- och SOCKS5-protokollen, och ssh fungerar som en SOCKS-server.
Koppla inte bort denna SSH-session. Du kan minimera det för att få det ur din väg eftersom du inte behöver göra något längre med det, men låt det gå tills du är klar med proxy.
Använda PuTTY på Linux eller Windows
När du öppnar PuTTY kommer du att ligga på fliken Session. Ange din droplets IP-adress och lämna porten som 22.
Navigera till SSH -> Fliken Tunnlar. Ange 12345 (eller vilken port du vill) i fältet Källport. Välj den dynamiska radioknappen och klicka på Lägg till.
Om du inte vill göra det varje gång du öppnar PuTTY, navigerar du tillbaka till fliken Sessioner, markerar raden Standardinställningar i listan Sparade sessioner och klickar på Spara-knappen.
Konfigurera din webbläsare och andra applikationer för att använda proxy
Nu när du är ansluten till proxy finns det tre grundläggande sätt att använda den:
- Ställ in varje applikations nätverksinställningar för att använda proxy. Inte alla applikationer stöder proxyer, men webbläsare gör det.
- Använd ett plugin som FoxyProxy plugin för Firefox och Chrome för att göra applikationskonfigurationen åt dig.
- Konfigurera själva operativsystemet för att använda proxy för alla applikationer.
Det andra alternativet är det enklaste eftersom du snabbt kan aktivera eller inaktivera proxy, och du kan konfigurera webbläsaren att bara använda proxy för vissa webbplatser. De andra två alternativen kräver mycket vändning fram och tillbaka när du vill aktivera eller inaktivera proxy.
Använda programmets inbyggda nätverksinställningar
Alla applikationer som stöder SOCKS5-proxyer bör kunna använda SSH-tunneln. Använd bara proxy-värdens IP för 127.0.0.1 (localhost IP) och porten på 12345 (eller vilket portnummer du har valt).
I Firefox finns proxyinställningarna i Inställningar -> Avancerad -> Nätverk -> inställningar.
I Chrome måste du klicka på länken Avancerade inställningar längst ner på sidan Inställningar och sedan navigera till Nätverk -> Ändra proxyinställningar. Chrome har inga egna proxyinställningar så det öppnar bara operativsystemets proxyinställningspanel.
Om du använder Internet Explorer hittar du dina proxyinställningar på Internetalternativ -> Anslutningsfliken -> LAN-inställningsknapp. Detta öppnar Windows proxyinställningar kontrollpanelen applet. På samma sätt som Chrome finns det inga särskilda Internet Explorer-inställningar för proxyer.
Använda en plugin för Firefox eller Chrome.
Det finns ett antal proxy-plugins för Firefox och Chrome. En populär är FoxyProxy. Det sitter i webbläsarfältet och du kan aktivera eller inaktivera proxy genom att klicka på det, vilket är mycket lättare än att gräva genom ditt operativsystem eller webbläsarinställningar.
FoxyProxy kan också konfigureras för att utesluta vissa webbplatser från att använda proxy. Detta är användbart om du vill hålla proxy igång hela tiden, men inte vill resa över din banks försvar genom att plötsligt verkar vara i ett annat land.
Ladda ner FoxyProxy för din webbläsare.
När du först startar FoxyProxy innehåller huvudfönstret en proxy som redan är konfigurerad men inte aktiv. Det finns många alternativ och konfigurationsinställningar inom FoxyProxy men vi kommer bara att fokusera på de få vi behöver för att få proxy igång.
Markera befintlig proxy och klicka på knappen Redigera val.
Gå till fliken Proxydetaljer och ange 127.0.0.1 som värdens IP-adress och 12345 i fältet Port.
Klicka på SOCKS Proxy? kryssrutan och markera radioknappen SOCKS5.
Klicka sedan på fliken Allmänt och se till att Utför externa DNS-sökningar på värdnamn som laddas via denna proxy är markerade. Detta hjälper till att förhindra DNS-läckor. Det döljer dig inte helt eftersom WebRTC-sökningar fortfarande fungerar för att upptäcka din riktiga IP-adress. Du kan använda det här verktyget för att kontrollera DNS-läckor. Det finns plugins för Firefox och Google Chrome som kommer att inaktivera WebRTC-funktioner.
Stäng FoxyProxy-inställningsfönstret och aktivera sedan proxy genom att välja Använd proxy-standard för alla webbadresser. Du kan verifiera att din proxy fungerar genom att besöka en webbplats som Vad är min IP, där du nu ska se din proxy-IP-adress istället för din ISP: s.
Om du vill identifiera specifika URL: er som ska användas eller uteslutas från proxy måste du skapa en anpassad proxy. Klicka på Lägg till ny proxy-knapp så ser du en ytterligare knapp längst upp på inställningsskärmen med namnet URL-mönster. Klicka på den knappen för att ställa in anpassade filter.
Du kan ange webbplatser och mönster för att matcha eller utesluta på den här skärmen.
Använda operativsystemets nätverksinställningar
Istället för att ange proxyinställningarna i varje applikation är det möjligt att ställa in detaljerna en gång på operativsystemnivå. När det är gjort behöver du bara berätta för varje applikation att använda proxy på systemnivå.
Windows
Du kan komma åt applet för Internetalternativ i Windows på två sätt. Öppna kontrollpanelen -> Internetalternativ eller gå till Internetalternativ från inställningsmenyn i Internet Explorer.
Därifrån kan du följa instruktionerna för Internet Explorer i avsnittet ovan.
MacOS (OSX)
Klicka på Apple-ikonen längst upp till vänster på menyfältet på skärmen och välj Systeminställningar. Välj Nätverk och sedan Proxies.
Klicka på knappen Avancerad för att komma åt nätverksinställningarna och navigera till fliken Proxies.
Klicka på kryssrutan SOCKS Proxy och ange värd- och portinformationen.
Linux
Varje Linux-skrivbordsmiljö har ett annat kontrollpanelobjekt för att konfigurera nätverksinställningarna. De två vanligaste stationära datorerna är Gnome och KDE.
På Gnome-skrivbordet (används av Ubuntu), inställningarna -> Nätverkspanelen är platsen för att ställa in proxy.
Välj alternativet Manuell.
Ställ sedan in SOCKS-proxy och klicka på knappen Apply system wide.
KDE Desktop (används av Kubuntu) har nätverksinställningarna i Inställningar - Systeminställningar -> Nätverksinställningar -> Ombud.
När proxy har konfigurerats i operativsystemet måste varje applikation konfigureras för att använda den. Det alternativet finns i nätverksinställningarna för varje applikation. Som exempel är denna inställning i Firefox överst i proxyinställningarna.