vpn server на ubuntu 12.04

vpn server на ubuntu 12.04

Непрочитанное сообщение sergkax » 22 окт 2012, 23:53

Имеем сервер, выполняющий роль роутера, на базе ОС "Ubuntu Server 12.04". Нам нужно подключаться к сети, используя MS VPN. Для этого в Linux существует пакет pptpd.
Первое, что нам нужно, это установить пакет pptpd. Берем права рута и ставим пакет:

Код: Выделить всё
sudo -s

Код: Выделить всё
apt-get install pptpd


Сервис автоматически запустился демоном.
Теперь нам нужно его настроить.
Откроем первый его конфиг, предварительно сделав бекап файла:

Код: Выделить всё
cp /etc/pptpd.conf /etc/pptpd.conf_bak
nano /etc/pptpd.conf


и в нем настраиваем:

# IP-адрес сервера в VPN-сети:
Код: Выделить всё
localip 192.168.1.1


# Диапазон адресов для выдачи VPN-клиентам:
Код: Выделить всё
remoteip 192.168.1.2-255


# Включим передачу VPN-клиентам широковещателных пакетов с внутреннего интерфейса роутера:
Код: Выделить всё
bcrelay eth0


# Смотрим, чтобы было закомментировано, иначе клиенту не будет передаваться его IP-адрес:
Код: Выделить всё
#noipparam


Теперь второй файл. Открываем и правим:
Код: Выделить всё
nano /etc/ppp/pptpd-options


# Требовать от клиента обязательное авутентификации:
Код: Выделить всё
auth


# Укажем файл, в который писать лог:
Код: Выделить всё
logfile /var/log/pptpd.log


# Адрес DNS-сервера, указываемого клиентам:
Код: Выделить всё
ms-dns 192.168.3.151



# Чтобы не сбивался маршрут по умолчанию:
Код: Выделить всё
nodefaultroute


# Опция proxyarp имеет смысл только если вы VPN-клиентам выделяете адреса из вашей реальной Ethernet-сети. У нас все VPN-клиенты находятся в другой VPN-подсети, поэтому эту опцию закомментируем:
Код: Выделить всё
#proxyarp


Вот так выглядят мои конфиги, до редактирования, описанного выше, являвшиеся дефолтными:

cat /etc/pptpd.conf | grep -v "^#" | grep -v "^$"
Код: Выделить всё
option /etc/ppp/pptpd-options
logwtmp
bcrelay eth0
localip 192.168.1.1
remoteip 192.168.1.2-255


cat /etc/ppp/pptpd-options | grep -v "^#" | grep -v "^$"
Код: Выделить всё
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.1.1
nodefaultroute
lock
nobsdcomp
auth
logfile /var/log/pptpd.log


Теперь нам нужно создать юзеров, которыми будут подключатся клиенты. Они прописываются в файле /etc/ppp/chap-secrets.

Код: Выделить всё
nano /etc/ppp/chap-secrets

Здесь создан пользователь test с паролем testpass, который может подключаться откуда угодно и выдаваться ему будет любой свободный IP. А вот пользователю testa всегда будет выдаваться IP 192.168.91.101.
Код: Выделить всё
# client        server  secret                  IP addresses
test * testpass *
testa * testapass 192.168.91.101




Перезапускаем сервис:

Код: Выделить всё
service pptpd restart

Restarting PPTP:
Stopping PPTP: pptpd.
Starting PPTP Daemon: pptpd.

Теперь необходимо настроить фаерфолл на роутере (VPN-сервере). Необходимо разрешить входящие соединения по 47 протоколу, а так же входящие соединения на tcp порт 1723. Вот выдержка из моего скрипта правил iptables:

# VPN - PPTPD
$IPTABLES -A INPUT -p gre -s 0/0 -j ACCEPT
$IPTABLES -A OUTPUT -p gre -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 0/0 --dport 1723 j ACCEPT
В начале было слово, и слово было 2 байта, а больше ничего не было.
Если что то делаешь то не останавливайся и не слушай ни кого...
большинство людей просто завидует и не хотят чтоб у тебя получилось ибо у них не получается...
Следуй своим идеям...
Если не получается то не бросай а лучше подумай почему...
Аватара пользователя
sergkax
 
Сообщения: 313
Зарегистрирован: 10 май 2012, 05:17

Вернуться в linux

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


cron