私はpppoeクライアントをテストするためにpppoeサーバー/コンセントレーターをセットアップしようとしています。
私はここのガイドに従いました https://poundcomment.wordpress.com/2011/03/30/pppoe-server-on-ubuntu/ そしてすべてが一見うまく見えました。
しかし、Sudo ppoeconf
でセットアップされているUbuntuマシンから接続しようとすると、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
接続がLCP部分でハングしている間、クライアントはサーバーが起動していることを確認し、CHAP認証は正常に行われているようです。
なぜこれ?そして、どうすればそれを修正できますか?
サイドノート:
スクリプトpost-upおよびpost-downは、にリストされているものです。ガイドですが、ほとんどの場合、サーバーには次の行がロードされています。
pppoe-server -C isp -L 192.168.50.1 -p /etc/ppp/ipaddress_pool -I ens34 -m 1412
私が最初から使用した完全なプロセス:
1)pppoeサーバー/コンセントレーターとなるマシンにdebian9ベースをインストールしました
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
クライアントに関係することについては、Sudopppoeconfを使用してターミナル経由で新しくインストールおよび構成されたubuntu14.04vmを使用しました
設定は機能しているようですが、エラーはリストされているものです
クライアントでの構成は次のとおりです。
ファイル/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の読み取りに関しては、次のように見えます。
だから私にとって何が問題なのか理解するのは難しいです。
有効なクラスbプライベートアドレススペースを使用していません。
有効なクラスbプライベート範囲は172.16.0.0/16から172.31.255.255/16です。
ルーターは、パブリックアドレスの場合に解決するために、トラフィックをインターネットに送信します。これは、接続がまったくないという散発的な問題と見なすことができます。
ネットワーク範囲:172.32.0.0-172.63.255.255はT-Mobile USA、Incに割り当てられています
お役に立てれば
Raspbianでも同様の問題がありました。 echo 1 > /proc/sys/net/ipv4/ip_forward
コマンドがPPPoEサーバーで正常に実行されるかどうかを確認します。
/etc/sysctl.conf
で手動で変更しない場合、行は次のようになります。
net.ipv4.ip_forward=1