• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Установка PPTP VPN-сервера на CentOs 7 для ленивых.

Valkiria

Red Team
05.01.2017
865
1 703
#1
В заголовке данной статьи почётное место занимает словосочетание "... для ленивых". Спешу заверить читателя в том, что эти слова не носят оскорбительный характер.
Напротив, если Вы открыли и читаете данную статью, то лень - не Ваша подруга )

Как многие мои предыдущие статьи, желание написать данную статью родилось в моей голове спонтанно. Как говорили до нас и будут говорить после нас : "Желания должны исполняться" )
Сегодня я напишу о том, как надо поднимать сервер PPTP VPN под управлением CentOS 7.
"Этот баян" многократно описан и переписан на страницах рунета " - наверняка подумает в этом месте читатель и окажется прав )
Почему-то мне захотелось преподнести этот "баян" в своём представлении.

Как известно, семейство операционных систем Linux не отличается своей дружелюбностью к пользователю. Каждому столкнувшемуся с ними приходилось многократно править конфигурационные файлы системы в поисках работоспособности того или иного приложения. Со временем процесс бесконечной правки файлов Linux превращается в надоедливую рутину.

Для себя процесс правки конфигов Linux на удалённых серверах я облегчила установкой на локальном компьютере программы Bitvise SSH Client. Программа позволяет редактировать файлы, находящиеся на удалённой машине, в редакторе Notepad++. При этом не возникает никаких проблем с кодировками, нет необходимости многократно стучать по клавиатуре в консольном текстовом редакторе Linux, имеется возможность копи-пастить информацию кнопками мыши и сохранять её на удалённом компе.
При всех своих достоинствах, программа Bitvise SSH Client не спасет от ошибок начинающих линуксоидов: всегда что-то пойдёт "не так". Процесс поиска ошибки занимает порой довольно продолжительный период времени. К примеру, вчера на полу-часовую установку PPTP VPN под управлением CentOS 7 я потратила весь день (
Несмотря на то, что упомянутый процесс многократно описан системными администраторами в своих блогах, по-настоящему стоящих статей не так уж и много. К тому-же в процессе установки VPN-сервера возникают вопросы, ответы на которые получить не у кого. Учитывая тот факт, что данный сайт носит статус "форума", отныне и навсегда каждый желающий сможет получить ответ ЗДЕСЬ !

- Немного самонадеянно - пробежала мысль в моём правом полушарии
- Ну и пусть - оппонировало левое )
- Мне это нравится - подытожил мозг, но пора уже переходить к сути статьи ))

Прежде, чем начать установку PPTP VPN-сервера на CentOS 7, необходимо установить репозиторий и установить сетевые утилиты.
# yum install -y epel-release
# yum install -y mc
# yum install -y net-tools
Указанная выше установка файлового менеджера Midnight Commander никак не связана с процессом установки сервера PPTP VPN и не является обязательной.

Далее необходимо отключить Selinux.
Система принудительного контроля Selinux отключается правкой конфигурационного файла /etc/sysconfig/selinux
Код:
# mcedit /etc/sysconfig/selinux
меняем значение
SELINUX=disabled
Выше я упомянула, что вчерашний процесс установки сервера VPN занял у меня весь день. В течение дня я редактировала этот файл многократно: локально в Notepad++, удалённо в mcedit. К вечеру под влиянием настройки Linux во мне стали просыпаться экстрасенсорные возможности )
С самого начала статьи я обещала способ "для ленивых", поэтому сегодня - никаких "ковыряний" в конфигах не будет !
Сегодня - способ для ленивых ))
Я призываю читателя статьи отключить SeLinux, а также продолжить установку PPTP VPN сервера при помощи нескольких консольных команд. Команды можно "тупо копировать" при помощи манипулятора "мышь" из этой статьи, вставлять в консоль Bitvise SSH Client и нажимать клавишу "ENTER" на клавиатуре. К концу статьи на вашей CentOS 7 гарантированно, с наименьшими умственными, эмоциональными и физическими затратами будет стоять PPTP VPN сервер )
Отключаем SeLinux:
# sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
# sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
После перезагрузки проверьте статус SELinux командой «sestatus», Вы должны увидеть следующий вывод:

Переходим к установке PPTP VPN сервера и добавлении его в автозагрузку:
# yum install -y ppp pptp pptpd pptp-setup
# chkconfig pptpd on

Далее настройка конфигов из консоли (копируем, вставляем и жмём "Enter") :
Файл /etc/pptpd.conf
cp /etc/pptpd.conf /etc/pptpd.conf.bak
cat >/etc/pptpd.conf<<EOF
option /etc/ppp/options.pptpd
logwtmp
localip 10.0.10.1
remoteip 10.0.10.2-254
EOF
Файл /etc/ppp/options.pptpd
Редактирование данного файла преследует собою цель - указание DNS серверов.
В примере ниже гугловские
ms-dns 8.8.8.8
ms-dns 8.8.4.4
можно заменить на свои.
cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
cat >/etc/ppp/options.pptpd<<EOF
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4
EOF
Файл /etc/ppp/chap-secrets
Редактирование данного файла преследует собою цель - указание логина и пароля для подключения к PPTP VPN серверу.
В примере ниже "root" и "toor" можно заменить на свои.
cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
cat >/etc/ppp/chap-secrets<<EOF
root pptpd toor *
EOF
Файл /etc/sysctl.conf
Редактирование данного файла преследует собою цель - изменение значения "0" на "1" net.ipv4.ip_forward = 1.
cp /etc/sysctl.conf /etc/sysctl.conf.bak
cat >/etc/sysctl.conf<<EOF
net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
net.ipv4.ip_forward = 1
EOF
Перечитываем конфигурацию.
На этом установка и настройка VPN PPTP сервера закончена.

Осталось только "разобраться" с файерволлом.
Удаляем firewalld,
# systemctl stop firewalld
# systemctl disable firewalld
вместо него ставим IPTABLES:
# yum install iptables-services iptables
Включим автозапуск iptables:
# systemctl enable iptables
chmod +x /etc/rc.d/rc.local
Теперь процесс настройки IPTABLES подошёл к ответственному моменту - настройке конфигурации таблиц.
В рамках данной статьи, с целью не набивать себе "шишек" и не наживать лишних хлопот, я рекомендую отредактировать конфигурационный файл /etc/sysconfig/iptables в текстовом редакторе. Да, да, вопреки заявленному в начале статьи принципу отказа от использования текстовых редакторов, рекомендую сделать одно-единственное исключение ))
Код:
mcedit /etc/sysconfig/iptables
*nat
:pREROUTING ACCEPT [0:0]
:pOSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [853:222169]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -i eth0 -p gre -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -i ppp+ -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o ppp+ -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Истинные поклонники консоли вместо текстового редактора могут воспользоваться консольными командами:
echo "iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE" >> /etc/rc.d/rc.local
iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE
Это конец, сохраняем и перезапускаем всё: файерволл и сервер PPTP VPN.
service iptables save
service iptables restart
systemctl start pptpd
Проверяем,запущен ли pptp-сервер;
Проверяем, слушается ли наш порт:
# netstat -an | grep -i listen
Дополнительная команда для проверки статуса pptpd:

Осталось подключить свой клиент к свежеустановленному серверу и наслаждаться результатом )
У каждого он - свой ))



Welcome to my server
185.213.211.178@root:toor
 
Последнее редактирование:
06.11.2017
28
45
#2
Почему при редактировании конфигурационного файла iptables не сохраняются настройки.
После перезагрузки файл принимает своё первоначальное значение ?
 

Valkiria

Red Team
05.01.2017
865
1 703
#3
Почему при редактировании конфигурационного файла iptables не сохраняются настройки.
После перезагрузки файл принимает своё первоначальное значение ?
Вероятно потому, что ты редактируешь его с запущенным процессом IPTABLES.
Для того, чтобы после редактирования файла изменения вступили в силу, необходимо перед редактированием отключить файерволл iptables
Затем отредактировать файл /etc/sysconfig/iptables
Затем сохранить изменения
И, наконец, запустить сервис
 
Последнее редактирование:
Симпатии: Понравилось arm_n
06.11.2017
28
45
#4
Файерволом лучше управлять из консоли или редактировать файл конфигурации ?
 

Vertigo

Lex mea est Vulgate Linux
Red Team
15.02.2017
760
1 923
#5
Файерволом лучше управлять из консоли или редактировать файл конфигурации ?
Управление консольное конечно (из терминала тоже).Сам файл конфигурации с правилами редактируется в тех случаях,когда необходимо добавить ,или убрать заданную цепочку правил (по номеру строки ,к примеру).

Это общепринято в Linux,к тому же ,правила iptables применяются мгновенно,откуда и надёжность.
Исключение в плане надёжности встречал только при наличии уязвимости ядра.
 

Valkiria

Red Team
05.01.2017
865
1 703
#6
Видео к статье, может кому-то интересно будет ))
Хотелось в статью вставить, но создание его затянулось.
Лучше поздно, чем никогда ))


Настройка VPN PPTP сервера на CentOS 7
 

moipoezd

Active member
09.12.2016
25
4
#7
Зачем столько сложностей, когда openvpn в пару кликов поднимается?
 

Valkiria

Red Team
05.01.2017
865
1 703
#8
OpenVPN и VPN PPTP это примеры виртуальных сетей, которые работают на разных протоколах.
При написании статьи использовался протокол PPTP по моим субъективным причинам )
Я перед кем-то должна отчитываться о причинах выбора ?
Или ты осуждаешь мой выбор ?
Что за вопрос ?
 

SlipX

dd if=/dev/random of=/dev/port
Премиум
13.08.2017
122
146
#9
PPTP is a fast, easy-to-use protocol. It is a good choice if OpenVPN isn't supported by your device.



Ничей выбор не осуждаю :)
 

Black Diver

Active member
24.01.2017
30
43
#10
Протокол простой, удобный в настройке, но не криптостойкий. Лучше использовать L2TP или OpenVPN
 

Ivan175

Active member
11.02.2017
32
4
#12
Есть vps установлен pptp и privoxy как при помощи iptables перенаправит весь входящий трафик pptp на privoxy
 

Valkiria

Red Team
05.01.2017
865
1 703
#13
Протокол простой, удобный в настройке, но не криптостойкий.
Не криптостойкий )) Точно, не криптостойкий.

Такое чувство, что мы тут все настолько крутые хакеры, что отдел "К", интерпол и АНБ расталкивая друг друга локтями перехватывает наш трафик и наперегонки стремятся его расшифровать )) Без шифрования трафика последними алгоритмами мы в сеть не выходим ))

"Простой и удобный в настройке" - этого достаточно ))

Есть vps установлен pptp и privoxy как при помощи iptables перенаправит весь входящий трафик pptp на privoxy
Переведи ))

 

Ivan175

Active member
11.02.2017
32
4
#14
есть удаленный vps (debian) и на нем установлен pptp сервер, также установлен прокси privoxy, отдельно каждый работают нормально, необходимо подключатся к pptp (клиент есть по умолчанию на любом устройстве) а он заворачивает весь трафик на privoxy (он может резать рекламу, контроль контента или подключиться к тор или перенаправить на сокс и тд.) необходима правильная конфигурация таблиц iptable
 
Вверх Снизу