UbuntuIPv6pppoe服务器搭建(基于KeaDHCPServerV1.2.0)

UbuntuIPv6pppoe服务器搭建(基于
KeaDHCPServerV1.2.0)
1、安装pppoe服务器
sudo apt-get install pppoe
2、配置pppoe服务器
(1) 修改/etc/ppp/chap-secrets,增加拨号⽤户名,密码:
增加⼀⾏:"chap"  *  "chap"    *
(2) 新增/etc/ppp/pppoe-server-options
增加⼀⾏:+ipv6(加号不能省略,否则拨号失败)
3、启动pppoe服务器
pppoe-server -I eth0 -L 10.10.10.49  -R 10.10.10.50  -N 50
注:
chap认证⽅式这样配置即可,pap还没有验证。
按此配置客户端获取的只是link local地址。
4、启动RADVD和重启kea
将/usr/share/doc/ppp/examples/scripts/ipv6-up.sample 拷贝为/etc/ppp/ipv6-up.d/ipv6-up,并修改如下:
#!/bin/sh
#
# This script is called with the following parameters:
# interface tty speed local-address remote-address ipparam
#
# Start router advertisements on this link.
# Based on radvd 0.5.0 behaviour
DEVICE="$1"
CFGFILE="/f-$DEVICE"
PIDFILE="/var/run/radvd/radvd-$DEVICE.pid"
EXEFILE="/usr/sbin/radvd"
LOGFILE="/var/log/pppoe-server"
GenerateRadvdConfig()
{
echo  "[`date +%H`:`date +%M`:`date +%S`][$0] generate radvd config for $DEVICE" >> "$LOGFILE"
cp /f "$CFGFILE"
if [ $? -eq 0 ];then
sed -i "s/eno1/$DEVICE/g"  "$CFGFILE"
else
echo  "[`date +%H`:`date +%M`:`date +%S`][$0] cp /f failed" >>  "$LOGFILE"
fi
}
RunRadvd()
{
if [ -x "$EXEFILE" -a -f "$CFGFILE" ]; then
echo  "[`date +%H`:`date +%M`:`date +%S`][$0] $EXEFILE -u radvd -C $CFGFILE -p $PIDFILE " >>  "$LOGFILE"
"$EXEFILE" -u radvd -C "$CFGFILE" -p "$PIDFILE"
else
echo  "[`date +%H`:`date +%M`:`date +%S`][$0] $EXEFILE is not executable, or $CFGFILE is not existed " >>  "$LOGFILE"
fi
}
ModifyKeaConfig()
{
local configPath="/usr/local/etc/f"
local lineNum=`grep \"interface\":\"eno1\" "$configPath"  -n |cut -d : -f 1`
local samplePath="/etc/ppp/ipv6-up.d/kea_pool.sample"
#配置地址池
sed -i "s/eno1/$DEVICE/g" "$samplePath"
sed -i "$lineNum r $samplePath" "$configPath"
sed -i "s/$DEVICE/eno1/g" "$samplePath"
}
>>>>>>>>>>### main >>>>>>>## echo  "[`date +%H`:`date +%M`:`date +%S`][$0] $DEVICE up" >>  "$LOGFILE"
#1.⽣成radvd配置,并启动radvd进程
GenerateRadvdConfig
RunRadvd
#2.修改kea-dhcp6的配置,并重启服务
ModifyKeaConfig
keactrl stop
keactrl start
在/etc/ppp/ipv6-up.d/下新建⽂件kea_pool.sample,并修改为:
},
{
"subnet": "2001:10:10:10::/64",
"pools": [ { "pool": "2001:10:10:10::1-2001:10:10:10::ffff" } ],
"pd-pools":
[
{
"prefix": "3000:6666:6666:6666::",
"prefix-len": 48,
"delegated-len": 64
}
],
PPPOE 协议
"interface":"eno1"
将/usr/share/doc/ppp/examples/scripts/ipv6-down.sample拷贝为/etc/ppp/ipv6-down.d/ipv6-down,并修改为:
#!/bin/sh
#
# This script is called with the following parameters:
# interface tty speed local-address remote-address ipparam
#
# Kill the router advertisement daemon on this interface.
# The killing procedure is copied from RedHat 6.0 initscripts.
DEVICE="$1"
PIDFILE="/var/run/radvd/radvd-$DEVICE.pid"
CFGFILE="/f-$DEVICE"
LOGFILE="/var/log/pppoe-server"
StopRadvd()
{
local PID="$(cat "$PIDFILE")"
if [ "$PID" != "" ]; then
echo  "[`date +%H`:`date +%M`:`date +%S`][$0] kill -TERM $PID" >> "$LOGFILE"
kill -TERM "$PID"
fi
rm -f "$PIDFILE"
rm -f "$CFGFILE"
}
ModifyKeaConfig()
{
local configPath="/usr/local/etc/f"
local endLineNum=`grep \"interface\":\""$DEVICE"\" "$configPath"  -n |cut -d : -f 1`
local startLineNum=`expr $endLineNum - 12`
# 删除地址池
sed -i "${startLineNum},${endLineNum}d" "$configPath"
}
>>>>>>>>>>### main >>>>>>>##
echo  "[`date +%H`:`date +%M`:`date +%S`][$0] $DEVICE down" >> "$LOGFILE"
StopRadvd
ModifyKeaConfig
keactrl stop
keactrl start

本文发布于:2024-09-23 20:17:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/371375.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:配置   拨号   服务器   启动   省略
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议