ot Ipolit(4-11-2005)

reiting (23)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Tozi dokument opisva kak da instalirame PPTP VPN survur i klient, kato izpolzvame  Slackware Linux [www.slackware.com] i PoPToP
[www.poptop.org]. PPTP -  Microsoft protokol – mozhe da ne e nai-dobriia protokol za  VPN, no e otnositelno lesen za instalatsiia. Drug plyus e, che e poddurzhan ot pochti vsiaka versiia na  Windows po podrazbirane, koeto e pravi udobno svurzvaneto na vashite klienti.

Sudurzhanie:

1. Predvaritelni iziskvaniia
2. Instalirane i konfigurirane na survurnata chast
2.1 Instalirane na MPPC/MPPE poddruzhka v iadroto
2.2 Instalirane na  poptop
2.3 Konfigurirane na poptop
2.3.1 Nastroivane na IP-adresiraneto
2.3.2 Konfigurirane na demona pptp
2.3.3 Dobaviane na potrebiteli
3 Instalirane i konfigurirane na klientskata chast
3.1 Instalirane na  Linux pptp klienta
3.2 Konfigurirane na  Linux pptp klienta

1 Iziskvaniia

Instalatsiiata na  PPTP survur i klient iziskva nalichieto na slednite paketi na vashata sistema:

- Koda na iadroto
- ppp (ot  "n" seriiata paketi)

Priemame che kodut na iadroto e instaliran v  /usr/src i instaliraniiat paket  ppp e tozi koito idva sus Slackware i ima  MPPE poddruzhka.

Osven tezi iziskvaniia, sushto predpolagame che imate bazovi poznaniia za TCP/IP i ste zapoznati s kompiliraneto na  Linux iadro.

2 Instalirane i konfigurirane na survurnata chast

2.1 Instalirane na MPPC/MPPE poddruzhka v iadroto

Purvata stupka e da se uverim che v iadroto imame osigurena poddruzhka na  MPPC/MPPE.
Proektut PoPToP predlaga niakolko nachina za instalirane na  MPPC/MPPE poddruzhka,
no te sa za po-stari iadra. Zatova shte napravim neshtata na ruka, kato izpolzvame MPPC/MPPE krupkata ot http://www.polbox.com/h/hs001/

Izteglete podhodiashtata  MPPE/MPPC krupka za versiiata na vasheto iadro
http://www.polbox.com/h/hs001/#AEN56 i ia kopiraite v  /usr/src.

- Zabelezhka 1 : Krupkata predpolaga, che putiat do koda na vasheto iadro e
/usr/src/linux-$VERSIQ, no tui kato  /usr/src/linux obiknoveno e vruzka kum tazi direktoriia, tova ne bi triabvalo da predstavliava problem.

- Zabelezhka 2 : Ako niama krupka za versiiata na vasheto iadro, mozhe da opitate da izteglite krupka s versiiata, nai-blizka do vashata i da napravite vruzka kato tazi:

ln -s /usr/src/linux-$MYVERSION /usr/src/linux-$MPPE-MPPC-PATCH-VERSION

Instaliraite krupkata na vasheto iadro:

cd /usr/src
zcat linux-$VERSION-mppe-mppc-1.3.patch.gz | patch -p0

konfiguriraite iadroto:

cd /usr/src/linux
make menuconfig
v konfiguratsionnoto menyu na iadroto idete v  Device drivers --> networking support
uverete se, che optsiite za  ppp izglezhdat po tozi nachin:

[...]
<M> PPP (point-to-point protocol) support
[ ] PPP multilink support (EXPERIMENTAL)
[*] PPP filtering
<M> PPP support for async serial ports
<M> PPP support for sync tty ports
<M> PPP Deflate compression
<M> PPP BSD-Compress compression
<M> Microsoft PPP compression/encryption (MPPC/MPPE)
[...]

Posle idete v  Cryptographic options konfiguratsionnoto menyu na iadroto i aktiviraite
SHA1 i RC4 algoritmite. Izlezte ot konfiguratsionnoto menyu i zapazete vashata konfiguratsiia.

Kompiliraite novoto iadro i moduli. Restartiraite sistemata i se uverete, che novoto iadro  raboti.

Dobavete slednite redove v  /etc/modules.conf:

alias char-major-108 ppp_generic
alias tty-ldisc-3 ppp_async
alias tty-ldics-14 ppp_synctty
alias ppp-compress-18 ppp_mppe_mppc
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
alias tty-ldisc-14 ppp_synctty

Tova e, koeto vklyuchva chastta s iadroto ot instalatsiiata.

2.2 Instalirane na  poptop

Izteglete poslednata stabilna versiia na  pptpd  ot http://sourceforge.net/project/showfile...
kompiliraite i instaliraite pptpd:

tar zxvf pptpd-$VERSION.tar.gz
cd pptpd-$VERSION
./configure
make
su
make install (ili izpolzvaite checkinstall (ot "extra" paketite) za da generirate paket za Slackware)

2.3 Konfigurirane na poptop

2.3.1 Nastroivane na IP-adresiraneto

Sega, kogato imame vsichki neobhodimi paketi instalirani na korektnite mesta, mozhem da zapochnem s konfiguriraneto na poptop.

Purvo shte definirame  IP-adres za  pptp survura i  IP-adresi za prisvoiavane na nashite klienti. Mozhe da izberem da prisvoim razlichen  IP-adres na survura za vsiaka vhodiashta vruzka, ili mozhe da izpolzvame edin adres za vsichki vhodiashti vruzki. V tozi primer shte izpolzvame edinichen adres na survura.

V /etc/pptpd.conf dobaviame sledvashtite redove:

localip 10.0.0.1
remoteip 10.0.0.2-20

S tova prisvoiavame na IP-adres 10.0.0.1 na pptp survura, oburnete vnimanie, che tozi adres  ne se prisvoiava na nikoi ot fizicheskite mrezhovi interfeisi na survura, toi se izpolzva iztsialo za virtualnite interfeisi. Triabva da izpolzvate razbira se podhodiasht  IP-diapazon za vashata podmrezha.

Vtoriiat red definira diapazona ot adresi, koito shte budat prisvoiavani na klientite.

2.3.2 Konfigurirane na demona pptp

Produlzhavame s konfiguratsiiata na survura. SHTe nastroim pptpd kato redaktirame faila
/etc/ppp/options.pptpd. Triabva da sme sigurni che  pptpd chete tozi fail, kato dobavim tozi red v  /etc/pptpd.conf:

option /etc/ppp/options.pptpd

Posle dobaviame tezi redove v  /etc/ppp/options.pptpd:

name pptpd
ipparam PoPToP
lock
mtu 1490
mru 1490
ms-wins $IP ADRESA NA VASHIQT WINS SURVUR, PRISVOQVA SE NA WINDOWS KLIENTITE
ms-dns $IP NA VASHIQ  PURVI DNS SURVUR, PRISVOQVA SE NA WINDOWS KLIENTITE
ms-dns $IP NA VASHIQ  VTORI DNS SURVUR, PRISVOQVA SE NA WINDOWS       KLIENTITE
multilink
proxyarp
auth
require-mschap
require-mschap-v2
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 30
lcp-echo-interval 5
deflate 0
require-mppe-128
nopcomp
noaccomp

Ne zabraviaite da proverite  ms-wins i ms-dns optsiite i prisvoiavaite podhodiashti ip-adresi. ms-wins se iziskva samo ako  windows klientite shte dostupvat windows survuri na drugiia krai na tunela.

Oburnete vnimanie che tazi konfiguratsiia pozvoliava samo 128 bitovo kriptirane, niakoi versii na  Windows se nuzhdaiat ot dopulnitelen paket za 128-bitovo kriptirane. Tozi paket mozhe da bude izteglen ot Microsoft.com. Vuzmozhno e da ogranichite kriptiraneto do 40 bita:

require-mppe-40

Tova shte pozvoli na vsichki Windows klienti da se svurzhat, no razbira se e po-malko nadezhdno ot gledna tochka na sigurnostta.

2.3.3 Dobaviane na potrebiteli

Sega shte dobavim potrebitelskite akaunti. Ima niakolko nachina klientite da se identifitsirat pred  pptp survura, koito vklyuchvat  radius i Samba. Tuk obache shte izpolzvame failut na  ppp  chap-secrets.

Potrebitelite se dobaviat vuv faila /etc/ppp/chap-secrets v sledniia vid:


username pptp-server-name password ip-address

Validen zapis za potrebitel bi mogul da izglezhda po sleniia nachin:

joesixpack pptpd somepassword *

Tova pozvoliava na potrebitelia "joesixpack" da se identifitsira pred survura "pptpd" s parolata  "somepassword". Sled kato  joesixpack se svurzhe sus survura i se ustanovi vruzka, negovata mashina shte poluchi purviia nalichen IP adres, kakto definirahme v predishnata stupka. Vuzmozhno e sushto vseki potrebitel da poluchava svoi sobstven unikalen ip-adres.

Oburnete vnimanie, che paroli sudurzhashti spetsialni simvoli triabva da budat ogradeni v kavichki.

Veche mozhem da startirame  pptp demona:

/usr/sbin/pptpd

Mozhem da testvame vruzkata si kato izpolzvame  Windows mashina. Ako niamate Windows mashina za testa (tova e razbiraemo ;-)), vizhte sledvashtata sektsiia, kudeto e opisano kak da  instalirame  pptp linux klient.


3 Instalirane i konfigurirane na klientskata chast

Za klientskata chast imame sushtite iziskvaniia kakto i za survurnata. Nuzhna e  MPPE/MPPC krupkata da bude instalirana na iadroto, kakto i ppp paketa da bude instaliran. Za instruktsii po krupkata na iadroto poglednete sektsiia 2.1.

3.1 Instalatsiia na  Linux pptp klient

Ako vsichko e minalo dobre triabva da imate  MPPE/MPPC poddruzhka v iadroto. Mozhem da produlzhim s instalatsiiata na  pptp klienta. Purvo, izteglete koda ot  [http://pptpclient.sourceforge.net/#down...


Razarhiviraite koda

tar zxvf pptp-linux-$VERSION.tar.gz

kompiliraite i instaliraite:

cd pptp-linux-$VERSION
make
su
make install


3.2 Konfigurirane na Linux pptp klient

Suzdavame fail, narechen  /etc/ppp/options.pptp i postaviame slednite redove  v nego:

lock noauth nodeflate nobsdcomp

Dobaviame sledvashtiia red v  /etc/ppp/chap-secrets:

username pptpd password *

Postaviame viarno potrebitelsko ime i parola za  pptp survura kum koito shte se svurzvame.

Sega suzdavame fail, narechen  /etc/ppp/peers/YOURTUNNELNAME, kato zameniame YOURTUNNELNAME s kakvoto i da e ime, s koeto iskame da narechem tunela. Postaviame slednite redove v tozi fail:

pty "pptp YOURPPTPSERVER --nolaunchpppd"
name YOURUSERNAME
mtu 1490
mru 1490
remotename pptpd
require-mschap
require-mschap-v2
require-mppe-128
file /etc/ppp/options.pptp
ipparam YOURTUNNELNAME
persist

kudeto YOURPPTPSERVER e adresut na pptp survura, s koito iskame da se svurzhem, YOURUSERNAME e vasheto potrebitelsko ime YOURTUNNELNAME e sushtoto kato tova koeto postavihme vuv faila /etc/ppp/peers.

Ostava edin posleden detail, za koito triabva da se pogrizhim i tova e rutiraneto.
Za da sme sigurni che nashiiat trafik shte bude rutiran kum drugiia krai na tunela, suzdavame fail s ime ip-up v  /etc/ppp i postaviame slednite redove v nego:

#!/bin/sh
/sbin/route add -net REMOTE-NET-IP netmask REMOTE-NET-MASK dev ppp

v koito triabva da zamenim  IP-adresa i mrezhovata maska s tezi na drugiia krai na tunela. Ako niama mrezha ot drugata strana, a samo  pptp survur, mozhe da izpolzvame  -host vmesto  -net. Kato priklyuchim s tova, suhraniavame faila i go pravim izpulnim:

chmod +x /etc/ppp/ip-up

Sega veche vsichko e gotovo i mozhe da pusnem tunela:

pppd call YOURTUNNELNAME

Ako vsichko e minalo kakto triabva, bi triabvalo da se poiavi neshto takova vuv /var/log/messages:

Mar 16 19:25:53 feike pppd[7319]: local IP address 10.0.0.5
Mar 16 19:25:53 feike pppd[7319]: remote IP address 10.0.0.1

i sushto da mozhete da prashtate  ping po tunela..


<< Instalirane na draiveri za nVidia pod SuSE | Antivirusna proverka i SPF poddruzhka v Postfix >>