:lastproofread: 2026-03-03 .. _pppoe-interface: ##### PPPoE ##### :abbr:`PPPoE (Point-to-Point Protocol over Ethernet)` is a network protocol that encapsulates PPP frames within Ethernet frames. It's often used for connecting ISP clients to a broadband access server. ************* Configuration ************* Common interface configuration ============================== .. cmdinclude:: /_include/interface-description.txt :var0: pppoe :var1: pppoe0 .. cmdinclude:: /_include/interface-disable.txt :var0: pppoe :var1: pppoe0 .. cmdinclude:: /_include/interface-mtu.txt :var0: pppoe :var1: pppoe0 .. cmdinclude:: /_include/interface-vrf.txt :var0: pppoe :var1: pppoe0 PPPoE options ============= .. cfgcmd:: set interfaces pppoe access-concentrator **Configure the name of the target access concentrator for the PPPoE session.** During the PPPoE discovery process, the client sends a PPPoE initiation packet. Multiple access concentrators may respond with offer packets, and the client selects one of them. This setting restricts the client to establishing sessions only with the specified access concentrator. .. cfgcmd:: set interfaces pppoe authentication username **Configure the username for PPPoE session authentication.** Although authentication is optional in the interface configuration, most ISPs require it to establish a connection. .. cfgcmd:: set interfaces pppoe authentication password **Configure the password for PPPoE session authentication.** Although authentication is optional in the interface configuration, most ISPs require it to establish a connection. .. cfgcmd:: set interfaces pppoe connect-on-demand **Enable dial-on-demand on the PPPoE interface.** When enabled, the system establishes a PPPoE connection only when traffic passes through the interface. If the connection fails, it is reestablished when traffic resumes. For on-demand connections, you must also configure an ``idle-timeout`` period to disconnect the session after inactivity. .. note:: Setting the idle timeout to zero, or leaving it unconfigured, keeps the connection active continuously once established. By default, the PPPoE connection is established at boot and remains active continuously; if the connection fails, it is reestablished immediately. .. cfgcmd:: set interfaces pppoe no-default-route Request an IP address from the PPPoE server without installing a default route. Example: .. code-block:: none set interfaces pppoe pppoe0 no-default-route .. note:: Introduced in VyOS 1.4, this command inverts the logic of the former ``default-route`` CLI option. .. cfgcmd:: set interfaces pppoe default-route-distance Configure the distance for the default gateway provided by the PPPoE server. Example: .. code-block:: none set interfaces pppoe pppoe0 default-route-distance 220 .. cfgcmd:: set interfaces pppoe mru **Configure the** :abbr:`MRU (Maximum Receive Unit)` **for the PPPoE interface.** This setting instructs the pppd daemon to restrict the remote peer from sending packets larger than the configured MRU. Allowed MRU values range from 128 to 16384 bytes. An MRU of 296 is suitable for very slow links (40 bytes for the TCP/IP header and 256 bytes for data). The default MRU is 1492 bytes. .. note:: When using the IPv6 protocol, the MRU must be at least 1280 bytes. .. cfgcmd:: set interfaces pppoe idle-timeout