- Настройка pptp linux debian
- Подключение к провайдеру через VPN
- по протоколу PPTP
- по протоколу L2TP
- с диска netinstall
- Во время процесса установки системы
- После процесса установки системы
- Организация доступа через VPN
- Ссылки
- Настройка pptp сервера на Debian
- Введение
- Установка pptp сервера
- Настраиваем dhcp сервер для раздачи маршрутов
- Заключение
- Онлайн курс по Linux
- Помогла статья? Подписывайся на telegram канал автора
- Дополнительные материалы по Debian
Настройка pptp linux debian
VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).
Подключение к провайдеру через VPN
На практике, чаще всего, встречается ситуация, когда пользователь имеет доступ в локальную сеть, но для выхода в интернет, ему необходимо воспользоваться VPN-соединением, использующим PPTP или L2TP протокол. Следовательно, для того, чтобы получить доступ в интернет, нужно установить VPN-соединение, а точнее (чаще всего) — по протоколу PPTP.
по протоколу PPTP
Для установки соединения с провайдером вам понадобится клиент pptp-linux. Смотрите подробное описание установки соединения по протоколу PPTP здесь.
по протоколу L2TP
Для установки соединения с провайдером вам понадобится программа OpenL2TP или демон xl2tpd. Смотрите подробное описание установки соединения по протоколу L2TP через программу OpenL2TP здесь, для демона xl2tpd — здесь.
с диска netinstall
В случае, если вы воспользовались установочным диском netinstall (debian-version—arch-netinst.iso), и находитесь в свежей, только что установленной системе, то вы сможете уже сейчас установить Интернет соединение по протоколу PPTP.
Собственно, весь подвох заключается в том, что при обычной (псевдо)графической установке, ставятся не все пакеты, а при экспертной установке (в расширенных параметрах установки) нам предоставляется возможность выбрать список пакетов (в т.ч. и нужный нам). В составе пакетов установочного диска netinstall находится пакет клиента pptp-linux, но отсутствует пакет с демоном xl2tpd.
Во время процесса установки системы
После процесса установки системы
После завершения обычной (псевдо)графической установки, проверьте ваш файл со списком ‘источников’, /etc/apt/sources.lists, на наличие строки, которая добавляет ‘источник’ репозитория пакетов с CD-ROM диска netinstall. В общем случае, строка, добавляющая ‘источник’, которая выглядит как deb cdrom:[Debian GNU/Linux release info]/ version main, уже присутствует в вашем файле /etc/apt/sources.lists, но закомментирована. В таком случае, просто раскомментируйте эту строку, подключив к APT, репозиторий пакетов, содержащийся на диске. Если же вы удалили строку или её часть, то воспользуйтесь утилитой apt-cdrom, введя команду
тем самым, добавив снова строку в файл /etc/apt/sources.lists, для подключения репозитория пакетов, находящегося на диске netinstall. Затем обновите список доступных пакетов в собственной базе данных системы пакетов APT командой
и можете обнаружить пакет pptp-linux в списке доступных
# aptitude search pptp-linux
Обратите внимание, что программа apt-cdrom работает только, если ваш CD-ROM правильно настроен в системном файле настроек /etc/fstab.
Разумеется, конечно, пакеты-зависимости pptp-linux также присутствуют в списке доступных пакетов, при помощи диска netinstall.
Организация доступа через VPN
Ссылки
- netinstall — Сетевая установка с минимальным компакт-диском
- Руководство APT — Добавление CD-ROM в файл sources.list
- Клиент PPTP — Официальный сайт «Клиент PPTP», клиент Linux, FreeBSD, NetBSD и OpenBSD для протокола от Microsoft — Point-to-Point Tunneling Protocol, PPTP
- Клиент PPTP — Руководство по использованию в Debian
Настройка pptp сервера на Debian
Возникла необходимость настроить vpn сервер для доступа к локальной сети организации. В качестве vpn сервера я предпочитаю использовать openvp за ее гибкость, удобство и простоту настройки. Но в данном случае мне был нужен именно pptp сервер с возможностью автоматической передачи маршрутов клиентам. С последним пришлось немного повозиться.
Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.
Введение
Сама по себе настройка pptp сервера на Debian очень проста не представляет никакой сложности. Все настраивается за 10 минут. Проблема здесь в другом. По-умолчанию, windows при подключении по pptp использует удаленный vpn сервер в качестве шлюза по умолчанию. За это отвечает галка в настройках vpn соединения «Использовать основной шлюз в удаленной сети». При такой конфигурации весь трафик компьютера пользователя идет через vpn сервер. Это очень неудобно, да и не нужно. Эту настройку обычно отключают.
Когда ее отключаешь, pptp клиент ничего не знает о маршрутах в удаленный офис. Чтобы туда попасть, маршруты нужно прописывать вручную, например так:
route add 192.168.0.0 mask 255.255.255.0 192.168.10.1
Этот маршрут нужно либо в командной строке прописывать, либо bat файл сделать и запускать. И то и другое неудобно, так как пользователю нужно выполнять дополнительные действия. В openvpn этот вопрос решается очень просто. Там можно на уровне сервера задать любые настройки пользователя, в том числе и маршруты. Они будут передаваться после подключения openvpn клиента. В pptp так сделать нельзя, он это не умеет. Вместо него передать маршруты может dhcp сервер, его для этого нужно специальным образом настроить. Этим мы и займемся.
Установка pptp сервера
Подразумеваю, что у вас установлен и настроен сервер. Если это не так, то воспользуйтесь моими материалами по установке и настройке debian сервера.
Сначала установим pptp сервер:
Рисуем следующий конфиг /etc/pptpd.conf:
option /etc/ppp/pptpd-options logwtmp bcrelay eth1:1 localip 192.168.10.1 remoteip 192.168.10.30-50
eth1:1 | Виртуальный интерфейс. Нужен для передачи dhcp параметров клиентам pptp. |
192.168.10.1 | IP адрес pptp сервера в vpn сети |
192.168.10.30-50 | Диапазон адресов, которые будут назначены pptp пользователям в vpn сети |
Редактируем файл с дополнительными параметрами /etc/ppp/options:
ms-dns 77.88.8.1 ms-dns 8.8.4.4 require-mschap-v2 asyncmap 0 auth crtscts lock hide-password modem debug name l2tpd proxyarp lcp-echo-interval 10 lcp-echo-failure 100 noipx nodefaultroute
Не буду подробно описывать параметры, в интернете есть описание. Обращаю внимание на proxyarp, без него не будет работать задуманная схема, и на nodefaultroute. Если вам иногда нужно ставить пользователям vpn сервер в качестве шлюза по-умолчанию, закомментируйте этот параметр. Отключить шлюз можно будет вручную на клиенте.
Дальше создаем учетки для подключения в файле /etc/ppp/chap-secrets:
user-01 pptpd passw51 192.168.10.41 user-02 pptpd passw88 192.168.10.42 user-03 pptpd passw59 192.168.10.43 user-04 pptpd passw27 192.168.10.44
Первый столбец — имя пользователя, второй — тип сервера, он всегда один и тот же, третий — пароль, четвертый — ip адрес в vpn сети, который будет назначен клиенту. Если его явно не указать, то ему будет назначен первый свободный из диапазона remoteip в pptpd.conf.
На этом настройка непосредственно pptp сервера закончена. Им можно пользоваться, но маршруты пользователям передаваться не будут.
Настраиваем dhcp сервер для раздачи маршрутов
У меня на сервере уже был настроен isc-dhcp-server, поэтому я использовал именно его. Но можно воспользоваться и dnsmasq. Я приведу пример с dhcpd. Если у вас его еще нет, то устанавливайте командой:
# apt-get install isc-dhcp-server
Рисуем следующий конфиг /etc/dhcp/dhcpd.conf:
deny unknown-clients; ddns-update-style none; option domain-name «office»; option domain-name-servers 77.88.8.8, 8.8.4.4; default-lease-time 604800; max-lease-time 864001; log-facility local7; local-address 192.168.0.1; subnet 192.168.0.0 netmask 255.255.255.0 < option routers 192.168.0.1; authoritative; allow unknown-clients; option netbios-name-servers 192.168.0.1; option domain-name-servers 77.88.8.8, 8.8.4.4; option domain-name "debian.office"; option broadcast-address 192.168.0.255; range 192.168.0.150 192.168.0.199; >option ms-classless-static-routes code 249 = array of unsigned integer 8; option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; subnet 192.168.10.0 netmask 255.255.255.0
Я тут не разбирался, что и зачем настроено именно так. Сервер настраивал не я, он мне достался в наследство. Мне нужно было только грамотно настроить pptpd с раздачей маршрутов. Поэтому я не расписываю все от и до, а просто делюсь рабочим конфигом, который сейчас у меня работает.
Подсеть 192.168.10.0 и 2 строчки с options перед ней это то, что я добавил для раздачи маршрутов pptp клиентам в vpn подсеть.
Теперь создадим виртуальный интерфейс, добавив в самый конец конфигурационного файла сети:
# mcedit /etc/network/interfaces
auto eth1:1 iface eth1:1 inet static address 192.168.10.1 netmask 255.255.255.0
О настройке 2-х ip адресов на одном интерфейсе можно подробно прочитать в статье — настройка сети в debian. В моем случае eth1 это интерфейс, который смотрит в локальную сеть, доступ к которой мы организуем с помощью vpn.
Перезапускаем сеть для применения настроек:
# service networking restart
По сути все готово. Запускаем pptpd и dhcpd и проверяем.
# service isc-dhcp-server restart # service pptpd restart
У меня почему-то команда pptpd restart отрабатывает с ошибкой и не перезапускает демон. Приходится запускать вручную:
Проверяем работу клиента windows. Список маршрутов до vpn подключения:
Вот пример такой же конфигурации для dnsmasq:
listen-address=192.168.10.1 dhcp-range=vpn,192.168.10.50,192.168.10.99,255.255.255.0,1h dhcp-option=tag:vpn,vendor:MSFT,2,1i dhcp-option=tag:vpn,249,192.168.0.0/24,192.168.10.1 dhcp-option=tag:vpn,121,192.168.0.0/24,192.168.10.1
Нашел, пока разбирался с вопросом. У себя не проверял, так как решил все на одном dhcp сервере делать, который уже был.
Заключение
Немного сложно реализуется функционал, который доступен в openvpn из коробки без дополнительных настроек. Я поэтому и не очень люблю с pptp возиться, после openvp он мне кажется не таким удобным. Но иногда приходится и его настраивать. К примеру, микротики, к сожалению, так и не научились работать с openvpn по udp, приходится использовать pptp. Да и встроенный в windows клиент тоже добавляет удобство.
Я немного повозился, поразбирался, прежде чем у меня получилось настроить рабочий вариант. Ключевым моментом оказался виртуальный интерфейс eth1:1, который я создал для pptp подсети. Без него у меня не работала передача маршрута.
Онлайн курс по Linux
- Умение строить отказоустойчивые кластера виртуализации для запуска современных сервисов, рассчитанных под высокую нагрузку.
- Будете разбираться в современных технологиях кластеризации, оркестрации и виртуализации.
- Научитесь выбирать технологии для построения отказоустойчивых систем под высокую нагрузку.
- Практические навыки внедрения виртуализации KVM, oVirt, Xen.
- Кластеризация сервисов на базе pacemaker,k8s, nomad и построение дисковых кластеров на базе ceph, glaster, linstore.
Помогла статья? Подписывайся на telegram канал автора
Дополнительные материалы по Debian
- Установка
- Базовая настройка
- Настройка сети
- Обновление 8 до 9
- Обновление 7 до 8
- Включение логов cron
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика.
Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования.
Подробное описание настройки сети в Debian — задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Обновление версии Debian 7 wheezy до Debian 8 Jessie. Подробная инструкция с описанием по каждому этапу обновления.
Включение записи логов cron в Debian в отдельный файл и настройка ротации этого файла. Отключение логов в syslog.
- Proxmox
- Шлюз в интернет
- Установка Asterisk
- Asterisk+Freepbx
- PostgreSQL для 1С
- Настройка pptp
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке.
Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk.
Установка Freepbx 12 и Asterisk 13 на сервер под управлением Debian/Ubuntu. Подробное описание и разбор ошибок установки.
Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива.
Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети.
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.