LCP завершен одноранговым узлом (аутентификация не пройдена) - настройка концентратора PPPOE

1081
user3450548

Я пытаюсь настроить сервер / концентратор pppoe для тестирования моих клиентов pppoe.

Я следовал инструкциям здесь https://poundcomment.wordpress.com/2011/03/30/pppoe-server-on-ubuntu/ и все выглядело хорошо на первый взгляд.

Но когда я пытаюсь подключиться с компьютера, на котором установлена ​​Ubuntu, sudo ppoeconfя получаю plog -n 30команду:

client pppd[4618]: Plugin rp-pppoe.so loaded client pppd[4618]: pppd 2.4.7 started by root, uid 0 client pppd[4618]: Connected to 00:0c:29... via interface ens33 client pppd[4618]: Using interface ppp0 client pppd[4618]: Connect: ppp0 <--> ens33 client pppd[4618]: CHAP authentication succeeded client pppd[4618]: CHAP authentication succeeded client pppd[4618]: peer from calling number 00:0C:29.... authorized client pppd[4618]: LCP terminated by peer (Authentication failed) client pppd[4618]: Modem hangup client pppd[4618]: Connection terminated. client pppd[4618]: Failed to disconnect PPPoE socket: 114 Operation already in progress 

Кажется, что клиент видит сервер, и проверка подлинности CHAP проходит хорошо, в то время как соединения висят на части LCP.

Почему это? И как я могу это исправить?


Примечания стороны:

  • Серверный компьютер имеет 2 интерфейса с именами ens33 (которые действуют как wan) и ens34 (которые действуют как lan)
  • Клиентский компьютер имеет ens33, который используется для подключения к ens34 на сервере

Сценарии post-up и post-down перечислены в руководстве, но в основном сервер загружается строкой:

pppoe-server -C isp -L 192.168.50.1 -p /etc/ppp/ipaddress_pool -I ens34 -m 1412 

SERVER CONFIG


Полный процесс, который я использовал с самого начала:

1) установил базу debian9 на машину, которая станет сервером / концентратором pppoe

2) установил build-essential, pppскачал и установил рев пингвина pppoe

apt-get --assume-yes install build-essential apt-get --assume-yes install ppp wget https://www.roaringpenguin.com/files/download/rp-pppoe-3.12.tar.gz tar -zxvf rp-pppoe-3.12.tar.gz cd rp-pppoe-3.12/src/ ./configure make && make install 

3) Отредактировал некоторые конфигурационные файлы:

файл /etc/ppp/pppoe-server-options:

# PPP options for the PPPoE server # LIC: GPL #require-pap require-chap login lcp-echo-interval 10 lcp-echo-failure 2 ms-dns 208.67.222.222 ms-dns 208.67.220.220 netmask 255.255.255.0 defaultroute noipdefault usepeerdns 

файл /etc/ppp/chap-secrets:

# Secrets for authentication using CHAP # client server secret IP addresses "alice" * "1234" 172.32.50.2 

(потому что меня сейчас не волнует пароль, это тестовая машина)


файл /etc/ppp/ipaddress_pool:

192.168.50.2-30 

файл /etc/ppp/pppoe_start:

#!/bin/bash ############################## # Simple script that starts PPPoE Server ##############################  # Enable IP Forwarding echo 1 > /proc/sys/net/ipv4/ip_forward  # Start PPPoE Server pppoe-server -C isp -L 192.168.50.1 -p /etc/ppp/ipaddress_pool -I ens34 -m 1412  # Set Firewall rules iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE 

файл /etc/ppp/pppoe_stop:

#!/bin/bash ############################## # Simple script that stops PPPoE Server ##############################  # Disable IP Forwarding echo 0 > /proc/sys/net/ipv4/ip_forward  # Kill PPPoE Server killall pppoe-server killall pppd  # Flush the IPtable rules. iptables -t nat -F POSTROUTING 

файл /etc/network/interfaces:

# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5).  source /etc/network/interfaces.d/*  # The loopback network interface auto lo iface lo inet loopback  # The primary network interface allow-hotplug ens33 iface ens33 inet dhcp  auto ens34 iface ens34 inet manual address 192.168.50.1 netmask 255.255.255.0 up ifconfig $IFACE 0.0.0.0 up post-up /etc/ppp/pppoe_start post-down /etc/ppp/pppoe_stop down ifconfig $IFACE down 

КЛИЕНТ КОНФИГ

Что касается клиента, я использовал ubuntu 14.04 vm fresh, установленный и настроенный через терминал с sudo pppoeconf

Конфиг, кажется, работает, но ошибка та, что в списке

на клиенте конфиги:

файл /etc/ppp/peers/dsl-provider:

# Minimalistic default options file for DSL/PPPoE connections  noipdefault replacedefaultroute hide-password #lcp-echo-interval 30 #lcp-echo-failure 4 noauth persist mtu 1412 #maxfail 0 #holdoff 20 plugin rp-pppoe.so nic-ens33 user "alice" usepeerdns 

файл /etc/ppp/peers/provider:

# example configuration for a dialup connection authenticated with PAP or CHAP # # This is the default configuration used by pon(1) and poff(1). # See the manual page pppd(8) for information on all the options.  # MUST CHANGE: replace myusername@realm with the PPP login name gi ven to # your by your provider. # There should be a matching entry with the password in /etc/ppp/p ap-secrets # and/or /etc/ppp/chap-secrets. user "myusername@realm"  # MUST CHANGE: replace ******** with the phone number of your prov ider. # The /etc/chatscripts/pap chat script may be modified to change t he # modem initialization string. connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T ********"  # Serial device to which the modem is connected. /dev/modem  # Speed of the serial line. 115200  # Assumes that your IP address is allocated dynamically by the ISP . noipdefault # Try to get the name server addresses from the ISP. usepeerdns # Use this connection as the default route. defaultroute  # Makes pppd "dial again" when the connection is lost. persist  # Do not ask the remote to authenticate. noauth 

LCP INFO

Что касается чтения LCP вокруг, кажется, что он делает следующее.

  • проверяет подлинность подключенного устройства и принимает или отклоняет одноранговое устройство
  • определяет приемлемый размер пакета для передачи
  • ищет ошибки в конфигурации
  • может прервать связь, если требования превышают параметры

Поэтому для меня сложно понять, в чем может быть проблема.

2

2 ответа на вопрос

1
Tim_Stewart

Вы не используете допустимое личное адресное пространство класса b.

Допустимый закрытый диапазон класса b: 172.16.0.0 / 16-172.31.255.255 / 16

Маршрутизаторы будут отправлять трафик в Интернет, чтобы решить, когда это публичный адрес. Это может рассматриваться как спорадическая проблема, связанная с отсутствием связи вообще.

Диапазон сети: 172.32.0.0 - 172.63.255.255 присвоен T-Mobile USA, Inc

Надеюсь это поможет

К сожалению, это ничего не меняет. Я изменил все, отражая новую конфигурацию 192.168.50.xx вместо 172.32.xx.xx, и проблема осталась прежней. Я зацикливаюсь на LCP, прерванном одноранговым сообщением (Ошибка аутентификации). Может ли это быть что-то связанное с шифрованием? Может быть, в pppoeconf нужно установить что-то еще? user3450548 6 лет назад 0
Добавьте свой конфиг к вопросу. Я постараюсь помочь. Tim_Stewart 6 лет назад 0
Спасибо, я выложил полный конфиг сервера и клиента, надеюсь, это поможет! user3450548 6 лет назад 0
Как клиент физически связан? Какой у него IP-адрес по отношению к подсети 192.168.50.1? Tim_Stewart 6 лет назад 0
Они подключены с помощью кабеля Ethernet, физически кажется, что они могут видеть друг друга .. действительно, когда он говорит: peer от вызывающего номера 00: 0C: 29 .... авторизован .., что mac-адрес является ens33 сервера, так что клиент видит это и может подтвердить подлинность на части CHAP .. LCP, который выходит из строя. Клиент не настроил Ethernet с IP, потому что он должен получить его от pppoe нет? user3450548 6 лет назад 0
Обычно это не так. В большинстве случаев диапазон IP-адресов клиентов фактически обрабатывается на сервере. Т.е. клиентский компьютер будет находиться в локальной сети и получает виртуальный адрес от сервера для использования в туннельной подсети. Tim_Stewart 6 лет назад 0
Давайте [продолжим это обсуждение в чате] (http://chat.stackexchange.com/rooms/73510/discussion-between-user3450548-and-tim-stewart). user3450548 6 лет назад 0
0
decibalas

Была похожая проблема на Распбиана. Проверьте, успешно ли echo 1 > /proc/sys/net/ipv4/ip_forwardвыполняется команда на вашем сервере PPPoE.

Если не изменить его вручную /etc/sysctl.conf, строка должна выглядеть так:

net.ipv4.ip_forward=1