Hi, Guest!
+

Как да пуснем собствен VPN сървър под Debian

21-06-2013 linux Roumen

putty

Освен нормалното приложение на VPN подходящо предимно за връзка на отдалечени офиси в една локална мрежа, друго популярно приложение на виртуалните частни мрежи (VPN) е възможността да заобиколим ограниченията за посещаване на забранени интернет адреси, прекарвайки връзката си през сървъра и ползвайки неговия IP адрес вместо нашия.

Така бихме могли да посещаваме без проблем например международни букмейкърските сайтове (забранени в момента в България), торент сайтове, сайтове за възрастни, специфични видео услуги ограничени за специфични държави и други "лоши адреси", които по една или друга причина са недостъпни за нас.

Преди да започнем трябва да имаме осигурен root достъп до Debian сървър (може и друга дистрибуция, инсталацията и настройките са идентични) както и да отворим port 1723 в нашата защитна стена, защото именно той ще ни е необходим за да осъществим успешна vpn връзка.

Ако ви трябва евтин и надежден сървър в САЩ или Холандия спокойно може да се свържете с мен за помощ и съдействие (не само за VPN услуги).

В примера по долу съм използвал примерни ip адресите като вместо 10.0.0.0/8 можете да ползвате друг подходящ диапазон.

Първо инсталираме pptpd пакета

apt-get install pptpd

после редактираме /etc/pptpd.conf и добавяме (или променяме) адреса на сървъра и рейджа за клиентите

localip 10.0.0.1
remoteip 10.0.0.100-200

После редактираме /etc/ppp/chap-secrets и добавяме желаните от нас потребители във формата

user1 * users1-password 10.0.0.100
user2 * users2-password 10.0.0.101
user3 * users3-password 10.0.0.102

Накрая редактираме /etc/ppp/pptpd-options и да добавим (или променим) следните редове (това са dns сървърите на google, можете да ползвате други, включително локални ако имате такива)

ms-dns 8.8.8.8
ms-dns 8.8.4.4

Следва стартиране (рестартиране) на услугата

service pptpd restart

За да разрешим IPv4 пренасочването трябва да редактираме /etc/sysctl.conf и да разкоментираме

net.ipv4.ip_forward = 1

след което да изпълним тази команда в нашата конзола

sysctl -p

и да добавим няколко iptables правила (изпълнявайки ги в конзолата)

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save
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 eth0 -j ACCEPT

И това е, сървъра ни е готов и вече може да се ползва от клиентите. ;-)

  • Az
    Без да се се обиждаш но това е едно от най-тъпите приложения на VPN, за които някога съм чел или слушал, просто добави и другите та да не си личи рекламния материал :). Иначе евала за конфа ама обясни на хората за Юзер и Парола, къде се въвеждат, портове едно друго.
  • Roumen
    Съжалявам, но нещо не мога да разбера въпроса, кое е тъпо приложение и кои са "другите", които да добавя? Никакви рекламни материали няма (дори не ползвам adsense), не съм слагал връзки към сайтове предлагащи платени услуги, напротив препоръчвам да не се ползват такива, защото взимат твърде много пари, за същия ефект, който може да постигнеш ползвайки собствен сървър. Пакета е с отворен код и е безплатен, протокола се поддържа на практика от всички съвременни операционни системи, сървъра се инсталира и конфигурира за нула време и реално няма нищо допълнително за обяснение в този конкретен случай. Темата за VPN като цяло е доста сериозна и не мога да я обхвана цялата, пък и не това ми беше целта на поста, само давам една идея повече за това как бързо и лесно може се заобиколи цензурата. Конкретно в сървъра потребителите и техните пароли се добавят в /etc/ppp/chap-secrets, а иначе се въвеждат от клиентите на техните машини в зависимост от това какъв клиент ползват и каква операционна система, а това вече е друга тема. Например във всяка версия от Windows XP нагоре има вграден клиент за работа с този протокол и не се налага инсталирането на допълнителен софтуер, просто се добавя нова VPN връзка в Network and Sharing Center -> Set up a new connection or network -> Connect to a workplace -> Create new -> Use my internet connection, където internet address ти е ip адреса на сървъра и кликваш create и си готов, после като се опиташ да се логнеш ще ти поиска потребителско име и парола (тези, които си въвел в chap-secrets) и това е. Примера е за Windows 8.1, но настройките са идентични за други версии. За различна цел на VPN настройките на сървъра ще са различни, в някои случай pptp като протокол може изобщо да не е подходящо решение.. затова не исках да задълбавам по темата, защото всичко зависи от това какво точно искаш да правиш и какви конкретни изисквания имаш за това как да го постигнеш. :)
  • М.
    Безплатно ли е?
  • Roumen
    Не, не е безплатно, но във всички случаи излиза по-евтино, от колкото покупка на vpn акаунт + така ще имаш собствен сървър, който можеш да ползваш и за други неща (хостинг, гейм сървър, сийдбокс, обучение). Голямо предимство е и че няколко човека можете да го ползвате едновременно и така да си разделите разходите до направо смешно равнище.