вторник, 25 декабря 2012 г.

pfSense PPTP-клиент


pfSense - программный межсетевой экран/маршрутизатор, основанный на FreeBSD, неплохо работает "из коробки". Но с некоторым функционалом все же приходится повозиться и так сказать "доработать напильником".

Одним из таких мест стал pptp-клиент, который основывается на MPD (Multi-link PPP daemon). Клиент совершенно не хотел подключаться к корпоративному Microsoft Windows PPTP-серверу. Из логов было понятно, что клиент и сервер никак не могут договориться об используемом протоколе аутентификации.


Лог (Status->System logs->PPP):
Dec 26 07:08:18 ppp: [opt1] Bundle: Interface ng0 created
Dec 26 07:08:18 ppp: [opt1_link0] Link: OPEN event
Dec 26 07:08:18 ppp: [opt1_link0] LCP: Open event
Dec 26 07:08:18 ppp: [opt1_link0] LCP: state change Initial --> Starting
Dec 26 07:08:18 ppp: [opt1_link0] LCP: LayerStart
Dec 26 07:08:18 ppp: [opt1_link0] PPTP call successful
Dec 26 07:08:18 ppp: [opt1_link0] Link: UP event
Dec 26 07:08:18 ppp: [opt1_link0] LCP: Up event
Dec 26 07:08:18 ppp: [opt1_link0] LCP: state change Starting --> Req-Sent
Dec 26 07:08:18 ppp: [opt1_link0] LCP: SendConfigReq #1
Dec 26 07:08:18 ppp: [opt1_link0] ACFCOMP
Dec 26 07:08:18 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:08:18 ppp: [opt1_link0] ACCMAP 0x000a0000
Dec 26 07:08:18 ppp: [opt1_link0] MRU 1500
Dec 26 07:08:18 ppp: [opt1_link0] MAGICNUM 4464d523
Dec 26 07:08:18 ppp: [opt1_link0] LCP: rec'd Configure Request #0 (Req-Sent)
Dec 26 07:08:18 ppp: [opt1_link0] MRU 1400
Dec 26 07:08:18 ppp: [opt1_link0] AUTHPROTO EAP
Dec 26 07:08:18 ppp: [opt1_link0] MAGICNUM 4a1f1ec7
Dec 26 07:08:18 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:08:18 ppp: [opt1_link0] ACFCOMP
Dec 26 07:08:18 ppp: [opt1_link0] CALLBACK 6
Dec 26 07:08:18 ppp: [opt1_link0] MP MRRU 1614
Dec 26 07:08:18 ppp: [opt1_link0] ENDPOINTDISC [LOCAL] 93 fb 0e 90 76 97 45 b1 83 7b 9b ff 52 b8 dc 10 00 00 0
Dec 26 07:08:18 ppp: [opt1_link0] BACP
Dec 26 07:08:18 ppp: [opt1_link0] Not supported
Dec 26 07:08:18 ppp: [opt1_link0] LCP: SendConfigRej #0
Dec 26 07:08:18 ppp: [opt1_link0] CALLBACK 6
Dec 26 07:08:18 ppp: [opt1_link0] MP MRRU 1614
Dec 26 07:08:18 ppp: [opt1_link0] BACP
Dec 26 07:08:18 ppp: [opt1_link0] LCP: rec'd Configure Ack #1 (Req-Sent)
Dec 26 07:08:18 ppp: [opt1_link0] ACFCOMP
Dec 26 07:08:18 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:08:18 ppp: [opt1_link0] ACCMAP 0x000a0000
Dec 26 07:08:18 ppp: [opt1_link0] MRU 1500
Dec 26 07:08:18 ppp: [opt1_link0] MAGICNUM 4464d523
Dec 26 07:08:18 ppp: [opt1_link0] LCP: state change Req-Sent --> Ack-Rcvd
Dec 26 07:08:18 ppp: [opt1_link0] LCP: rec'd Configure Request #1 (Ack-Rcvd)
Dec 26 07:08:18 ppp: [opt1_link0] MRU 1400
Dec 26 07:08:18 ppp: [opt1_link0] AUTHPROTO EAP
Dec 26 07:08:18 ppp: [opt1_link0] MAGICNUM 4a1f1ec7
Dec 26 07:08:18 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:08:18 ppp: [opt1_link0] ACFCOMP
Dec 26 07:08:18 ppp: [opt1_link0] ENDPOINTDISC [LOCAL] 93 fb 0e 90 76 97 45 b1 83 7b 9b ff 52 b8 dc 10 00 00 0
Dec 26 07:08:18 ppp: [opt1_link0] LCP: SendConfigAck #1
Dec 26 07:08:18 ppp: [opt1_link0] MRU 1400
Dec 26 07:08:18 ppp: [opt1_link0] AUTHPROTO EAP
Dec 26 07:08:18 ppp: [opt1_link0] MAGICNUM 4a1f1ec7
Dec 26 07:08:18 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:08:18 ppp: [opt1_link0] ACFCOMP
Dec 26 07:08:18 ppp: [opt1_link0] ENDPOINTDISC [LOCAL] 93 fb 0e 90 76 97 45 b1 83 7b 9b ff 52 b8 dc 10 00 00 0
Dec 26 07:08:18 ppp: [opt1_link0] LCP: state change Ack-Rcvd --> Opened
Dec 26 07:08:18 ppp: [opt1_link0] LCP: auth: peer wants EAP, I want nothing
Dec 26 07:08:18 ppp: [opt1_link0] LCP: LayerUp
Dec 26 07:08:18 ppp: [opt1_link0] EAP: rec'd REQUEST #168 len: 5, type: Identity Dec 26 07:08:18 ppp: [opt1_link0] EAP: sending RESPONSE #168 len: 12, type: Identity
Dec 26 07:08:19 ppp: [opt1_link0] LCP: rec'd Terminate Request #3 (Opened)
Dec 26 07:08:19 ppp: [opt1_link0] LCP: state change Opened --> Stopping
Dec 26 07:08:19 ppp: [opt1_link0] LCP: SendTerminateAck #2
Dec 26 07:08:19 ppp: [opt1_link0] LCP: LayerDown
Dec 26 07:08:20 ppp: [opt1_link0] LCP: rec'd Terminate Request #4 (Stopping)
Dec 26 07:08:20 ppp: [opt1_link0] LCP: SendTerminateAck #3
Dec 26 07:08:21 ppp: [opt1_link0] LCP: state change Stopping --> Stopped
Dec 26 07:08:21 ppp: [opt1_link0] LCP: LayerFinish
Dec 26 07:08:21 ppp: [opt1_link0] PPTP call terminated
Dec 26 07:08:21 ppp: [opt1_link0] Link: DOWN event
Dec 26 07:08:21 ppp: [opt1_link0] LCP: Down event
При этом клиенты на Windows-машинах без проблем подключались. В состоянии подключения видна следующая картина:

Поиск в интернете дал несколько решений:
  1. http://www.thin.kiev.ua автор раскрывает причину происходящего, оказывается по умолчанию в pfsense отключена поддержка шифрования от Microsoft. В надежде, что все вроде логично и должно сразу заработать, в файл interfaces.inc были внесены описанные изменения. Но к сожалению, в моем случае это не помогло.
  2. http://habrahabr.ru здесь в комментариях, в дополнение первого решения, предлагается отключить лишние методы шифрования непосредственно в настройках PPTP-сервера. Идея наверняка принесла бы свои плоды, жаль только, что проверить мне её не удалось. К настройкам сервера доступ я не имел.
  3. http://am-productions.biz когда я уже отчаялся, было найдено данное решение. Здесь описывается настройка mpd в качестве PPTP-клиента во FreeBSD. Автор приводит конфигурацию, в которой указаны нужные параметры, остается только разобраться что к чему и исправить конфигурацию в pfSense.
Для того чтобы разобраться, какие именно параметры шифрования необходимо указать, пришлось проанализировать все три решения, обратившись к документации MPD.

Первое, что хочется отметить, так это разницу в командах enable/disable, accept/deny, yes/no.
Первая пара enable/disable указывает, пожелания с нашей стороны.
Пара accept/deny указывает будем ли мы принимать пожелания противоположной стороны.
Команда "yes" - это одновременно enable и accept. А "no" - соответственно disable и deny.

Далее вернемся к состоянию подключения на Windows-клиентах:
Проверка подлинности MS CHAP V2
Шифрование MPPE 128
Сжатие MPPC

Для начала разберемся со сжатием и шифрованием.

set bundle enable compression // включаем протокол управления сжатием
set ccp yes mppc // разрешаем субпротокол сжатия/шифрования MPPC (Microsoft Point-to-Point Compression)
set mppc yes e40 e56 e128 // разрешаем 40,56,128-битное шифрование. В моем случае можно оставить только последнее.
set mppc yes stateless // разрешаем stateless-режим. Не совсем понятно, что же он делает, но в документации написано, что позволяет быстро восстановить соединение при потере пакетов.

Далее необходимо выбрать метод проверки подлинности. Почти все методы, используемые Microsoft, включены по-умолчанию и отлично работают без дополнительных команд. Остается только подтолкнуть mpd к принятию правильного решения. Нужно отметить, что chap - это псевдоним, который включает в себя chap-md5 chap-msv1 chap-msv2. Указывать их отдельно не нужно.

set link no pap eap // отключаем лишние методы, как указано во втором решении, только на стороне клиента, а не сервера.

Следующим шагом надо внести изменения в файл /etc/inc/interfaces.inc. Сделать это можно несколькими способами. Редактировать прямо из web-интерфейса: Diagnostics -> Edit File. здесь нажимаем "Browse", выбираем нужный файл, ищем в нем участок кода (удобно пользоваться поиском), вносим изменения и сохраняем. Также можно отредактировать из консоли, в меню выбираем пункт "8) Shell", откроется командная строка FreeBSD. Вводим команду "ee /etc/inc/interfaces.inc" без кавычек.  Откроется редактор ee (Easy Editor) и уже в нем производится правка. Главное внимательно проверить, тот ли кусок кода править, нужный участок начинается примерно на 1440 строке. В итоге получаем:

if (!isset($ppp['verbose_log']))
$mpdconf .= <<<EOD


set bundle enable compression
set ccp yes mppc
set mppc yes e40 e56 e128
 stateless

#log -bund -ccp -chat -iface -ipcp -lcp -link

EOD;

foreach($ports as $pid => $port){
$port = get_real_interface($port);
$mpdconf .= <<<EOD

create link static {$interface}_link{$pid} {$type}
set link action bundle {$interface}
set link {$multilink} multilink
set link keep-alive 10 60
set link max-redial 0

EOD;

if (isset($ppp['shortseq']))
$mpdconf .= <<<EOD
set link no shortseq

EOD;

if (isset($ppp['acfcomp']))
$mpdconf .= <<<EOD
set link no acfcomp

EOD;

if (isset($ppp['protocomp']))
$mpdconf .= <<<EOD
set link no protocomp

EOD;

$mpdconf .= <<<EOD

set link no pap eap
# set link disable chap pap
# set link accept chap pap eap
set link disable incoming


Теперь можно создавать PPTP-сессии. Если сессия уже создана, то нужно отключить и снова включить привязанный к ней сетевой интерфейс. После внесения изменений все заработало. Из логов видно какой метод аутентификации и шифрования были выбраны.

Лог (Status->System logs->PPP):
Dec 26 07:23:00 ppp: [opt1_link0] Link: OPEN event
Dec 26 07:23:00 ppp: [opt1_link0] LCP: Open event
Dec 26 07:23:00 ppp: [opt1_link0] LCP: state change Initial --> Starting
Dec 26 07:23:00 ppp: [opt1_link0] LCP: LayerStart
Dec 26 07:23:00 ppp: [opt1_link0] PPTP call successful
Dec 26 07:23:00 ppp: [opt1_link0] Link: UP event
Dec 26 07:23:00 ppp: [opt1_link0] LCP: Up event
Dec 26 07:23:00 ppp: [opt1_link0] LCP: state change Starting --> Req-Sent
Dec 26 07:23:00 ppp: [opt1_link0] LCP: SendConfigReq #1
Dec 26 07:23:00 ppp: [opt1_link0] ACFCOMP
Dec 26 07:23:00 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ACCMAP 0x000a0000
Dec 26 07:23:00 ppp: [opt1_link0] MRU 1500
Dec 26 07:23:00 ppp: [opt1_link0] MAGICNUM c011e6d2
Dec 26 07:23:00 ppp: [opt1_link0] LCP: rec'd Configure Request #0 (Req-Sent)
Dec 26 07:23:00 ppp: [opt1_link0] MRU 1400
Dec 26 07:23:00 ppp: [opt1_link0] AUTHPROTO EAP
Dec 26 07:23:00 ppp: [opt1_link0] MAGICNUM 764674b4
Dec 26 07:23:00 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ACFCOMP
Dec 26 07:23:00 ppp: [opt1_link0] CALLBACK 6
Dec 26 07:23:00 ppp: [opt1_link0] MP MRRU 1614
Dec 26 07:23:00 ppp: [opt1_link0] ENDPOINTDISC [LOCAL] 93 fb 0e 90 76 97 45 b1 83 7b 9b ff 52 b8 dc 10 00 00 0
Dec 26 07:23:00 ppp: [opt1_link0] BACP
Dec 26 07:23:00 ppp: [opt1_link0] Not supported
Dec 26 07:23:00 ppp: [opt1_link0] LCP: SendConfigRej #0
Dec 26 07:23:00 ppp: [opt1_link0] CALLBACK 6
Dec 26 07:23:00 ppp: [opt1_link0] MP MRRU 1614
Dec 26 07:23:00 ppp: [opt1_link0] BACP
Dec 26 07:23:00 ppp: [opt1_link0] LCP: rec'd Configure Ack #1 (Req-Sent)
Dec 26 07:23:00 ppp: [opt1_link0] ACFCOMP
Dec 26 07:23:00 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ACCMAP 0x000a0000
Dec 26 07:23:00 ppp: [opt1_link0] MRU 1500
Dec 26 07:23:00 ppp: [opt1_link0] MAGICNUM c011e6d2
Dec 26 07:23:00 ppp: [opt1_link0] LCP: state change Req-Sent --> Ack-Rcvd
Dec 26 07:23:00 ppp: [opt1_link0] LCP: rec'd Configure Request #1 (Ack-Rcvd)
Dec 26 07:23:00 ppp: [opt1_link0] MRU 1400
Dec 26 07:23:00 ppp: [opt1_link0] AUTHPROTO EAP
Dec 26 07:23:00 ppp: [opt1_link0] MAGICNUM 764674b4
Dec 26 07:23:00 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ACFCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ENDPOINTDISC [LOCAL] 93 fb 0e 90 76 97 45 b1 83 7b 9b ff 52 b8 dc 10 00 00 0
Dec 26 07:23:00 ppp: [opt1_link0] LCP: SendConfigNak #1
Dec 26 07:23:00 ppp: [opt1_link0] AUTHPROTO CHAP MSOFTv2
Dec 26 07:23:00 ppp: [opt1_link0] LCP: rec'd Configure Request #2 (Ack-Rcvd)
Dec 26 07:23:00 ppp: [opt1_link0] MRU 1400
Dec 26 07:23:00 ppp: [opt1_link0] AUTHPROTO CHAP MSOFTv2
Dec 26 07:23:00 ppp: [opt1_link0] MAGICNUM 764674b4
Dec 26 07:23:00 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ACFCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ENDPOINTDISC [LOCAL] 93 fb 0e 90 76 97 45 b1 83 7b 9b ff 52 b8 dc 10 00 00 0
Dec 26 07:23:00 ppp: [opt1_link0] LCP: SendConfigAck #2
Dec 26 07:23:00 ppp: [opt1_link0] MRU 1400
Dec 26 07:23:00 ppp: [opt1_link0] AUTHPROTO CHAP MSOFTv2
Dec 26 07:23:00 ppp: [opt1_link0] MAGICNUM 764674b4
Dec 26 07:23:00 ppp: [opt1_link0] PROTOCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ACFCOMP
Dec 26 07:23:00 ppp: [opt1_link0] ENDPOINTDISC [LOCAL] 93 fb 0e 90 76 97 45 b1 83 7b 9b ff 52 b8 dc 10 00 00 0
Dec 26 07:23:00 ppp: [opt1_link0] LCP: state change Ack-Rcvd --> Opened
Dec 26 07:23:00 ppp: [opt1_link0] LCP: auth: peer wants CHAP, I want nothing
Dec 26 07:23:00 ppp: [opt1_link0] LCP: LayerUp
Dec 26 07:23:01 ppp: [opt1_link0] CHAP: rec'd CHALLENGE #0 len: 30
Dec 26 07:23:01 ppp: [opt1_link0] Name: "VPNSERVER"
Dec 26 07:23:01 ppp: [opt1_link0] CHAP: Using authname "user"
Dec 26 07:23:01 ppp: [opt1_link0] CHAP: sending RESPONSE #0 len: 61
Dec 26 07:23:01 ppp: [opt1_link0] CHAP: rec'd SUCCESS #0 len: 46
Dec 26 07:23:01 ppp: [opt1_link0] MESG: S=8883E4406E6D845777DF6D7327EADB512BEF560D
Dec 26 07:23:01 ppp: [opt1_link0] LCP: authorization successful
Dec 26 07:23:01 ppp: [opt1_link0] Link: Matched action 'bundle "opt1" ""'
Dec 26 07:23:01 ppp: [opt1_link0] Link: Join bundle "opt1"
Dec 26 07:23:01 ppp: [opt1] Bundle: Status update: up 1 link, total bandwidth 64000 bps
Dec 26 07:23:01 ppp: [opt1] IPCP: Open event
Dec 26 07:23:01 ppp: [opt1] IPCP: state change Initial --> Starting
Dec 26 07:23:01 ppp: [opt1] IPCP: LayerStart
Dec 26 07:23:01 ppp: [opt1] CCP: Open event
Dec 26 07:23:01 ppp: [opt1] CCP: state change Initial --> Starting
Dec 26 07:23:01 ppp: [opt1] CCP: LayerStart
Dec 26 07:23:01 ppp: [opt1] IPCP: Up event
Dec 26 07:23:01 ppp: [opt1] IPCP: state change Starting --> Req-Sent
Dec 26 07:23:01 ppp: [opt1] IPCP: SendConfigReq #1
Dec 26 07:23:01 ppp: [opt1] IPADDR 0.0.0.0
Dec 26 07:23:01 ppp: [opt1] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Dec 26 07:23:01 ppp: [opt1] PRIDNS 0.0.0.0
Dec 26 07:23:01 ppp: [opt1] SECDNS 0.0.0.0
Dec 26 07:23:01 ppp: [opt1] CCP: Up event
Dec 26 07:23:01 ppp: [opt1] CCP: state change Starting --> Req-Sent
Dec 26 07:23:01 ppp: [opt1] CCP: SendConfigReq #1
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x010000e0:MPPE(40, 56, 128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] CCP: rec'd Configure Request #4 (Req-Sent)
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x010000e1:MPPC, MPPE(40, 56, 128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] CCP: SendConfigNak #4
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x01000040:MPPE(128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] IPCP: rec'd Configure Request #5 (Req-Sent)
Dec 26 07:23:01 ppp: [opt1] IPADDR *.*.*.*
Dec 26 07:23:01 ppp: [opt1] *.*.*.* is OK
Dec 26 07:23:01 ppp: [opt1] IPCP: SendConfigAck #5
Dec 26 07:23:01 ppp: [opt1] IPADDR *.*.*.*
Dec 26 07:23:01 ppp: [opt1] IPCP: state change Req-Sent --> Ack-Sent
Dec 26 07:23:01 ppp: [opt1] IPCP: rec'd Configure Reject #1 (Ack-Sent)
Dec 26 07:23:01 ppp: [opt1] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Dec 26 07:23:01 ppp: [opt1] IPCP: SendConfigReq #2
Dec 26 07:23:01 ppp: [opt1] IPADDR 0.0.0.0
Dec 26 07:23:01 ppp: [opt1] PRIDNS 0.0.0.0
Dec 26 07:23:01 ppp: [opt1] SECDNS 0.0.0.0
Dec 26 07:23:01 ppp: [opt1] CCP: rec'd Configure Nak #1 (Req-Sent)
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x01000040:MPPE(128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] CCP: SendConfigReq #2
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x01000040:MPPE(128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] CCP: rec'd Configure Request #6 (Req-Sent)
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x01000040:MPPE(128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] CCP: SendConfigAck #6
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x01000040:MPPE(128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] CCP: state change Req-Sent --> Ack-Sent
Dec 26 07:23:01 ppp: [opt1] IPCP: rec'd Configure Nak #2 (Ack-Sent)
Dec 26 07:23:01 ppp: [opt1] IPADDR *.*.*.*
Dec 26 07:23:01 ppp: [opt1] *.*.*.* is OK
Dec 26 07:23:01 ppp: [opt1] PRIDNS *.*.*.*
Dec 26 07:23:01 ppp: [opt1] SECDNS *.*.*.*
Dec 26 07:23:01 ppp: [opt1] IPCP: SendConfigReq #3
Dec 26 07:23:01 ppp: [opt1] IPADDR *.*.*.*
Dec 26 07:23:01 ppp: [opt1] PRIDNS *.*.*.*
Dec 26 07:23:01 ppp: [opt1] SECDNS *.*.*.*
Dec 26 07:23:01 ppp: [opt1] CCP: rec'd Configure Ack #2 (Ack-Sent)
Dec 26 07:23:01 ppp: [opt1] MPPC
Dec 26 07:23:01 ppp: [opt1] 0x01000040:MPPE(128 bits), stateless
Dec 26 07:23:01 ppp: [opt1] CCP: state change Ack-Sent --> Opened
Dec 26 07:23:01 ppp: [opt1] CCP: LayerUp
Dec 26 07:23:01 ppp: [opt1] CCP: Compress using: mppc (MPPE(128 bits), stateless)
Dec 26 07:23:01 ppp: [opt1] CCP: Decompress using: mppc (MPPE(128 bits), stateless)
Dec 26 07:23:01 ppp: [opt1] IPCP: rec'd Configure Ack #3 (Ack-Sent)
Dec 26 07:23:01 ppp: [opt1] IPADDR *.*.*.*
Dec 26 07:23:01 ppp: [opt1] PRIDNS *.*.*.*
Dec 26 07:23:01 ppp: [opt1] SECDNS *.*.*.*
Dec 26 07:23:01 ppp: [opt1] IPCP: state change Ack-Sent --> Opened
Dec 26 07:23:01 ppp: [opt1] IPCP: LayerUp
Dec 26 07:23:01 ppp: [opt1] *.*.*.* -> *.*.*.*
Dec 26 07:23:02 ppp: [opt1] IFACE: Up event
Распространенной ошибкой в ходе настройки PPTP/PPPOE-клиента является некорректно указанный IP-адрес клиента. Если адрес выдается автоматически, нужно внести в поле "Local IP address" 0.0.0.0 и указать корректную маску сети, например /24.


Все вышеописанное выполнялось и проверялось на pfSense 2.0.1. и успешно работает на 2.1. После обновления pfSense изменения нужно вносить заново.

3 комментария:

  1. Анонимный19 июня 2014 г., 03:37

    Интересное исследование, сейчас тоже обратил внимание на этот дистрибутив для роутера

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить