mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
170 lines
5.3 KiB
ReStructuredText
170 lines
5.3 KiB
ReStructuredText
:lastproofread: 2024-02-21
|
|
|
|
.. _examples-lac-lns:
|
|
|
|
###############
|
|
PPPoE over L2TP
|
|
###############
|
|
|
|
This document is to describe a basic setup using PPPoE over L2TP.
|
|
LAC and LNS are components of the broadband topology.
|
|
LAC - L2TP access concentrator
|
|
LNS - L2TP Network Server
|
|
LAC and LNS forms L2TP tunnel. LAC receives packets from PPPoE clients and
|
|
forward them to LNS. LNS is the termination point that comes from PPP packets
|
|
from the remote client.
|
|
|
|
In this example we use VyOS 1.5 as LNS and Cisco IOS as LAC.
|
|
All users with domain **vyos.io** will be tunneled to LNS via L2TP.
|
|
|
|
Network Topology
|
|
================
|
|
|
|
.. image:: /_static/images/lac-lns-diagram.jpg
|
|
:width: 60%
|
|
:align: center
|
|
:alt: Network Topology Diagram
|
|
|
|
Configurations
|
|
==============
|
|
|
|
LAC
|
|
---
|
|
|
|
.. code-block:: none
|
|
|
|
aaa new-model
|
|
!
|
|
aaa authentication ppp default local
|
|
!
|
|
vpdn enable
|
|
vpdn aaa attribute nas-ip-address vpdn-nas
|
|
!
|
|
vpdn-group LAC
|
|
request-dialin
|
|
protocol l2tp
|
|
domain vyos.io
|
|
initiate-to ip 192.168.139.100
|
|
source-ip 192.168.139.101
|
|
local name LAC
|
|
l2tp tunnel password 0 test123
|
|
!
|
|
bba-group pppoe MAIN-BBA
|
|
virtual-template 1
|
|
!
|
|
interface GigabitEthernet0/0
|
|
description To LNS
|
|
ip address 192.168.139.101 255.255.255.0
|
|
duplex auto
|
|
speed auto
|
|
media-type rj45
|
|
!
|
|
interface GigabitEthernet0/1
|
|
description To PPPoE clients
|
|
no ip address
|
|
duplex auto
|
|
speed auto
|
|
media-type rj45
|
|
pppoe enable group MAIN-BBA
|
|
!
|
|
|
|
LNS
|
|
---
|
|
|
|
.. code-block:: none
|
|
|
|
set interfaces ethernet eth0 address '192.168.139.100/24'
|
|
set nat source rule 100 outbound-interface name 'eth0'
|
|
set nat source rule 100 source address '10.0.0.0/24'
|
|
set nat source rule 100 translation address 'masquerade'
|
|
set protocols static route 0.0.0.0/0 next-hop 192.168.139.2
|
|
set vpn l2tp remote-access authentication mode 'radius'
|
|
set vpn l2tp remote-access authentication radius server 192.168.139.110 key 'radiustest'
|
|
set vpn l2tp remote-access client-ip-pool TEST-POOL range '10.0.0.2-10.0.0.100'
|
|
set vpn l2tp remote-access default-pool 'TEST-POOL'
|
|
set vpn l2tp remote-access gateway-address '10.0.0.1'
|
|
set vpn l2tp remote-access lns host-name 'LAC'
|
|
set vpn l2tp remote-access lns shared-secret 'test123'
|
|
set vpn l2tp remote-access name-server '8.8.8.8'
|
|
set vpn l2tp remote-access ppp-options disable-ccp
|
|
|
|
.. note:: This setup requires the Compression Control Protocol (CCP)
|
|
being disabled, the command ``set vpn l2tp remote-access ppp-options disable-ccp``
|
|
accomplishes that.
|
|
|
|
Client
|
|
------
|
|
|
|
In this lab we use Windows PPPoE client.
|
|
|
|
.. image:: /_static/images/lac-lns-winclient.jpg
|
|
:width: 100%
|
|
:align: center
|
|
:alt: Window PPPoE Client Configuration
|
|
|
|
Monitoring
|
|
----------
|
|
|
|
Monitoring on LNS side
|
|
|
|
.. code-block:: none
|
|
|
|
vyos@vyos:~$ show l2tp-server sessions
|
|
ifname | username | ip | ip6 | ip6-dp | calling-sid | rate-limit | state | uptime | rx-bytes | tx-bytes
|
|
--------+--------------+----------+-----+--------+-----------------+------------+--------+----------+-----------+----------
|
|
l2tp0 | test@vyos.io | 10.0.0.2 | | | 192.168.139.101 | | active | 00:00:35 | 188.4 KiB | 9.3 MiB
|
|
|
|
Monitoring on LAC side
|
|
|
|
.. code-block:: none
|
|
|
|
Router#show pppoe session
|
|
1 session in FORWARDED (FWDED) State
|
|
1 session total
|
|
Uniq ID PPPoE RemMAC Port VT VA State
|
|
SID LocMAC VA-st Type
|
|
1 1 000c.290b.20a6 Gi0/1 1 N/A FWDED
|
|
0c58.88ac.0001
|
|
|
|
Router#show l2tp
|
|
L2TP Tunnel and Session Information Total tunnels 1 sessions 1
|
|
|
|
LocTunID RemTunID Remote Name State Remote Address Sessn L2TP Class/
|
|
Count VPDN Group
|
|
23238 2640 LAC est 192.168.139.100 1 LAC
|
|
|
|
LocID RemID TunID Username, Intf/ State Last Chg Uniq ID
|
|
Vcid, Circuit
|
|
25641 25822 23238 test@vyos.io, Gi0/1 est 00:05:36 1
|
|
|
|
Monitoring on RADIUS Server side
|
|
|
|
.. code-block:: none
|
|
|
|
root@Radius:~# cat /var/log/freeradius/radacct/192.168.139.100/detail-20240221
|
|
Wed Feb 21 13:37:17 2024
|
|
User-Name = "test@vyos.io"
|
|
NAS-Port = 0
|
|
NAS-Port-Id = "l2tp0"
|
|
NAS-Port-Type = Virtual
|
|
Service-Type = Framed-User
|
|
Framed-Protocol = PPP
|
|
Calling-Station-Id = "192.168.139.101"
|
|
Called-Station-Id = "192.168.139.100"
|
|
Acct-Status-Type = Start
|
|
Acct-Authentic = RADIUS
|
|
Acct-Session-Id = "45c731e169d9a4f1"
|
|
Acct-Session-Time = 0
|
|
Acct-Input-Octets = 0
|
|
Acct-Output-Octets = 0
|
|
Acct-Input-Packets = 0
|
|
Acct-Output-Packets = 0
|
|
Acct-Input-Gigawords = 0
|
|
Acct-Output-Gigawords = 0
|
|
Framed-IP-Address = 10.0.0.2
|
|
NAS-IP-Address = 192.168.139.100
|
|
Event-Timestamp = "Feb 21 2024 13:37:17 UTC"
|
|
Tmp-String-9 = "ai:"
|
|
Acct-Unique-Session-Id = "ea6a1089816f19c0d0f1819bc61c3318"
|
|
Timestamp = 1708522637
|