Vraag De eenvoudigste manier om Ubuntu op te zetten als een VPN-server


Ik weet dat er veel tutorials op het net zijn voor het opzetten van een VPN-client en -server.

Ik vind er een simple / short, Ik ben alleen geïnteresseerd in het servergedeelte.

Voor de client gebruik ik OS X, dus ik geef de voorkeur aan een oplossing die gebruikt L2TP over IPsec of PPTP omdat ik denk dat Cisco IPsec iets zou kosten.

Ik wil niet te veel uren besteden aan het opzetten ervan. Weet je, misschien heeft iemand al een setup-script gemaakt :)

Opmerking: ik gebruik een EC2-micro-instantie waarop Ubuntu 12.04 wordt uitgevoerd.


68
2018-04-06 20:47


oorsprong


Opmerking: CISCO IPSec kan worden bereikt via StrongSwan en veel configuratie, maar het is lastig. PPTP is niet meer beveiligd. EN L2TP via IPSec vereist zowel L2TP- als IPSec-configuratie. Kies op je gemak, hoewel mijn antwoord PPTP uitlegt - Thomas Ward♦


antwoorden:


BIJWERKEN: Vanaf Sierra ondersteunt macOS niet langer PPTP vpn. Dit antwoord is niet geldig voor macOS-clients Sierra en verder.

PPTP via PoPToP is eenvoudig

  1. apt-get install pptpd
  2. Bewerk /etc/pptpd.conf en stel de remoteip-optie in op een bereik op uw netwerk dat NIET wordt aangeboden door uw DHCP-server.
  3. Bewerk /etc/ppp/chap-secrets en voeg een gebruikersnaam en wachtwoord toe

bijv.

vpnuser pptpd vpnpassword *

Dit is alles wat nodig is om pptp in te stellen. Test het nu met uw OS X-client.


23
2018-04-06 21:24



Ik vraag me ook af welke waarden localip en remoteip het veiligst zijn, aangezien ik vanaf elke locatie verbinding met deze server ga maken. Zeker de standaardwaarden met 192.168.0. en 192.168.1. zijn waarschijnlijk een van de slechtst mogelijke. - sorin
12 mei 13:28:06 zork pppd [9447]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so geladen. 12 mei 13:28:06 zork pppd [9447]: pppd 2.4.5 gestart door root, uid 0 12 mei 13:28:06 zork pppd [9447]: interface gebruiken ppp0 12 mei 13:28:06 zork pppd [9447 ]: Connect: ppp0 <-> / dev / pts / 3 12 mei 13:28:36 zork pppd [9447]: Hangup (SIGHUP) 12 mei 13:28:36 zork pppd [9447]: Modem ophangen 12 mei 13 : 28: 36 zork pppd [9447]: Verbinding verbroken. 12 mei 13:28:36 zork pppd [9447]: Exit.It werkt nog niet! Uw gids is (nog) niet compleet;) - sorin
Ja, dit werkt niet. - bkerensa
werkte niet voor mij - Tyler Gillies
@SorinSbarnea die ips zijn privé en gaan nooit over het internet, dus ik weet niet wat je bedoelt met "veiligste". Je hebt geluk als ze niet hetzelfde IP-bereik hebben als het café of de werkplek waar je verbinding mee hebt. Probeer 192.168.42. * :) - Jay _silly_evarlast_ Wren


WAARSCHUWING: PPTP IS EEN ONTSECTIEPROTOCOL! Niet alleen is de codering doorbroken, maar het stuurt uw authenticatie ook in duidelijke tekst en is gemakkelijk te onderscheppen. Naar schatting is de hoeveelheid tijd die nodig is om het wachtwoord brute kracht aan te geven ongeveer gelijk aan de tijd die nodig is om een ​​enkele DES-sleutel bruut te forceren. Overweeg OpenVPN of een andere VPN-architectuur te gebruiken in plaats van PPTP!

ik gebruikte deze gids om een ​​PPTP VPN-server op te zetten op mijn Ubuntu 12.04-server.


Om de belangrijkste punten in de link samen te vatten, hoewel:

1: installeren pptpd en ufw. iptables kan worden gebruikt in plaats van ufw, maar omwille van het gemak, ufw is beter als je het niet weet iptables.

sudo apt-get install pptpd ufw

2: Open de benodigde poorten. De gids suggereert 22 (SSH) en 1723 voor de pptp vpn.

sudo ufw staat 22 toe
sudo ufw staat 1723 toe
sudo ufw inschakelen

3: Bewerken /etc/ppp/pptpd-options. Open het bestand met je favoriete editor (mijn nano, dus het commando is voor mij sudo nano /etc/ppp/pptpd-options) en geef commentaar op deze regels door een # voor hen, als u wilt dat dit universeel werkt op alle besturingssystemen:

vuilverbrandingsinstallatie pap
vuilverbrandingsinstallatie chap
vuilverbrandingsinstallatie MSCHAP

U kunt deze regel becommentariëren als u de codering wilt uitschakelen: require-mppe-128

4: Tijdens het bewerken /etc/ppp/pptpd-options, voeg DNS-servers toe voor de VPN. Dit voorbeeld maakt gebruik van OpenDNS-servers:

ms-dns 208.67.222.222
ms-dns 208.67.220.220

5: Bewerken /etc/pptpd.conf. Open het bestand met je favoriete editor (mijn nano, dus het commando is voor mij sudo nano /etc/pptpd.conf). U moet de lokale VPN IP's voor het systeem toevoegen, dus voeg toe:

localip 10.99.99.99
remoteip 10.99.99.100-199

Als uw systeem een ​​VPS is, gebruikt u het openbare IP-adres voor "localip". Als dit niet het geval is en zich op een lokaal netwerk bevindt, gebruikt u de netwerk-IP van uw computer. Gebruik verschillende IP's en bereiken als deze IP's op uw subnet aanwezig zijn! Als u uw publieke IP van uw VPS niet kent, kunt u deze vinden door te draaien dig +short myip.opendns.com @resolver1.opendns.com

6: Bewerken /etc/ppp/chap-secrets. Open het bestand met je favoriete editor (mijn nano, dus het commando is voor mij sudo nano /etc/ppp/chap-secrets) en voeg de auth-gegevens toe.
Het formaat voor /etc/ppp/chap-secrets is:

[Gebruikersnaam] [Service] [Wachtwoord] [Toegestaan ​​IP-adres]

Een voorbeeld zou zijn: sampleuser pptpd samplepassword *

7: Start pptpd opnieuw. Voer deze opdracht uit in terminal: sudo /etc/init.d/pptpd restart

8: Bewerken /etc/sysctl.conf. Open het bestand met je favoriete editor (mijn nano, dus het commando is voor mij sudo nano /etc/sysctl.conf). Maak een commentaar op de volgende regel (door het verwijderen van de # aan het begin) in /etc/sysctl.conf: net.ipv4.ip_forward=1
Laad de configuratie opnieuw: sudo sysctl -p

9: Bij deze stap wordt ervan uitgegaan dat u ufw heeft.
Bewerk /etc/default/ufw en verander de optie DEFAULT_FORWARD_POLICY van DROP naar ACCEPT

10: Bij deze stap wordt ervan uitgegaan dat u ufw heeft.
Bewerk /etc/ufw/before.rulesen voeg het volgende toe aan het begin van /etc/ufw/before.rules of net voor de *filter regels (aanbevolen):

# NAT-tabelregels
* nat

: POSTROUTING ACCEPT [0: 0]
# Sta verkeer naar eth0 toe
-EEN POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE

# Verwerk de NAT-tabelregels
COMMIT

Als je kernelversie 3.18 en nieuwer hebt (je kunt dit controleren door te draaien uname -r), voeg ook de volgende regels toe vóór de # drop INVALID packets ... lijn:

-A ufw-before-input -p 47 -j ACCEPT

11: Start de firewall opnieuw, vernieuw de regelsets en pas de regels toe die we hebben toegevoegd aan de /etc/ufw/*.rules bestanden: sudo ufw disable && sudo ufw enable

Waarschuwing: Als u andere poorten hebt die u moet openen, bijvoorbeeld voor HTTPS als uw server een website host, moet u die poorten afzonderlijk toevoegen aan de toegestane lijst met sudo ufw allow <PORT>


86
2018-06-07 19:47



Wat doe ik nu ?: D Ik heb dat op de server, geen idee hoe ik er verbinding mee moet maken lol - Jamie Hutber
@Jamie Er zijn een hoop andere documenten en vermeldingen hier op Ask Ubuntu over het verbinden met een VPN en documentatie binnen Network Manager. Deze vraag heeft alleen betrekking op het instellen van de VPN en de serverkant. NIET de verbinding met het deel. - Thomas Ward♦
: D supersnelle reactie: D Ik denk dat ik het misschien heb opgelost, ik moet zojuist iets verkeerd hebben ingesteld. Dit zei dat ufw actief is en de meeste poorten toestaat. Ik zal met iptables spelen om te zien of dit me er toch toe brengt - Jamie Hutber
@Jamie Ik kan je iptables commando's geven om te gebruiken als ik thuiskom, geef je de voorkeur aan iptables aan ufw. - Thomas Ward♦
iptables / netfilter wordt gebruikt met ufw, ufw is gewoon leuker met regels en commando's afhandeling voor de eindgebruikers. - Thomas Ward♦


PPTP VPN op Ubuntu 12.04 Voorbeeld

Hier is een korte handleiding voor het opzetten van een eenvoudige PPTP VPN-server op Ubuntu 12.04.

Installeer de benodigde pakketten

                          sudo apt-get install ppp pptpd

Configureer PPTP IP Ranges op de server

                          sudo nano /etc/pptpd.conf

Voeg de volgende regels toe

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

Hiermee wordt de PPTP-server ingesteld om IP 10.89.64.1 te gebruiken bij het distribueren van het IP-bereik 10.89.64.100 naar 10.89.64.150 naar PPTP-clients. Wijzig deze zoals u wilt, zolang het privé-IP-adressen zijn en niet conflicteren met IP-adressen die al door uw server worden gebruikt.

DNS-servers configureren voor gebruik wanneer clients verbinding maken met deze PPTP-server

                          sudo nano /etc/ppp/pptpd-options

Wijzigen OF Voeg de volgende regels toe

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

Maak een PPTP-gebruiker

                          sudo nano /etc/ppp/chap-secrets

Voeg onderaan een regel toe zodat uw bestand er ongeveer zo uitziet:

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

NAT configureren voor PPTP-verbindingen

Zonder deze stap kunt u verbinding maken, maar uw verbinding kan geen webverbindingen vanaf deze server laden.

                          sudo nano /etc/rc.local

Voeg het volgende rechtsonder voor de regel "exit 0" toe:

                          iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ervan uitgaande dat eth0, kunt u gebruiken ifconfig om de netwerknaam te controleren.

Schakel IPv4 voorwaarts in:

                          sudo nano /etc/sysctl.conf

Maak de volgende regel uncomment:

                          net.ipv4.ip_forward=1

Laad vervolgens de configuratie opnieuw:

                          sudo sysctl -p

Start uw VPS opnieuw op en alles zou moeten werken vanaf elke PPTP-client.


Client side configuratie

Zorg ervoor dat u voor Mac een PPTP VPN-verbinding hebt toegevoegd. Daarnaast moet u alleen het serveradres, de accountnaam en het wachtwoord instellen in de authenticatie-instellingen. Geen pijn hier.

Voor Linux, NetworkManager om VPN-verbindingen toe te voegen. Zorg ervoor dat u de PPTP VPN-verbinding hebt toegevoegd. En de configuratie die ik gebruik, is hier:

Hoe debug en Fix PPTP / VPN Client-verbinding

enter image description here

En voor Windows

enter image description here


19
2018-06-10 14:09



Werkt deze methode ook op Ubuntu 12.04 niet-server editie? Welk IP-nummer moet de client gebruiken om verbinding te maken met dit VPN-netwerk? - Rasoul
Ja, het is ook voor niet-servereditie. Je moet server ip op client gebruiken om verbinding te maken met vpn @ Rasoul - Qasim
Werkt niet, Ubuntu-server 13.04. Client blijft zoeken naar DNS. - knutole
@ knutole Controleer of uw IPTables-regels correct worden gerouteerd. Zorg ervoor dat je de en0-interface hebt en dat het niet iets anders genoemd is. U zou een openbaar IP-adres moeten zien opgesomd. - Nick Woodhams
ok, dus, in jouw voorbeeld welke ip is server ip? 10.89.64.1? Vervolgens zou de client in de Ubuntu-netwerkbeheerder 10.89.64.1 als gateway vermelden? - dranxo


De andere antwoorden op deze thread waren slechts gedeeltelijke antwoorden in mijn geval. Dit is wat voor mij op Ubuntu 12.04.3 heeft gewerkt

sudo apt-get install pptpd

Voeg het volgende toe aan /etc/pptpd.conf (IP-adres doet er niet toe, dit zijn alleen IP-adressen voor uw ppp0-interface.)

localip 10.0.0.1
remoteip 10.0.0.100-200

Voeg DNS-servers toe aan / etc / ppp / pptpd-opties

ms-dns 8.8.8.8
ms-dns 8.8.4.4

Schakel IP-doorsturen in

sudo vim /etc/sysctl.conf

Maak een commentaar op deze regel

net.ipv4.ip_forward=1

Wijzigingen opslaan

sudo sysctl -p /etc/sysctl.conf

Bewerk / etc / ppp / chap-secrets, voeg een VPN-gebruiker toe in dit formaat:

# Secrets for authentication using CHAP
# client    server  secret          IP addresses
username pptpd supersecretpassword *

Start PPTP opnieuw

service pptpd restart

Rennen ifconfigen vind je standaard interface, in mijn geval was dat br0 (Ik heb het gewijzigd om virtuele machines op mijn fysieke computer toe te staan ​​de interface te delen. Die van jou zal waarschijnlijk zijn en0)

enter image description here

Maak een back-up van iptables

iptables-save > ~/iptables.save

Maak nu je iptables-wijzigingen gebruik je standaard interface zoals onthuld door ifconfig.

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface br0 -j ACCEPT

Om het persistent te houden wanneer uw systeem opnieuw opstart;

sudo apt-get install iptables-persistent

VPN toevoegen op clientcomputer (Mac)

Systeemvoorkeuren> Netwerk> [+]> VPN

enter image description here

enter image description here

Kies vervolgens Verificatie-instellingen> Wachtwoord en vul hier uw wachtwoord in

enter image description here


9
2017-11-20 06:58





Hier is een vrij zoet project dat de OpenVPN-pijn wegschrijft:

https://github.com/Nyr/openvpn-install

Voer het gewoon uit en het zal open vpn installeren en het configureren. Aan het einde verschijnt een client.ovpn-bestand dat u kunt gebruiken om uw client in te stellen. Lijkt goed te werken.


6
2018-01-18 20:53



Heilige koe. Het werkt gewoon. Ik vraag me af waarom het niet wijdverspreide erkenning heeft. - Marcus