Настройка PPTP клиента pfSense 2.0.1
-
Добрый день, всем!
Уважаемые профи, подскажите пожалуйста, как настроить pfsense в качестве клиента pptp?
- версия pfSense 2.0.1
- связь с провайдером настроена через PPPoE на WAN интерфейсе.
- настроен и работает PPTP-сервис на pfSense.
- необходимо поверх PPPoE настроить связь с удаленным VPN-сервером (windows) по протоколу PPTP.
Это необходимо для того, чтобы локальные пользователи видели ресурсы удаленного офиса. Множественные впн-соединения из локальной сети psSense не поддерживает к одному серверу ((( а работать должны около десятка человек. адрес у впн-сервера один и дополнительных публичных адресов у меня тоже нет…
Если не затруднит, то опишите, пожалуйста новичку, точную последовательность действий (что, где и как).
Ни где не нашел такой информации (Если данный вариант настройки не возможен, то может посоветуете как сделать по-другому?
Огромное Спасибо!
-
Попытки настроить рртр клиента были. На сколько помню, безуспешные. Пробуйте openvpn
-
Увидев, что интерес к теме большой, решил выложить своё решение.
Возможно, что у меня ошибочное решение, прошу сдешних гуру не быть слишком критичными. Поправки приветствуются.
Результат такой:
**Суть идеи в том, что во время старта интерфейса (Enable Interface) заменяется стандартный сгенерированный самим pfSense-ом конфиг mpd_optX.conf на наш рабочий конфиг. Возможно, специфические настройки на сервере впн не позволяют законнектится со стандартным конфигом.
Необходимо модифицировать /etc/inc/interfaces.inc для инициации изменения конфигов**.
Разберем по шагам, что и как я делал.
1. Создал необходимые интерфейсы: Interfaces -> (assign) -> New [Кнопка плюс]
У меня это интерфейсы opt2, opt3 и opt4. Далее буду показывать на примере VPN_B1 (opt3)2. Настройки интерфейса:
3. В разделе Advanced в интерфейсе нажать Click here for additional PPTP and L2TP configuration options. Save first if you made changes. и выполнить настройки в соответствии с изображением:
4. Изменение содержимого файла: /etc/inc/interfaces.inc
Перед кодом```
/* fire up mpd */if ($interface == "opt2") {
mwexec ("/usr/local/etc/custom_mpd/change_m_mpd_config.sh -auth {$ppp['username']} {$passwd}");
}
if ($interface == "opt3") {
mwexec ("/usr/local/etc/custom_mpd/change_b1_mpd_config.sh -auth {$ppp['username']} {$passwd}");
}
if ($interface == "opt4") {
mwexec ("/usr/local/etc/custom_mpd/change_b2_mpd_config.sh -auth {$ppp['username']} {$passwd}");
}5\. Создал директорию для своих скриптов и конфигов mpd: /usr/local/etc/custom_mpd 6\. Поместил сюда рабочие конфиги mpd. Вот один для примера: b1_mpd_opt3_conf
startup:
# configure the console
set console close
# configure the web server
set web closedefault:
load pptpclientpptpclient:
create bundle static opt3
set iface name pptp3
set iface route Local IP address (yyy.yyy.yyy.0/24)
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
create link static opt3_link0 pptp
set link action bundle opt3
set link disable multilink
set link keep-alive 20 75
set link max-redial -1
set link mtu 1492
set pptp peer Remote IP address
set pptp disable windowing7\. Написал скрипты, которые будут заменять стандартные конфиги на наши: change_b1_mpd_config.sh Не забудьте, что надо поставить права на выполнение файла со скриптом (x)
#!/bin/sh
change the standard config for mpd connections
use key "-r" for restart connection
#any params exist
if [ "$#" -gt 0 ]; then#change name in mpd conf
#second and third params = user name and password for vpn
if [ "$1" = "-auth" ]; then
cat /usr/local/etc/custom_mpd/b1_mpd_opt3_conf > /var/etc/mpd_opt3.conf
echo " set auth authname $2" >> /var/etc/mpd_opt3.conf
echo " set auth password $3" >> /var/etc/mpd_opt3.conf
echo " open" >> /var/etc/mpd_opt3.conf
fi#forse restart connection
if [ "$1" = "-r" ]; then
/usr/local/sbin/mpd5 -b -k -d /var/etc -f mpd_opt3.conf -p /var/run/pptp_opt3.pid -s ppp pptpclient
fi
fi8\. Добавил правила в фаервол  с правилами я не совсем корректно всё сделал, но по крайней мере работает. Если кто подскажет как более грамотно настроить с точки зрения правил, будет замечательно! 9\. В принципе всё. У каждого будет свой конфиг mpd, но принцип и порядок действий такой же. Теперь при запуске интерфейса пфсенс будет подключаться к удалённому пптп серверу. Если в конфиге mpd изменить параметр **set link max-redial** допустим на 100, то клиент при обрыве связи будет пытатся законнектиться 100 раз. Я поставил -1, так как вдруг меняется пароль у пользователя впн и он окажется заблокированным в результате многочисленных попыток неправильной аутентификации. [pfSense 2.0.2 - PPTP over PPPoE.docx.7z.txt](/public/_imported_attachments_/1/pfSense 2.0.2 - PPTP over PPPoE.docx.7z.txt)
-
Как-то сложновато. Зачем скрипты? Последовательность действий с нуля (есть только WAN и LAN):
Идем в Interfaces -> (assign) на вкладку PPPs и нажимаем плюсик. Далее:
Link Type: PPTP
Link interface(s): WAN
Username: - имя пользователя PPTP сервера
Password: …
Local IP (wan): IP WAN интерфейса
Gateway (wan): адрес PPTP сервера, к которому нужно подключиться
Сохраняем.
Идем в Interfaces и видим там новый OPT1 интерфейс, тыкаем на него
Ставим галку на Enable Interface и даем ему вменяемое имя.
Все!У меня так работает, правда задача стояла несколько другая, но это несущественно. Для подключения к виндовому PPTP серверу этих шагов достаточно.
-
Как-то сложновато. Зачем скрипты? Последовательность действий с нуля (есть только WAN и LAN):
Возможно в версии 2,01 уже и работает всё, либо ваш PPTP сервер не использует шифрование.
В версии 2,0 я делал так
http://www.thin.kiev.ua/router-os/50-pfsense/680-pptp-clien-wan-pfsense-20.html -
К сожелению, у меня оказалось не достаточно.
Я пытался настроить в версиях 2.0.1 и 2.0.2 - без результатно. Так как по стандарту pfSense генерит один и тот же конфиг для mpd (mpd_optX.conf) .
Я нашел единственный выход после многих дней попыток.
В начале я реализовал в ручную из консоли, потом, как появилось время, захотел сделать это работоспособным из web-интерфейса.
Потом, я наткнулся на один топик, где описывалось как подключаться консольными командами mpd но тоже с кастомным конфигом - больше инфы не было.
Вот и решил, что может кому и пригодится
-
pfSense 2.0.1, шифрование присутствует судя по логам (на виндовом серваке PPTP настраивал не я). Вообще задача была с существующего интернет подключения сделать туннель до сервака с дешевым интернетом и раздать оный в LAN. Между pfSense и этим серваком какой-то льготный тариф. На pfSense принципиально не стал лезть в дебри, все строго через ГУИ. Без плясок с бубном не обошлось, но плясать не мне пришлось. В конце-концов взлетело. Затык был в аутентификации на память. Сейчас MSCHAP2, шифрование MPPE.