Linux

Настройка на VPN

Настройка на VPN
(0 от 0 гласували)

Ако е така, тук ще намерите информация и инструкции как да го направите. Първо трябва да имате дръп-нат и инсталиран PPTP Client. Ако нямате такъв може да намерите от:

 

http://prdownloads.sourceforge.net/pptpclient/

pptp-1.7.0.tar.gz

 

Ето и в команди за тези, които не са наясно как става това:

 

- Първо се установявате в home директори-ята на root. За да свалите файла:

 

user@host:~# wget http://prdownloads.sourceforge. net/pptpclient/pptp-1.7.0.tar.gz

 

- За да го разархивирате:

 

user@host:~# tar zxf pptp-1.7.0.tar.gz

 

- За да компилирате дадения пакет:

 

user@host:~# cd pptp-1.7.0

user@host:~/pptp-1.7.0# make

user@host:~/pptp-1.7.0# make install

 

Първата стъпка вече е направена. Сега следва по-тежката част – самото конфигуриране. След като сте компилирали PPTP Client неговите файлове се намират в /etc/ppp/. Сега отваряте пак конзолата и пишете:

 

user@host:~# cd /etc/ppp/

 

Вече сте се установили в /etc/ppp/. Следващата ни стъпка е да създадем папката peers и файловете chap-secrets, options. pptp (в /etc/ppp/) и peer (в /etc/ppp/ peers/). Трябва да отбележа, че може да бъде кръстен с каквото име искате, не е задължително да бъде peer, може да бъде дори с името на вашия доставчик – въпрос на избор. Все пак името на файла няма значение, важното е да върши работа. Нали така?

 

user@host:/etc/ppp# mkdir peers

user@host:/etc/ppp# touch chap-secrets

user@host:/etc/ppp# touch options.pptp

user@host:/etc/ppp# touch peers/peer

 

Нека започнем да редактираме създадените файлове. Почваме с

chap-secrets. Използваме mcedit за да редактираме файловете:

 

user@host:/etc/ppp# mcedit chap-secrets

 

# Secrets for authentication using CHAP

# client server secret IP addresses

username * password *

 

За да запомните и за да излезете от файла натиснете F2 и после F10 . Като за username и password използвате дадените ви user и парола на VPN-a. Например ако username ви е test, а паролава ви е linux, вашия chap-secrets файл трябва да изглежда така:

 

# Secrets for authentication using CHAP

# client server secret IP addresses

test * linux *

 

Да се захванем с options.pptp:

 

user@host:/etc/ppp# mcedit options.pptp

lock

noauth

persist

debug

nobsdcomp

asyncmap 0

nodefate

mru 1460

mtu 1460

noipdefault

name “username

 

Използвайте за username пак дадения ви user. Сега остана да конфигурираме и peer файла или файла който сте го кръстили вместо peer. Ако файла, който сте решили

да използвате не е peer, в следната команда трябва да заместите името peer с името, което сте избрали:

 

user@host:/etc/ppp# mcedit peers/peer

 

name “username”

remotename *

file /etc/ppp/options.pptp

pty “pptp ipaddress --nolaunchpppd”

 

За username пак използвате вашия юзър и за ipaddress, IP address-а на VPN сървъра. Сега остана да нагласите и рутингите. Това се прави тогава, когато gateway-а на мрежата не е VPN сървъра. Това става с командата route. Няма значение в коя директория се намирате. Напишете:

 

user@host:~# route add –host ipaddress gw gateway

 

Като за ipaddress пишете IP address-а на VPN-а, а за gateway пишете gateway-а на мрежата ви. За да се свържете към VPN-a използвайте командата pppd call peer, ако сте използвали образеца. Ако не сте – зaменете думичката peer, с тази с която сте кръстили файла, вместо peer. Може да нагласите при пускането на компютъра ви да се прави рутинга автоматично, защото той се пази така до reboot, както и да нагласите да се вържете към VPN-а при пускането на компютъра. За Slackware Линукс:

 

user@host:~# mcedit /etc/rc.d/rc.local

 

Допълвате следните редове:

 

route add –host ipaddress gw gateway

 pppd call peer

 

Тук също – Ако сте кръстили файла peer си остава така, ако ли не, заместете peer с името което сте му дали. Обаче има проблем с реконекта към VPN-а при падането на ppp0 интерфейса. Затова използвам един скрипт, който пингва през определен интервал от време дадено IP и при липса на отговор свързва отново към VPN-а. Сега ще ви покажа как може да си създадете такъв скрипт. Намирате се в root директорията:

 

user@host:~# touch ping_script

user@host:~# mcedit ping_script

 

#!/bin/sh

HOSTLIST=”ip

PROBLIST=””

 

SendInfo() {

killall pppd

killall pptp pppd

call peer

}

 

CheckHosts() {

for hst in `echo ${HOSTLIST}`

do

                ping -c 5 -i 2 $hst > /dev/null 2>&1

                if [ $? -ne 0 ] ; then

                               PROBLIST=”${PROBLIST} ${hst}”

                fi

done

}

 

main() {

                CheckHosts

                if [ “${PROBLIST}” != “” ] ; then

                               SendInfo

                fi

}

 

main

 

Тука също – Ако сте кръстили файла peer си остава така, ако ли не, заместете го. Като за ip, избирате ip до което без да сте се ко-нектнали във VPN-а, нямате достъп до него. Сега трябва да направите файла изпълним. Това става с командата chmod +x ping_ script. После трябва да се нагласи през оп-ределен интервал от време, да се проверява дали има връзка с дадения IP адрес. Това става с crontab-а:

 

user@host:~# mcedit /var/spool/cron/crontabs/root

 

И там добавяте:

 

*/5 * * * * /root/ping_script

 

Това ще пингва даденото IP през 5 минути. И сега като се вържете към VPN-a и като напишете ifconfg, ви се появява и ppp0 интерфейс.

Настройка на VPN

Коментари