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

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

@webware

t.me/webware

В заголовке данной статьи почётное место занимает словосочетание "... для ленивых". Спешу заверить читателя в том, что эти слова не носят оскорбительный характер.

Напротив, если Вы открыли и читаете данную статью, то лень - не Ваша подруга

Как многие мои предыдущие статьи, желание написать данную статью родилось в моей голове спонтанно. Как говорили до нас и будут говорить после нас : "Желания должны исполняться" )

Сегодня я напишу о том, как надо поднимать сервер 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
можно заменить на свои.

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

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

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

# ps ax | grep pptpd

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

# netstat -an | grep -i listen

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

# systemctl status pptpd

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

Welcome to my server
185.213.211.178@root:toor

Источник codeby.net