IFCFG-PPP(5)

πŸ“¦ version 0.6.80, in opensuse-leap 16.0

πŸ’… IFCFG-PPP(5) β€” network configuration, but make it PPP

okay bestie, sit down, because this is the page for ifcfg-ppp β€” the interface ppp configuration, aka how you tell wicked "hey girl, this thing talks PPP" πŸŽ€


✨ NAME ✨

ifcfg-ppp β€” interface ppp configuration. that's it, that's the vibe. πŸ’–

🌸 SYNOPSIS 🌸

/etc/sysconfig/network/ifcfg-*

/etc/sysconfig/network/providers/provider*

πŸ¦‹ PPP Interfaces πŸ¦‹

so to set up a PPP interface you need a config file named ifcfg-ppp<X> β€” and yes, X is flexible, you can literally use an arbitrary name for the ppp device, like dsl0 for a DSL connection, iykyk πŸ’« β€” with all the usual network settings in it. but!! you have to add some extra variables too, no skipping:

  • PPPMODE {pppoe|pppoatm|pptp|isdn|serial|modem} β€” you MUST set this to one of the types below, because this is literally how the system figures out "oh, this is a ppp interface". the types:
    • pppoe β€” Point-to-Point over Ethernet (PPPoE) device type. πŸ‘‘ the main character
    • pppoatm β€” Point-to-Point over Asynchronous Transfer Mode (PPPoATM) device type. Currently NOT SUPPORTED. πŸ’€
    • pptp β€” Point-to-Point Tunneling Protocol (PPTP) device type. Currently NOT SUPPORTED. πŸ’€
    • isdn β€” Point-to-Point for ISDN connection types. NOT SUPPORTED. 😭
    • serial β€” Point-to-Point for general serial connections via fixed line or modem. NOT SUPPORTED. 😭
    • modem β€” Point-to-Point for connections using 3G/UMTS modems. NOT SUPPORTED. 😭
  • PROVIDER [filename] β€” this variable holds the filename of a provider configuration file living in the /etc/sysconfig/network/providers/ directory. that provider file is where all the provider-specific configuration options go 🫢
  • PPPDEBUG {true|false} β€” turns on debug mode for the pppd instance. ngl, very useful when things are being weird πŸ•΅οΈβ€β™€οΈ

🌈 PPPoE MODE SPECIFIC OPTIONS 🌈

  • DEVICE [ifname] β€” the real, subordinate ethernet device interface name that gets used to establish the PPP connection. like the actual physical bestie underneath all the PPP drama ✨

πŸ’œ PROVIDER FILE CONFIGURATION OPTIONS πŸ’œ

this is the good part, the provider file glow-up:

  • DEFAULTROUTE {true|false} β€” sets a default route in the system routing tables, using the peer as the gateway. important detail: the default route is only set once IPCP negotiation succeeds, and it's automatically removed when the PPP connection stops. also the current default route in the routing tables will be replaced with the new default route. πŸ‘€

Default: true

  • DEMAND {true|false} β€” only initiates the link when there's actual data traffic. this option lets you specify the remote IP address. the interface is initially pre-configured and enabled for IP traffic, but without a connection to the peer. then, upon traffic, the connection to the peer happens along with negotiation, authentication, etc. very "i'll respond when there's something worth responding to" energy πŸ’…

Default: false

  • IDLETIME [seconds] β€” how many seconds before an idle link gets disconnected. a link counts as idle when no data traffic is being sent or received. for more info please refer to pppd(8). πŸ•°οΈ

Default: 600

  • AUTODNS {true|false} β€” obtains the DNS server addresses from the peer. those addresses (if there are any) get passed to the /etc/ppp/ip-up script in the environment variables DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. ⚠️ but this option requires the MODIFYDNS variable to be set to true for it to have any effect at all β€” no MODIFYDNS, no vibes.

Default: true

  • DNS1/DNS2 [IP-address] β€” specify the DNS server addresses to set on the system with lowered preference compared to the server provided by the peer. use cases: initiate the connection on dns queries in demand dialing mode, or as a fallback when the peer doesn't provide any dns servers. these servers are applied by wicked using the /etc/ppp/{pre-start,post-stop} scripts. 🧚
  • MODIFYIP/MODIFYIP6 {true|false} β€” when you've specified local and/or remote IP addresses for the link, this option allows those user addresses to be modified with the addresses negotiated with the peer. to set the user addresses prior to negotiation with the peer, the DEMAND variable must be set to true. without this option, the pppd instance will not accept different values in the IPCP negotiation. periodt.

Default: true

  • IPADDR [IP-address] β€” IPv4 address to be set as the local IP of the PPP connection. 🏠
  • REMOTE_IPADDR [IP-address] β€” IPv4 address to be set as the remote IP of the PPP connection. 🌍
  • IPADDR6 [localinterfaceidentifier] β€” IPv6 local identifier to be set as the local IP of the PPP connection. 🏠 but ✨v6✨
  • REMOTE_IPADDR6 [remoteinterfaceidentifier] β€” IPv6 remote identifier to be set as the remote IP of the PPP connection. 🌍 but ✨v6✨
  • MULTILINK {true|false} β€” enables the PPP multilink protocol. if the peer supports it, the created link can become part of a bundle between the local system and the peer. squad goals fr fr πŸ‘―β€β™€οΈ

Default: false

  • ENDPOINT [discriminator] β€” sets the endpoint discriminator sent by the local host to the peer during multilink negotiation. for more information please refer to pppd(8). must be specified when the MULTILINK variable is set to true. no endpoint, no bundle. 🚨
  • AUTO_RECONNECT {true|false} β€” instructs the pppd instance to automatically try to reopen the terminated connection when set to true. otherwise the pppd instance exits immediately after a connection has been made and terminated. the number of attempts can be specified using the MAXFAIL variable. the delay between attempts can be specified using the AUTO_RECONNECT_DELAY variable. it's giving "i'll text back, i promise" 😭

Default: false

  • AUTO_RECONNECT_DELAY [seconds] β€” the number of seconds of delay between reconnection attempts when the AUTO_RECONNECT variable is set to true.

Default: 15

  • MAXFAIL [num] β€” the number of reconnection attempts the pppd instance makes when it's unable to establish the connection.

Default: 10

  • USERNAME [string] β€” the user name used for authenticating the local system to the peer. πŸ”
  • PASSWORD [string] β€” the user password used for authenticating the local system to the peer. πŸ” (keep it secret, keep it safe 🫢)

πŸŽ€ Example πŸŽ€

here's a simple DSL-related PPPoE interface configuration plus its corresponding provider file β€” chef's kiss example:

/etc/sysconfig/network/ifcfg-dsl0

STARTMODE='auto'
BOOTPROTO='static'
DEVICE='eth0'
PPPMODE='pppoe'
PROVIDER='provider0'

/etc/sysconfig/network/provider/provider0

PROVIDER='Provider name'
AUTODNS='false'
AUTO_RECONNECT='true'
DEFAULTROUTE='true'
DEMAND='false'
IDLETIME=''
MODIFYIP='false'
IPADDR=''
REMOTE_IPADDR=''
MODIFYDNS='false'
USERNAME='user'
PASSWORD='XXXXXXXXXX'

and now an advanced DSL-related PPPoE interface configuration plus its corresponding provider file. she leveled up πŸ’…πŸ”₯

/etc/sysconfig/network/ifcfg-dsl1

STARTMODE='auto'
BOOTPROTO='static'
DEVICE='eth1'
PPPMODE='pppoe'
PROVIDER='provider1'

/etc/sysconfig/network/provider/provider1

PROVIDER='Provider name'
AUTODNS='false'
AUTO_RECONNECT='true'
DEFAULTROUTE='true'
DEMAND='true'
IDLETIME=''
MODIFYIP='true'
IPADDR='10.0.0.1'
REMOTE_IPADDR='10.0.0.2'
MODIFYDNS='false'
USERNAME='user'
PASSWORD='XXXXXXXXXX'

⭐ Additional Information ⭐

for additional and more general information, take a look into pppd(8). or pppoe(8). (yes, both. go read, bestie πŸ“š)

Copyright (C) 2016 SUSE Linux GmbH, Nuernberg, Germany.

πŸ’€ BUGS πŸ’€

please report bugs as described at <https://bugs.opensuse.org> β€” they want the feedback, fr fr πŸ™ˆ

πŸ¦‹ AUTHOR πŸ¦‹

Pawel Wieczorkiewicz -- original ppp man page. icon. legend. the moment. 🌟

🌸 SEE ALSO 🌸

pppd(8), ifcfg(5), wicked(8), pppoe(8), netconfig(8)


πŸ’– that's the whole page, bestie. now go configure your PPP interface and slay.

wicked Β· May 2016 Β· IFCFG-PPP(5) β€” mwah, ily, go read pppd(8) next 🫢✨

πŸ“¦ where this page comes from