Hur man döljer OpenVPN-trafik med Obfsproxy på en Windows PC och Linux EC2-server

förklädnad-glasses
I den här handledningen guidar vi dig hur du ställer in Obfsproxy med en hemgjord OpenVPN-server och en Windows-PC. Detta förhindrar att censurar och brandväggar använder djup paketinspektion för att avgöra om du krypterar trafik, som du använder OpenVPN.


Denna handledning antar att du har en fungerande OpenVPN-server och Windows-klient som redan är konfigurerad på en Amazon Web Services EC2-instans. Kolla in vår tidigare OpenVPN-serverhandledning om hur du gör det.

Obfsproxy bör förhindra att ditt VPN blockeras av censurer i länder som Kina. Vi har bekräftat att det går förbi VPN-förbudet mot Netflix.

Innan vi börjar

Obfsproxy, förkortning för obfuscationsproxy, antogs av Tor-gemenskapen. I deras ord:

”Obfsproxy är ett verktyg som försöker kringgå censur genom att transformera Tor-trafiken mellan klienten och bron. På detta sätt kommer censurer, som vanligtvis övervakar trafiken mellan klienten och bron, att se oskyldig utseende transformerad trafik istället för den faktiska Tor-trafiken. ”

Obfsproxy är dock faktiskt oberoende av Tor, så det kan också användas för att dämpa OpenVPN-trafik.

För att Obfsproxy ska fungera med OpenVPN, måste vi konfigurera det på både klient- och serversidan. Vissa VPN-leverantörer, inklusive NordVPN och AirVPN, erbjuder förkonfigurerade servrar, så du behöver bara konfigurera klientsidan. Denna handledning förklarar båda.

Här är en lista över vad du behöver:

  • En funktionell OpenVPN-server på en Amazon Linux EC2-instans som liknar den i vår tidigare handledning
  • OpenVPN Connect GUI (klientsidan-app)
  • Spackel
  • Python 2.7
  • Microsoft C ++ Compiler för Python 2.7
  • OpenSSL Light för Windows
  • ProxySwitchy Sharp eller motsvarande proxy-programvara

Obfsproxy-konfiguration på klientsidan på Windows

Vi börjar med konfigurationen på klientsidan eftersom vissa människor inte behöver göra serverns inställning om deras VPN-leverantör redan erbjuder förkonfigurerade servrar.

Preliminär installation

Tack och lov har NordVPN redan gjort dig med tillstånd att binda de flesta nödvändiga beroenden i en enda .zip-fil. Ladda ner den här.

Börja med att installera Python 2.7 i standardkatalogen med standardinställningarna. Obfsproxy är ett Python-program, så du behöver det för att installera. Om du har en nyare version av Python, till exempel 3.3 eller 3.4, rekommenderar vi att du installerar 2.7 ändå. Du hittar installationsfilen i steg 3-mappen i NordVPN: s zip-fil (vi hoppar över mapparna steg 1 och 2).

obfsproxy intsall python

Nästa måste vi installera Microsoft C ++ Compiler för Python 2.7 från mappen steg 4. Det finns ingen sådan kompilator för senare versioner av Python. Du kanske kan hitta en lösning med MS Visual Studio eller Numby-paketet, men vi tyckte att det var mycket mindre ont bara att installera Python 2.7.

obfsproxy ms visuell installation

När du har installerat C ++ -kompileraren med standardinställningar och katalog, gå vidare till mappen steg 5. Installera OpenSSL Light igen med alla standardinställningar. Du kan bli ombedd om en donation efter installationen. Tryck på Finish, stäng sedan popup-fönstret om du inte vill donera.

Bokmärk den här sidan, starta om datorn och öppna den här sidan igen.

Obfsproxy och OpenVPN-konfiguration

Du har nu allt du behöver för att köra Obfsproxy, men vi måste fortfarande konfigurera det så att det kan användas med OpenVPN. Vi börjar med att ändra våra befintliga .ovpn-filer i OpenVPN-katalogen. Om du inte har konfigurerat OpenVPN ännu, se vår tidigare handledning. Om du installerade OpenVPN i standardkatalogen hittar du konfigurationsfilerna i C: / Program Files / OpenVPN / config.

Hitta Notepad eller en annan textredigerare, högerklicka på den och välj "Kör som administratör." Öppna konfigurationsfilen du använder för att ansluta till din OpenVPN-server normalt. Klicka på Arkiv > Spara som och namnge det något annat så vi har en kopia att arbeta med utan att oroa oss för att skruva upp originalet.

Vi kommer att ändra konfigurationsfilen så att den ser ut enligt följande:

proto tcp-klient
fjärrkontroll 8080
hamn 1194
dev tun1
hemlig ovpn.key
omdirigering-gateway def1
ifconfig 10.4.0.2 10.4.0.1
strumpor-proxy-retry
socks-proxy 127.0.0.1 10194

Lägg märke till att två rader i botten läggs till, plus ett portnummer i slutet av fjärrlinjen. Byt ut med IP-adressen för din Amazon EC2-instans. Om du inte har skapat en elastisk IP på Amazon kommer den här adressen att ändras varje gång du stannar och startar din instans, så kom ihåg att ändra den om det behövs. På fjärrlinjen kan portnumret vara allt utanför det reserverade portområdet. Vi använder 8080 eftersom det är ganska kompatibelt med nästan alla webbservrar, men 21194 föreslås på OpenVPN wiki. Kom bara ihåg att allt du sätter här måste matcha det vi konfigurerar på serversidan senare.

Om du ansluter till en förkonfigurerad server som ägs av din VPN-leverantör bör konfigurationsfilerna tillhandahållas för dig (steg 2-mappen för NordVPN-användare).

Spara din nya konfigurationsfil och se till att inte skriva över den gamla. Se också till att din textredigerare inte automatiskt lägger till filnamnet med .txt. Det bör vara en .ovpn-fil.

Nu när OpenVPN är konfigurerad måste vi installera och köra Obfsproxy. Det är här din nya Python-installation kommer in. I din Windows-sökfält skriver du "Kommandotolken." Högerklicka på kommandotolken-applikationen och tryck på "Kör som administratör." Skriv i följande terminal kommandon en rad i taget, träffa Enter efter varje.

cd C: \ Python27 \ Skript

pip installera - uppgradera pip

pip install obfsproxy

obfsproxy --log-min-Severity = info obfs2 - Shared-secret = strumpor 127.0.0.1:10194

Efter det andra kommandot kan du se några fel eller varningar. Ignorera dem för nu.

Här måste du ersätta med ett lösenord du väljer. Kom ihåg eller skriv ner det här lösenordet, eftersom du behöver det senare. Om du ansluter till förkonfigurerade servrar som tillhandahålls av din VPN-tjänst kommer detta kommando att tillhandahållas för dig.

obfsproxy windows cmd

Efter den sista raden bör din kommandotolk berätta att den lyssnar på obfsproxy-trafik, som på skärmdumpen. Observera i skärmdumpen jag glömde att skriva in mitt eget lösenord vid första försöket.

Du måste navigera till Skriptkatalogen (första kommandot), ange Obfsproxy-kommandot (sista kommando) och lämna kommandotolken öppen när du vill använda Obfsproxy.

Proxyinställning (valfritt)

Redigera: Detta steg är inte nödvändigt för att Obfsproxy ska fungera, men det är nödvändigt om du vill använda din Obfsproxy + VPN-anslutning för att titta på Netflix och andra strömmande videosajter från utanför USA (eller vilket land som din VPN-server är i). Annars kommer Netflix att ställas in till fel region.

Det sista vi behöver göra på klientsidan är att skapa en proxy-anslutning. Detta skiljer sig åt för varje applikation. Du kan ställa in det i Windows Internet-inställningar, men jag föredrar att göra det app-för-app-basis. På inbyggda appar som använder internet kan du vanligtvis ställa in en proxy någonstans i inställningarna. Fälten är som följer:

  • SOCKS-värd: 127.0.0.1
  • Port: 8080 (eller vad du än lägger i din OpenVPN-konfigurationsfil på fjärrlinjen)
  • SOCKS version 5 (SOCKS5)

I en webbläsare är det enklaste sättet att konfigurera detta med en proxyförlängning. Vi visar hur du använder Proxy Switchy Sharp på Chrome.

obfsproxy krom proxy switchy

Skapa en ny profil i ProxySwitchy-inställningarna. När manuell konfiguration är vald, skriv in ovanstående inställningar enligt bilden nedan. Namnge vad du vill. Vi tänker inte sätta på det förrän vi har upprättat en anslutning till servern, så håll fast.

Obfsproxy-serverkonfiguration på Linux EC2-instans

Din dator är redo att ansluta, så nu måste vi förbereda servern.

AWS Security Group

Innan du installerar och kör obfsproxy på servern, kan du behöva lägga till en ny regel i serverns säkerhetsgrupp för att se till att EC2-instansens brandvägg inte blockerar trafik. För att göra detta, logga in på ditt AWS-konto och klicka sedan på EC2. Gå till Säkerhetsgrupper under Nätverk och säkerhet.

obfsproxy aws regler

Här kan du välja att skapa en ny säkerhetsgrupp och lägga till den på din server eller ändra en befintlig grupp. Högerklicka på en regel och välj "Redigera inkommande regler". Under Type väljer du all TCP-trafik (Obs! Ignorera den anpassade anpassade regeln på skärmdumpen, eftersom vi sedan har uppdaterat denna handledning), ställ sedan in källan till "Min IP" eller IP: n för alla enheter som du planerar att ansluta med. Högerklicka sedan och gå till "redigera utgående regler." Under typ väljer du bara rullgardinsalternativet för "all trafik."

Om du skapade en ny säkerhetsgrupp klickar du på Instanser i den vänstra sidofältet, högerklickar på din VPN-instans, bläddrar ner till Nätverk och klickar på Ändra säkerhetsgrupper. Kontrollera din nya säkerhetsgrupp och tryck på Spara.

Obfsproxy-serverinställning

Använd PuTTy för att ansluta till din server via SSH. Om du inte kommer ihåg hur du gör det eller om du inte sparat en profil, vänligen hänvisa till vår tidigare handledning. Kom ihåg att i Amazon Linux AMI-serverdistributionen är användarnamnet “ec2-user”. Kör OpenVPN med det här kommandot:

sudo service openvpn start

Se till att din OpenVPN-konfigurationsfil på servern (etc / openvpn / openvpn.conf) har port 1194 öppen, enligt vår tidigare handledning..

Python bör redan installeras om du använder Linux 14.04-serverdistributionen. I PuTTy-terminalen anger du följande kommandon en rad i taget och trycker på enter efter varje:

sudo yum installera gcc

sudo pip install obfsproxy

obfsproxy --log-min-Severity = info obfs2 - test = 127.0.0.1: 1194 - Shared-secret = server 0.0.0.0:8080

För det första kommandot kan äldre versioner av Linux använda "apt-get" i stället för "yum".

Kom ihåg att i det sista kommandot ersätta samma lösenord som du använde på klientsidan.

obfsproxy linux kommando 2

Du bör se ett liknande meddelande på den här terminalen som på din kommandotolk, vilket indikerar att servern lyssnar på port 8080 för obfsproxy-trafik.

Ansluter via Obfsproxy

Du är inställd på att ansluta. Kör OpenVPN GUI med Obfsproxy på både din lokala maskin (kommandotolk) och din server (PuTTy). Högerklicka på den och anslut med din nya konfiguration. OpenVPN-ikonen ska bli grön och ett meddelande med din tilldelade IP ska visas.

obfsproxy openvpn connect

Om du vill titta på Netflix eller något annat geo-blockerat innehåll, aktivera proxyinställningarna i dina applikationer. För Proxy Switchy på Chrome klickar du på ikonen i det övre högra hörnet och väljer profilen du skapade i valfritt avsnitt ovan. Du kan också lägga till proxy i Windows Internet-inställningar.

obfsproxy krom proxy

Grattis! Din OpenVPN-trafik kan nu inte skiljas från vanlig HTTP-trafik tack vare Obfsproxy.

Automatisera processen

Som du kanske har dragit slutsatsen kan det bli lite tråkigt att köra obfsproxy på klientsidan varje gång du vill använda det. För att automatisera processen har en användare skapat ett Windows-installationsprogram som kör Obfsproxy som en tjänst som startar vid start. Du kan ladda ner den och hitta instruktioner här.

“Disguise -lasses.jpg” av r. nial bradshaw licenserat under CC BY 2.0

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

Add a Comment

Your email address will not be published. Required fields are marked *

+ 61 = 62