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

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

В заголовке данной статьи почётное место занимает словосочетание “… для ленивых”. Спешу заверить читателя в том, что эти слова не носят оскорбительный характер.
Напротив, если Вы открыли и читаете данную статью, то лень – не Ваша подруга )

Как многие мои предыдущие статьи, желание написать данную статью родилось в моей голове спонтанно. Как говорили до нас и будут говорить после нас : “Желания должны исполняться” )
Сегодня я напишу о том, как надо поднимать сервер 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», Вы должны увидеть следующий вывод:

SELinux status: disabled

Переходим к установке 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
можно заменить на свои.

Файл /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.

Перечитываем конфигурацию.

sysctl -p

На этом установка и настройка 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

Истинные поклонники консоли вместо текстового редактора могут воспользоваться консольными командами:

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-сервер;

# ps ax | grep pptpd

Проверяем, слушается ли наш порт:

# netstat -an | grep -i listen

Дополнительная команда для проверки статуса pptpd:

# systemctl status pptpd