Ubuntu'yu VPN sunucusu olarak ayarlamanın en kolay yolu


68

İnternette VPN istemcisi ve sunucusunu kurma konusunda birçok ders olduğunu biliyorum.

Basit / kısa olanı buluyorum , sadece sunucu bölümüyle ilgileniyorum.

İstemci için OS X kullanacağım, bu yüzden kullanan bir çözümü tercih ediyorum L2TP over IPsecya da PPTPCisco IPsec'in bir maliyeti olacağını sanıyorum.

Ayarlamak için çok fazla saat harcamak istemiyorum. Bilirsin, belki birisi zaten bir komut dosyası yazdı :)

Not: Üzerinde Ubuntu 12.04 çalıştıran bir EC2 mikro örneği kullanıyorum.


3
Not: CISCO IPSec, StrongSwan ve birçok yapılandırma ile sağlanabilir, ancak çok karmaşıktır. PPTP artık güvenli değil. IPSec üzerindeki bir L2TP ve hem L2TP hem de IPSec yapılandırması gerekir. Cevabım PPTP'yi
Thomas Ward

Yanıtlar:


24

GÜNCELLEME : Sierra'dan itibaren, macOS artık PPTP vpn'yi desteklemiyor. Bu cevap Sierra ve ötesindeki macOS istemcileri için geçerli değildir.

PoPToP üzerinden PPTP kolaydır

  1. apt-get install pptpd
  2. /etc/pptpd.confremoteip seçeneğini, ağınızdaki DHCP sunucunuz tarafından sunulmayan bir aralıkta düzenleyin ve ayarlayın.
  3. /etc/ppp/chap-secretskullanıcı adınızı ve şifrenizi düzenleyin ve ekleyin

Örneğin

vpnuser pptpd vpnpassword *

Pptp'yi kurmak için gereken her şey bu. Şimdi OS X istemcinizle test edin.


Ayrıca, herhangi bir yerden bu sunucuya bağlanacağımı göz önünde bulundurarak hangi localip ve remoteip değerlerinin en güvenli olduğunu merak ediyorum. Kesinlikle ile varsayılan değerler 192.168.0.ve 192.168.1.muhtemelen olabilecek en kötü biridir.
sorin

12 Mayıs 13:28:06 zork pppd [9447]: Eklenti / usr/lib/pptpd/pptpd-logwtmp.so yüklü. May 12 13:28:06 zork pppd [9447]: pppd 2.4.5 root tarafından başlatıldı, kullanıcı adı 0 May 12 13:28:06 zork pppd [9447]: ppp0 arayüzünü kullanma May 12 13:28:06 zork pppd [9447 ]: Bağlayın: ppp0 <--> / dev / pts / 3 Mayıs 12 13:28:36 zork pppd [9447]: Hangup (SIGHUP) 12 Mayıs 13:28:36 zork pppd [9447]: Modem kapatılması 12 Mayıs 13 : 28: 36 zork pppd [9447]: Bağlantı sonlandırıldı. 12 Mayıs 13:28:36 zork pppd [9447]: Çıkış. Henüz çalışmıyor! Rehberiniz eksik (henüz);)
sorin

Evet bu işe yaramıyor.
bkerensa

1
benim için işe yaramadı
Tyler Gillies

@SorinSbarnea bu ips'ler özeldir ve asla internete girmezler, bu yüzden "en güvenli" ile ne demek istediğinizi bilmiyorum. Kafe ya da bağlandığınız iş yeri ile aynı IP aralığı değilse, iyi şanslar elde edersiniz. 192.168.42'yi deneyin. * :)
Jay _silly_evarlast_

86

UYARI: PPTP GÜVENLİ BİR PROTOKOLDİR! Şifrelemeyi ihlal etmekle kalmadı, aynı zamanda onayınızı açık metin olarak gönderir ve kolayca ele geçirilir. Parolayı zorla zorlamak için gereken zaman miktarının kabaca tek bir DES anahtarını zorla zorlamak için gereken zamana eşdeğer olduğu tahmin edilmiştir. PPTP yerine OpenVPN veya başka bir VPN mimarisi kullanmayı düşünün!

Bu kılavuzu Ubuntu 12.04 sunucumda bir PPTP VPN sunucusu kurmak için kullandım .


Yine de, linkteki ana noktaları özetlemek gerekirse:

1: yükleyin pptpdve ufw. iptablesufw yerine kullanılabilir, ancak kolaylık uğruna, ufwbilmiyorsanız daha iyidir iptables.

sudo apt-get install pptpd ufw

2: Gereken portları açın. Kılavuz, pptp vpn için 22 (SSH) ve 1723'ü önerir.

sudo ufw 22'ye izin ver
sudo ufw 1723'e izin veriyor
sudo ufw etkinleştirme

3: Düzenle /etc/ppp/pptpd-options. Dosyayı favori editörünüzle açın (benimki nano, bu yüzden benim için komut sudo nano /etc/ppp/pptpd-optionsşu #şekildedir) ve tüm işletim sistemlerinde evrensel olarak çalışmasını istiyorsanız, bu satırları önlerine koyarak belirtin:

çöp-pap
çöp-adam
çöp-mschap

Şifrelemeyi devre dışı bırakmak istiyorsanız bu satırı yorumlayabilirsiniz: require-mppe-128

4: Düzenlerken /etc/ppp/pptpd-options, VPN için DNS sunucuları ekleyin. Bu örnek OpenDNS sunucularını kullanır:

ms-dns 208.67.222.222
ms-dns 208.67.220.220

5: Düzenle /etc/pptpd.conf. Dosyayı favori editörünüzle açın (benimki nano, bu yüzden benim için komut sudo nano /etc/pptpd.conf). Sistem için yerel VPN IP'lerini eklemeniz gerekir, bu nedenle şunu ekleyin:

localip 10.99.99.99
remoteip 10.99.99.100-199

Sisteminiz bir VPS ise, "localip" için genel IP kullanın. Eğer değilse ve yerel bir ağda değilseniz, bilgisayarınızın ağ IP'sini kullanın. Alt ağınızda bu IP'ler varsa, farklı IP'ler ve aralıklar kullanın! VPS’inizin genel IP’nizi bilmiyorsanız, çalıştırarak bulundig +short myip.opendns.com @resolver1.opendns.com

6: Düzenle /etc/ppp/chap-secrets. Dosyayı favori editörünüzle açın (benimki nano, bu yüzden benim için komut sudo nano /etc/ppp/chap-secrets) ve auth verilerini ekleyin.
Formatı /etc/ppp/chap-secretsşudur:

[Kullanıcı adı] [Servis] [Şifre] [İzin verilen IP Adresi]

Bir örnek şöyle olurdu: sampleuser pptpd samplepassword *

7: pptpd'yi yeniden başlatın. Bu komutu terminalde çalıştırın:sudo /etc/init.d/pptpd restart

8: Düzenle /etc/sysctl.conf. Dosyayı favori editörünüzle açın (benimki nano, bu yüzden benim için komut sudo nano /etc/sysctl.conf). Aşağıdaki satırı şu satırdan kaldırın ( #başlangıcını kaldırarak ) içinde /etc/sysctl.conf: net.ipv4.ip_forward=1
Yapılandırmayı yeniden yükleyin: sudo sysctl -p

9: Bu adım sizin hakkınızda olduğunu varsayar.
Düzenleyin /etc/default/ufwve seçeneği değiştirmek DEFAULT_FORWARD_POLICYgelen DROPetmekACCEPT

10: Bu adım sizin hakkınızda olduğunu varsayar.
Düzenleyin /etc/ufw/before.rulesve aşağıdakileri kuralların başında /etc/ufw/before.rulesveya hemen önünde ekleyin *filter(önerilir):

# NAT tablosu kuralları
* nat

: POSTROUTING KABUL [0: 0]
# Trafiğin yönlendirilmesine izin ver0
-Bir POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE

# NAT tablo kurallarını işle
COMMIT

Çekirdek sürüm 3.18 ve daha yenisi varsa (bunu çalıştırarak kontrol edebilirsiniz uname -r), ayrıca satırdan önce aşağıdaki satırları ekleyin # drop INVALID packets ...:

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

11: Kural kümelerini yenilemek ve /etc/ufw/*.rulesdosyalara eklediğimiz kuralları uygulamak için güvenlik duvarını yeniden başlatın : sudo ufw disable && sudo ufw enable

Uyarı: Sunucunuz bir web sitesine ev sahipliği yapıyorsa HTTPS gibi açık olması gereken başka bağlantı noktalarınız varsa, bu bağlantı noktalarını ayrı ayrı izin verilen listeye eklemeniz gerekir.sudo ufw allow <PORT>


4
Şimdi ne halt ediyorum ne var: D Sunucu üzerinde çalışıyorum, ona nasıl bağlanacağım hakkında hiçbir fikrim yok
Jamie Hutber

1
@Jamie Ağ Yöneticisi içindeki belgelerden bahsetmemek için VPN'e bağlanma hakkında Ask Ubuntu'ya burada bir sürü belge ve giriş var. Bu soru sadece VPN'in ve sunucu tarafının ayarlanmasını kapsar. Bağlantı parçasına değil.
Thomas Ward

: D süper hızlı tepki: DI halledebileceğimi düşünüyor, yanlış bir şeyler ayarlamış olmalıyım. Bu, ufw'nin aktif olduğunu ve çoğu portun izin verdiğini söyledi.
IPtables

@Jamie Size eve döndüğümde kullanabileceğim iptables komutlarını verebilirim iptables ufw 'ye tercih ederim.
Thomas Ward

1
iptables / netfilter ufw ile birlikte kullanılır, ufw ise son kullanıcılar için geçerli olan kural ve komutlarla daha iyi sonuç verir.
Thomas Ward

19

Ubuntu 12.04 Üzerinde PPTP VPN Örneği

İşte Ubuntu 12.04'te basit bir PPTP VPN sunucusu kurmak için hızlı bir ders.

Gerekli Paketleri Kur

                          sudo apt-get install ppp pptpd

Sunucudaki PPTP IP Aralıklarını Yapılandırma

                          sudo nano /etc/pptpd.conf

Sonuna aşağıdaki satırları ekleyin

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

Bu, PPTP sunucusunu, IP aralığı 10.89.64.100 ila 10.89.64.150 arasında PPTP istemcilerine dağıtırken IP 10.89.64.1 kullanacak şekilde ayarlar. Bunları, özel IP adresleri oldukları ve sunucunuz tarafından zaten kullanılan IP adresleriyle çakışmadıkları sürece istediğiniz şekilde değiştirin.

İstemciler Bu PPTP Sunucusuna Bağlandıklarında Kullanılacak DNS Sunucularını Yapılandırma

                          sudo nano /etc/ppp/pptpd-options

Değiştir VEYA Sonuna aşağıdaki satırları ekle

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

PPTP Kullanıcısı Oluştur

                          sudo nano /etc/ppp/chap-secrets

Dosyanız şöyle görünecek şekilde altına bir satır ekleyin:

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

NAT'ı PPTP Bağlantıları için Yapılandırma

Bu adım olmadan bağlanabileceksiniz, ancak bağlantınız bu sunucudan herhangi bir web bağlantısı kuramayacak.

                          sudo nano /etc/rc.local

Aşağıdan "exit 0" satırından önce aşağıdakini ekleyin:

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

Eth0 varsayarak, ifconfigağ adını kontrol etmek için kullanabilirsiniz .

IPv4 göndermeyi etkinleştir:

                          sudo nano /etc/sysctl.conf

Aşağıdaki satırı uncomment:

                          net.ipv4.ip_forward=1

Ardından yapılandırmayı yeniden yükleyin:

                          sudo sysctl -p

VPS'nizi yeniden başlatın ve her şey herhangi bir PPTP istemcisinden yüzerek çalışmalıdır.


İstemci tarafı yapılandırması

Mac için PPTP VPN bağlantısı eklediğinizden emin olun. Bunun yanında, kimlik doğrulama ayarlarında sadece sunucu adresini, hesap adını ve şifreyi ayarlamanız gerekir. Burada acı yok.

Linux için, NetworkManager VPN bağlantıları eklemek. PPTP VPN bağlantısı eklediğinizden emin olun. Ve kullandığım yapılandırma burada:

PPTP / VPN İstemci Bağlantısında Hata Ayıklama ve Düzeltme

görüntü tanımını buraya girin

Ve Windows için

görüntü tanımını buraya girin


Bu yöntem Ubuntu 12.04 sunucu dışı sürümünde de çalışır mı? Müşterinin bu VPN ağına bağlanmak için hangi IP numarasını kullanması gerekiyor?
Rasoul,

Evet, sunucu dışı sürüm için de geçerli, vpn @Rasoul
Qasim

Çalışmıyor, Ubuntu sunucusu 13.04. Müşteri DNS'yi aradı.
knutole

@ knutole IPTables kurallarınızın doğru bir şekilde yönlendirildiğini kontrol edin. En0 arabirimine sahip olduğunuzdan ve adının başka bir şey olmadığından emin olun. Listelenen bir genel IP adresini görmelisiniz.
Nick Woodhams

tamam, örneğin, hangi ip sunucu ip nedir? 10.89.64.1? O zaman Ubuntu ağ yöneticisinde müşteri 10.89.64.1'i Ağ Geçidi olarak mı listeleyecekti?
dranxo

9

Bu konudaki diğer cevaplar benim durumumda sadece kısmi cevaplardı. İşte benim için Ubuntu 12.04.3'te çalıştı.

sudo apt-get install pptpd

Aşağıdakileri /etc/pptpd.conf dosyasına ekleyin (IP Adresi önemli değil, bu sadece ppp0 arayüzünüz için IP Adresleridir.)

localip 10.0.0.1
remoteip 10.0.0.100-200

/ Etc / ppp / pptpd-options dizinine DNS Sunucuları ekleyin

ms-dns 8.8.8.8
ms-dns 8.8.4.4

IP Yönlendirmeyi Etkinleştir

sudo vim /etc/sysctl.conf

Bu çizgiyi uncomment

net.ipv4.ip_forward=1

Değişiklikleri Kaydet

sudo sysctl -p /etc/sysctl.conf

/ Etc / ppp / chap-secrets dosyasını düzenleyin, bu formatta bir VPN kullanıcısı ekleyin:

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

PPTP'yi yeniden başlat

service pptpd restart

Çalıştırın ifconfigve varsayılan arayüzünüzü bulun, benim durumumda br0 (fiziksel makinemdeki sanal makinelerin arayüzü paylaşmasına izin verecek şekilde değiştirdim. Sizinki muhtemelen en0 olacak )

görüntü tanımını buraya girin

İptables'ı yedekle

iptables-save > ~/iptables.save

Şimdi iptables değişikliklerinizi ifconfig tarafından gösterilen varsayılan arayüzde kullanın.

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

Sisteminiz yeniden başlatıldığında kalıcı kalması için;

sudo apt-get install iptables-persistent

İstemci bilgisayara VPN ekle (Mac)

Sistem Tercihleri> Ağ> [+]> VPN

görüntü tanımını buraya girin

görüntü tanımını buraya girin

Ardından, Kimlik doğrulama ayarları> Şifre'yi seçin, ardından şifrenizi buraya girin

görüntü tanımını buraya girin


7

İşte OpenVPN ağrısını ortadan kaldıran oldukça tatlı bir proje:

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

Sadece çalıştırın ve açık vpn'yi kurun ve yapılandırın. Sonunda, istemcinizi ayarlamak için kullanabileceğiniz bir client.ovpn dosyası açılır. Oldukça iyi iş gibi görünüyor.


Kutsal inek. Sadece işe yarıyor. Neden yaygın bir tanıma olmadığını merak ediyorum.
Marcus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.