配置 pppoe 拨号.note
·配置了pppoe,ip nat outside要设置为 dialer接口,ip nat inside source ... 的出接口也要设置为 dialer接口
一、不加密 配置 pppoe(使用路由器作为客户端):
1、使用 出接口配置:
(1)配置 服务器:
# 配置 pppoe 客户端拨号地址池:(分配给客户端的地址)
ip local pool IP 210.115.4.10
# 配置 pppoe 接口:
bba-group pppoe global
virtual-template 1
# 配置 virtual-template 1 接口:
interface virtual-template 1
ip unnumbered gig 0/3 //设置接口源地址为 g0/3
peer default ip address pool IP //调用前面创建的地址池
no ppp authentication
# 进入连接客户端的出接口,应用 pppoe:
interface g0/3
no sh
ip add 210.115.4.1 255.255.255.240
pppoe enable group global(2)配置 客户端:
# 配置拨号接口:
interface dialer 1
ip address negotiated
encapsulation ppp //设置封装协议为 ppp
dialer pool 1
no ppp authentication //CML2.9中必须要显示配置no,才不会进行身份认证
# 在连接 服务器的接口中应用 pppoe:
interface g0/0
no sh
pppoe-client dial-pool-number 1查看:

2、使用 Loopback 接口配置:
(1)配置 服务器:
# 配置 Loopback 接口地址:
interface Loopback 10
no sh
ip add 210.115.4.1 255.255.255.240
# 配置 pppoe 客户端拨号地址池:(分配给客户端的地址)
ip local pool IP 210.115.4.10
# 配置 pppoe 接口:
bba-group pppoe global
virtual-template 1
# 配置 virtual-template 1 接口:
interface virtual-template 1
ip unnumbered Loopback 10 //设置接口源地址为 Loopback 10
peer default ip address pool IP //调用前面创建的地址池
no ppp authentication
# 进入连接客户端的出接口,应用 pppoe:
interface g0/3
no sh
pppoe enable group global(2)配置 客户端:
# 配置拨号接口:
interface dialer 1
ip address negotiated
encapsulation ppp //设置封装协议为 ppp
dialer pool 1
no ppp authentication
# 在连接 服务器的接口中应用 pppoe:
interface g0/0
no sh
pppoe-client dial-pool-number 1查看:

二、使用 chap 加密(使用路由器作为客户端):
双向chap时两边不能使用同一个用户名
如果只做单边chap,那么另一边需要配置 no ppp authentication(不验证对端身份),但是要配置ppp chap hostname和password,因为对端要求验证身份
1、服务器 使用出接口作为pppoe接口(chap加密):
(1)配置 服务器:
# 创建一个用户,该用户需要与 客户端 chap 配置的 hostname 相同(密码不能使用加密密码):
username user2 password Skills39
# 配置 pppoe 客户端拨号地址池:(分配给客户端的地址)
ip local pool IP 210.115.4.10
# 配置 pppoe 接口:
bba-group pppoe global
virtual-template 1
# 配置 virtual-template 1 接口:
interface virtual-template 1
ip unnumbered gig 0/3 //设置接口源地址为 g0/3
peer default ip address pool IP //调用前面创建的地址池
ppp authentication chap //要求验证对端身份
ppp chap hostname user1 //这个实际上是定义 chap的用户名
ppp chap password Skills39 //设置 chap密码
# 进入连接客户端的出接口,应用 pppoe:
interface g0/3
no sh
ip add 210.115.4.1 255.255.255.240
pppoe enable group global(2)配置 客户端连接:
# 创建一个用户(该用户需要与 服务器chap 指定的hostname同名)(密码不能使用加密密码):
username user1 password Skills39
# 配置拨号接口:
interface dialer 1
ip address negotiated
encapsulation ppp //设置封装协议为 ppp
dialer pool 1
ppp authentication chap
ppp chap hostname user2
ppp chap password Skills39
# 在连接 服务器的接口中应用 pppoe:
interface g0/0
no sh
pppoe-client dial-pool-number 1查看:

2、服务器 使用Loopback接口作为 pppoe接口(chap加密):
这里 chap 用来指定用户名的命令是 ppp chap hostname,只有对端本地拥有该用户,pppoe 才会生效
(1)配置 服务器:
# 创建一个用户,该用户需要与 客户端 chap 配置的 hostname 相同:
username BR2 password Skills39
# 配置 Loopback 接口地址:
interface Loopback 10
no sh
ip add 210.115.4.1 255.255.255.240
# 配置 pppoe 客户端拨号地址池:(分配给客户端的地址)
ip local pool IP 210.115.4.10
# 配置 pppoe 接口:
bba-group pppoe global
virtual-template 1
# 配置 virtual-template 1 接口:
interface virtual-template 1
ip unnumbered Loopback 10 //设置接口源地址为 Loopback 10
peer default ip address pool IP //调用前面创建的地址池
ppp authentication chap //设置身份认证方式为 chap
ppp chap hostname ISP1 //这个实际上是定义 chap的用户名
ppp chap password Skills39 //设置 chap密码
# 进入连接客户端的出接口,应用 pppoe:
interface g0/3
no sh
pppoe enable group global(2)配置 客户端连接:
# 创建一个用户(该用户需要与 服务器chap 指定的hostname同名):
username ISP1 password Skills39
# 配置拨号接口:
interface dialer 1
ip address negotiated
encapsulation ppp //设置封装协议为 ppp
dialer pool 1
ppp authentication chap
ppp chap hostname BR2
ppp chap password Skills39
# 在连接 服务器的接口中应用 pppoe:
interface g0/0
no sh
pppoe-client dial-pool-number 1查看:

三、配置pppoe(使用ASA作为客户端):
ASA只能作为pppoe客户端,无法作为pppoe服务端
1、配置 不加密pppoe:
拓扑:

(1)配置 pppoe Server(ISP):
配置跟上面的一样
# 配置 pppoe 客户端拨号地址池:(分配给客户端的地址)
ip local pool p1 1.1.1.1
# 配置 pppoe 接口:
bba-group pppoe global
virtual-template 1
# 配置 virtual-template 1 接口:
interface virtual-template 1
ip unnumbered gig 0/2 //设置接口源地址为 g0/2
peer default ip address pool p1 //调用前面创建的地址池
# 进入连接客户端的出接口,应用 pppoe:
interface g0/2
no sh
ip add 1.1.1.254 255.255.255.0
pppoe enable group global(2)配置 pppoe Client(FW):
# 创建 pppoe:
vpdn group pppoe request dialout pppoe //注意,名称就算写了大写,也会自动变为小写
# vpdn group [名称] request dialout pppoe
# 在接口上应用pppoe:
## pppoe接口一定需要配置nameif,否则无法获取到地址
int g0/3
pppoe client vpdn group pppoe
ip address pppoe //有一个参数:setroute,作用:自动下发一条默认路由
# 因为ASA获取PPPoE地址后不会自动生成接口直连路由,需要手动添加静态路由,或者使用 ip address pppoe setroute 选项自动生成默认路由来通信
route Outside 1.1.1.0 255.255.255.0 1.1.1.254·查看:

获取成功
ping测试(需要先有路由)

2、配置 chap认证 pppoe:
ASA只能够配置单向chap认证,(PPPoE服务器向 ASA客户端认证)
(1)配置 pppoe Server(ISP):
username FW password Skills39 //创建对端所需的用户名和密码(密码不能使用加密密码)
ip local pool p1 1.1.1.1
bba-group pppoe global
virtual-template 1
interface virtual-template 1
ip unnumbered gig 0/2
peer default ip address pool p1
interface g0/2
no sh
ip add 1.1.1.254 255.255.255.0
pppoe enable group global(2)配置 pppoe Client(FW):
vpdn group pppoe request dialout pppoe //注意,名称就算写了大写,也会自动变为小写
vpdn group pppoe localname FW //localname必须和 下面的username保持一致
vpdn group pppoe ppp authentication chap
vpdn username FW password Skills39
int g0/3
pppoe client vpdn group pppoe
ip address pppoe setroute
route Outside 1.1.1.0 255.255.255.0 1.1.1.254四、配置 PPPoE 拨号使用 Radius作为后端:
(1)配置 Radius服务器:
/etc/freeradius/3.0/users

/etc/freeradius/3.0/clients.conf

(2)配置 PPPoE 服务器:
# 配置 aaa,引用radius:
aaa new-model
radius server RADIUS
address ipv4 192.168.10.10 auth-port 1812 acct-port 1813
key Lyon!@34
exit
aaa authentication ppp AAA_PPP group radius local
ip local pool IP 210.115.4.10
bba-group pppoe global
virtual-template 1
interface Virtual-Template1
ip unnumbered Loopback10
peer default ip address pool IP
ppp authentication chap AAA_PPP
ppp chap hostname ISP1
ppp chap password Lyon!@34(3)配置 PPPoE 客户端:
interface Dialer1
ip address negotiated
ip virtual-reassembly in
encapsulation ppp
dialer pool 1
ppp authentication chap
ppp chap hostname BR2
ppp chap password 7 13290E1D054D24797F
ppp ipcp route default五、自动下发一条通向 ISP 的默认路由:
·在客户端配置:
interface dialer 1
ppp ipcp route default
sh
no sh //重启接口,重新获取地址即可生效