Skip to content
Ask AI

PPPoE Interface Configuration Guide

PPPoE(Point-to-Point Protocol over Ethernet) is an Ethernet-based WAN access protocol defined by RFC 2516.It combines the authentication, accounting, and link control functions of the PPP(Point-to-Point Protocol) with the flexible networking features of the Ethernet.It is mainly used to establish point-to-point logical connections in a shared Ethernet environment.

PPPoE connection establishment is divided into two phases:

  • Discovery phase.

The discovery phase is completed by the following packets:

1.PADI(PPPoE Active Discovery Initiation):The client broadcasts a PADI packet to find an available PPPoE server.

2.PADO(PPPoE Active Discovery Offer):The server responds to the PADO message, indicating that the service is available.

3.PADR(PPPoE Active Discovery Request):The client selects the server and sends a PADR request.

4.PADS(PPPoE Active Discovery Session-confirmation):The server assigns the Session ID to confirm the session establishment.

  • Session phase.

1.Based on the PPP Protocol, LCP(Link Control Protocol) negotiation is completed, authentication packet(CHAP) authentication, and IPCP(IP Control Protocol) completes IP address assignment.

PPPoE session termination phase:

  • Session termination phase.

1.PADT(PPPoE Active Discovery Terminate):This parameter is generated by a client or server to notify the peer to release PPPoE session resources

Create a logical interface for a PPPoE client to centrally manage PPP parameters and bind physical interfaces.

OperationCommandDescription
Enter the system configuration viewconfigure
Create a Dialer interfaceinterface dialer IDID is Dialer ID

PPP authentication user name and password configuration

Section titled “PPP authentication user name and password configuration”

Configure authentication management. The PPPoE server can use this information to verify the client validity. Ensure that the user name and password are the same as those configured on the PPPoE server.

OperationCommandDescription
Enter the Dialer interface configuration viewinterface dialer
Configure the PPP authentication user name and passwordppp chap username username password

PPPoE encapsulation consumes 8 bytes (6 bytes PPPoE header + 2 bytes PPP protocol number). To avoid fragmentation and increase the risk of packet loss, flexible adjustment is required. In addition, ensure that the end-to-end MTU is consistent.

OperationCommandDescription
Enter the Dialer interface configuration viewinterface dialer
Configure MTUmtu mtuthe value of MTU,the default value is 1492

To enable Intranet devices to access the Internet through PPPoE public IP addresses, the NAT(network address translation) is required.

OperationCommandDescription
Enter the Dialer interface configuration viewinterface dialer
Configure nat-zonenat-zone id

Associate a physical interface with a Dialer interface to enable PPPoE traffic to be transmitted over a specified physical link.

OperationCommandDescription
Enter the interface viewinterface ethernet ID
Configure Binding a PPPoE clientpppoe-client idThe ID here is the ID of a dialer interface

PPPoE Server is used to provide layer 2 discovery (PADI/PADO) and layer 3 session capabilities for PPPoE clients in the access network. Through username/password authentication, it dynamically assigns network parameters such as IP addresses and DNS to clients, and supports large-scale concurrent session control.

On the SONiC device, PPPoE Server is usually deployed on the physical port or sub interface, which carries the terminal or access server downward, and accesses the Internet through the three-layer gateway or NAT outlet upward.

Create a logical interface for a PPPoE client to centrally manage PPP parameters and bind physical interfaces.

OperationCommandDescription
Enter the system configuration viewconfigure
Create a Dialer interfaceinterface pppoe-server* ID*The ID configuration range is from 0 to 7

Create the Access Concentrator name for the PPPoE server, which will be carried in the PADO message as an optional field.

OperationCommandDescription
Enter the pppoe server interface configuration viewinterface pppoe-server* ID*The ID configuration range is from 0 to 7
Configure Access Concentrator Nameac-name* string*The range of String configuration is 1~63

Configure the DNS IP sent by the PPPoE server to the client as an optional field.

** Operation **** Command **** Description **
Enter the pppoe server interface configuration view** interface pppoe-server *** ID*The ID configuration range is from 0 to 7
Configure the DNS server IP provided by the server to the clientdns-server* A.B.C.D*The range of String configuration is 1~63

Configure the service name of the PPPoE server and include this field in the PADO message; Simultaneously supports two switches, one for specifying the acceptance of any service type from the client, and a total of for specifying the allowed service types for the client to be empty. This field is optional.

OperationCommandDescription
Enter the pppoe server interface configuration viewinterface pppoe-server* ID*The ID configuration range is from 0 to 7
Configure the service type of the serverservice-name* string*Specify service name
Enable allowing all types of services on the client sideaccept-any-service enableAllow/Cancel Enable
Enable allowing client service type to be emptyaccept-blank-service enableAllow/Cancel Enable

Configure the keep alive interval on the PPPoE server side. If the retry count is exceeded, the dead connection will be disconnected. This field is optional.

OperationCommandDescription
Enter the pppoe server interface configuration viewinterface pppoe-server* ID*The ID configuration range is from 0 to 7
Configure the keep alive interval of the serverkeepalive* interval*Interval: The configuration range is 0~65535

Configure the local IP address of the PPPoE server, which is the layer 3 address used to establish PPP connections, and be careful not to conflict with the remote ip pool.

OperationCommandDescription
Enter the pppoe server interface configuration viewinterface pppoe-server* ID*The ID configuration range is from 0 to 7
Configure the local IP address of the serverlocal-ip* A.B.C.D v4/v6 mask*Configuration example: local-ip 192.168.3.1 255.255.255.0

Configure the maximum receiving unit on the PPPoE server side, which defaults to 1492. The final receiving unit size will be negotiated with the mru value on the client side. The final mtu value can be viewed on the PPP interface through the ifconfig command to determine the negotiation result. Note that the MTU value on the server side is determined entirely based on the MRU negotiation results, otherwise the default value of 1492 will be used. This field is optional.

OperationCommandDescription
Enter the pppoe server interface configuration viewinterface pppoe-server* ID*The ID configuration range is from 0 to 7
Configure the MRU of the servermru* value*Value configuration range: 1312~10218

Configure the PPPoE server to provide users with an address pool for dial-up authentication addresses, specifying pre configured IP ports that support both range and mask configuration methods.

** Operation **** Command **** Description **
Enter the pppoe server interface configuration view** interface pppoe-server *** ID*The ID configuration range is from 0 to 7
Configure the address pool provided by the server for the clientremote-ip-pool* string*String: The configuration range is 1~32
In the system configuration view, configure ip poolip-pool stringString: The configuration range is 1~32
Enter the IP pool configuration viewip-mask* ip-address*IP address: supports configuring A.B.C.D/mask or A:: B/mask
Enter the IP pool configuration viewip-range* start-ip end-ip*Start ip, end ip: both support configuring A.B.C.D/A/B

Configure PPPoE server-side to support the maximum number of dial-up authentication sessions established for clients. This field is optional.

OperationCommandDescription
Enter the pppoe server interface configuration viewinterface pppoe-server* ID*The ID configuration range is from 0 to 7
Configure the maximum number of dial-up authentication sessions that the server can establish for clientssession-max* value*Value: The configuration range is 1~65535

Network requirements

When a PPPoE server connects to the device, set an authentication user name and password on the server. The device has been configured with a PPPoE client and correctly obtained an IP address from the server address pool, and can access the Internet.

Procedure

1.Create Dialer interface 1

sonic(config)# interface dialer 1

2.Configure the same user name and password as the PPPoE server

sonic(config-dialerif-1)# ppp chap username test1 123abc

3.Configure MTU

sonic(config-dialerif-1)# mtu 1492

4.Configure the port binds the Dialer interface

sonic(config-dialerif-1)# exit
sonic(config)# interface ethernet 1
sonic(config-if-1)# pppoe-client 1

Verify configuration

The device interface has been successfully assigned to the IP address in the PPPoE server address pool, after the default route is configured, the device can access the Internet.

Network requirements

The PPPoE client accesses the SONiC device through the two-layer Ethernet. The device, as the PPPoE server, provides user authentication, session establishment and address allocation capabilities. The client successfully obtains the address pool IP and accesses the upstream network or Internet through the device.

Procedure

1.Configure ip pool and configure pppoe server interface

sonic(config)# ip-pool pppoe-pool1
sonic(config-ippool-pppoe-pool1)# ip-range 192.168.15.10 192.168.15.20
sonic(config)# interface pppoe-server 1

2.Configure ip pool and configure pppoe server interface

sonic(config-if-pppoeserver-1)# ppp chap username test1 test1

3.Configure the address pool for client IP allocation

sonic(config-if-pppoeserver-1)# remote-ip-pool pppoe-pool1

4.Configure the local IP address of the server

sonic(config-if-pppoeserver-1)# local-ip 192.168.15.1 255.255.255.0

5.Configure other server parameters

sonic(config-if-pppoeserver-1)# dns-server 8.8.8.8
sonic(config-if-pppoeserver-1)# ac-name pppoe-server-1
sonic(config-if-pppoeserver-1)# keepalive 15
sonic(config-if-pppoeserver-1)# mru 1400
sonic(config-if-pppoeserver-1)# service-name TEST
sonic(config-if-pppoeserver-1)# session-max 300

6.Port binding pppoe server interface

sonic(config)# interface ethernet 2
sonic(config-if-2)# pppoe-server 1

Verify configuration

The PC can successfully obtain the IP address in the remote ip pool through dial-up authentication of the pppoe server service provided by the device. As the server, the device can view the relevant statistics and session establishment status corresponding to each server interface.