Настройка VPN Сервера-шлюза на OpenSuse 11.2.

Аватар пользователя lecksys

Категория: 

Писал статью про установку различных ТВ-тюнеров, но тут свалилась срочная работа, в одной небольшой компании нужно было провести ИТ-аудит, и настроить доступ удаленных площадок в внутреннюю сеть компании.Так вместо, "про тюнеры" получилась статья "про VPN".
На шлюз, с двумя сетевыми карточками, был установлен OpenSuse 11.2, без X-Windows. С провайдером было настроено соединение PPPoE, через один из интерфейсов, с помощью YAST. Интернет на шлюзе появился. Теперь нужно, раздать интернет в внутреннюю сеть и настроить подключение по VPN внешних площадок по M$ Windows, часть из которых используют Yota.

Первое что я установил это был mc (Ностальгия по Norton Commander )


sudo zypper install mc

В качестве сервера VPN, я решил использовать pptpd, хотя можно было использовать и openvpn.
Устанавливаем pptpd


sudo zypper install pptpd

Настраиваем файл конфигурации /etc/pptpd.conf
Я оставил его почти, без изменений за исключением двух строк


localip 192.168.110.1

Это IP который использует сам сервер VPN при соединении с клиентом.


remoteip 192.168.110.100-110

Это диапазон IP выдается клиентам при подключении.
Можно выдавать адреса и из внутренней локальной сети (и использовать параметр proxyarp), но я это не делал специально, так как доступ нужен был к конкретному серверу, а не к всей внутренней локальной сети.
в файле /etc/pptpd.conf есть еще один параметр.


option /etc/ppp/options.ppp0


Этот параметр указывает на файл, конфигурации PPP. Причем по умолчанию, при установке пакета, он не создается и запуск демона приведет к ошибке.
В этом файле вообще немного параметров и к ним есть комментарии. Cоздаем файл /etc/ppp/options.ppp0, я не стал, заморачиваться и просто скопировал, уже существующий /etc/ppp/options.pptp (так как у меня стоял уже PPTP Client) под именем /etc/ppp/options.ppp0 и отредактировал его.


# Lock the port
lock
auth
# Включаем автoризацию
name pptpd
# Имя сервера VPN
refuse-pap
refuse-mschap
refuse-eap
#Отключаем все протоколы кроме chap
nobsdcomp
nodeflate
mtu 1400
mru 1400
#Выставляем MTU
lcp-echo-failure 5
lcp-echo-interval 30

Открываем файл /etc/ppp/chap-secrets и прописываем логины и пароли например


vasya pptpd pA$$word "*"
# login password IP

Вместо "*", можно прописать для каждого клиента IP из пула адресов прописанного в /etc/pptpd.conf. Но будьте осторожны, если вы допустим прописали адрес 192.168.110.100 для vasya, а этот адрес был выдан уже для другого коннекта, то при подключении vasya, предыдущей пользователь будет отключен.
Все настроено, запускаем демон


/etc/init.d/pptpd start


Настраиваем VPN соеденение в M$ Windows
На вкладке "Безопасность" выбираем "Дополнительно" и указываем следующие параметры:
Шифрование - "необязательное"
Отключаем все протоколы и включаем CHAP соединяемся и проверяем коннект, с клиента должен пинговаться 192.168.110.1..
Здесь я сделаю маленькое примечание на счет Yota.
Рекомендованный MTU для Mobile WiMAX=1386, техническая поддержка Yota сказала, что надо установить MTU=1372. В общем если, оставить MTU по умолчанию для PPTP в M$ Windows, то соеденение нестабильное, например попытка подключения по RDP, приводила к разрыву VPN. Я не стал высчитывать точное значение MTU (был уже вечер субботы) , а установил для протокола MTU=1400, а для соединения VPN MTU=1350. Все заработало. Если не знаете как поменять MTU идем по ссылке читаем и меняем.
Если у вас WIN7 (с правами админа)


netsh interface ipv4 set subinterface "Название подключения" mtu=xxxx store=persistent

Ну вот, теперь переходим к настройке Firewall,напоминаю, что нужно обеспечить раздачу интернета на офис и обеспечить доступ подключенных по VPN клиентов к одному из серверов в локальной сети офиса.
Настройки хранятся в файле /etc/sysconfig/SuSEfirewall2, приведу и опишу те значения которые нужны для обеспечения работы VPN и разадчи интернета.
-----------------------
FW_DEV_EXT="any dsl0 eth0"
FW_DEV_INT="eth1"

#Назначем интерфесы
FW_ROUTE="yes"
FW_MASQUERADE="yes"

#Включаем роутинг и маскарадинг
FW_MASQ_NETS="0/0"
#Даем неограниченный доступ в интернет из внутренней сети
FW_SERVICES_EXT_TCP="1723"
#Открываем порт для VPN
FW_SERVICES_EXT_IP="47"
#Открываем протокол GRE=47
FW_FORWARD="192.168.110.0/24,192.168.10.3 192.168.10.3,192.168.110.0/24"
#Открываем доступ на сервер 192.168.10.3 из нашей сети VPN 192.168.110.0/24
----------------------------------------

Ну вот и все, VPN работает, интернет раздается, в дальнейшем на сервер был установлен Squid2 в режиме "прозрачного" прокси и lightsquid, но это тема уже для другой статьи.

Всем удачи!

PS: Статья перенесена со старого форума, под авторством DrStrip 23/06/2010

Теги: 

_z10_
Аватар пользователя _z10_
Не в сети
Последнее посещение: 1 год 11 месяцев назад
Регистрация: 17/05/2012 - 09:36
Дополнение

Я бы в /etc/ppp/options.pptp добавил следующие строки
#шифрование
require-mschap-v2
require-mppe-128

и в конце
logfile /var/log/pptpd.log

Шифрование поможет избежать ошибок юзверей (при отключенном шифровании по дефолту все что выше висты отваливается и надо изменять настройки соединения), а логи это всегда хорошо Wink

Demius
Аватар пользователя Demius
Не в сети
Последнее посещение: 3 года 8 месяцев назад
Регистрация: 17/02/2013 - 08:53
Тока вот одна ошибка возникла

Тока вот одна ошибка возникла при настройке файрвола нужно ещё указать в FW_DEV_INT="eth1 ppp"