Radoslav Panev

SysAdmin and DevOps

VPN използващ PPTP

02 Nov 2013 » Linux

vpn
– Тествана на CentOS 6.4
Първа стъпка е да инсталираме сървиса. Ако пробвате с командата yum install pptpd ще останете леко разочаровани от факта, че я няма :

[root@eragon ~]# yum install pptpd
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.neterra.net
 * epel: mirrors.neterra.net
 * extras: mirrors.neterra.net
 * updates: mirrors.neterra.net
Setting up Install Process
No package pptpd available.
Error: Nothing to do

За това просто напишете в конзолата :

rpm -i http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm

След което пишем :

yum -y install pptpd

Забележка :-y слагаме с идеята да не ти пита дали искаме да инсталираме. Така автоматично инсталира желаният пакет без въпроси 🙂

След като се инсталира отворете с текстов редактор файла pptpd.conf, който се намира в /etc/pptpd.conf.

[root@eragon ~]# vim /etc/pptpd.conf

Добавете най-долу следните редове :

# (Recommended)
#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
localip 10.0.0.1
remoteip 10.0.0.100-200

Забележка : 10.0.0.1 и 10.0.0.100-200 са дадени за пример, може да ги смените както ви харесва на вас

След като сме описали мрежата трябва да направим потребител и парола за връзка с VPN сървъра ни. Отворете следният файл /etc/ppp/chap-secrets и добавете желаните потребители:

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
   panev        pptpd   12345                    *

client – потребителско име;
server – pptpd оказваме името на сървиса;
secret – парола;
IP addresses – ако поставим * (звездичка) ще има достът от всяко IP, ако зададем IP достъп до VPN сървъра ни ще има само от описаното IP.

Трябва да добавим DNS Server в следният файл /etc/ppp/pptpd-options.

ms-dns 8.8.8.8
ms-dns 8.8.4.4

Забележка : За примера съм сложил DNS на Google

Рестартирайте ppptd сървиса :

[root@eragon ~]# service pptpd restart

Ще получите следният резултат в конзолата:

Shutting down pptpd:                                       [  OK  ]
Starting pptpd:                                            [  OK  ]

За да се уверите, че вашия VPN сървър е пуснат и работи напишете следната команда:

[root@eragon ~]# netstat -alpn | grep :1723
tcp        0      0 0.0.0.0:1723                0.0.0.0:*                   LISTEN      10723/pptpd

Важно е да се направи forwarding на PPTP сървъра. Отворете /etc/sysctl.conf и добавете:

[root@eragon ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1

Обновете настройките на sysctl.conf

[root@eragon ~]# sysctl -p

Добавим и няколко реда в iptables :

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