Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:dpi:bras_bng:bras_pppoe:start [2023/10/18 08:25] – elena.krasnobryzh | en:dpi:bras_bng:bras_pppoe:start [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== PPPoE Authorization Setup ====== | ||
- | {{indexmenu_n> | ||
- | <note tip>See also: [[https:// | ||
- | |||
- | |||
- | FastDPI BRAS supports PPPoE since 7.2 version. In order to enable the PPPoE support it is needed to: | ||
- | - [[en: | ||
- | - set in the fastdpi.conf file a number of settings: | ||
- | <code bash> | ||
- | # Enable PPPoE | ||
- | bras_pppoe_enable=1 | ||
- | # Specify maximum number of PPPoE-sessions | ||
- | # its recommended value should be 1.5 or 2 times higher than the number of PPPoE subscribers | ||
- | bras_pppoe_session=10000 | ||
- | |||
- | # IP and MAC addresses of a gateway placed behind the SSG must be properly configured | ||
- | # (subscriber -> SSG -> gateway) | ||
- | bras_gateway_ip=192.168.0.1 | ||
- | bras_gateway_mac=aa: | ||
- | </ | ||
- | |||
- | PAP, CHAP and MS-CHAPv2 authentication protocols are supported. The list of permitted authentication protocols is set by conf-option '' | ||
- | Identifiers of supported protocols: | ||
- | * 1 - [[https:// | ||
- | * 2 - [[https:// | ||
- | * 3 - [[https:// | ||
- | |||
- | All the mentioned abobe protocols, except the first one (PAP), are permitted by default: | ||
- | <code bash> | ||
- | bras_ppp_auth_list=2, | ||
- | </ | ||
- | MAC address authentication is also allowed if the following setting is set in fastdpi.conf: | ||
- | <code bash> | ||
- | bras_ppp_mac_auth=1 | ||
- | </ | ||
- | MAC address authentication is used in case the negotiation of authentication protocol is failed. | ||
- | |||
- | * [[en: | ||
- | * [[en: | ||
- | |||
- | ===== PPPoE traffic termination ===== | ||
- | During the SSG operation in PPPoE server mode ('' | ||
- | * towards LAN -> WAN: PPPoE/PPP headers are deleted from the packet, srcMAC := bras_arp_mac, | ||
- | * towards WAN -> LAN: PPPoE/PPP headers are added to the packet, srcMAC := bras_arp_mac, | ||
- | |||
- | All the [[en: | ||
- | |||
- | <note important> | ||
- | |||
- | The [[en: | ||
- | |||
- | ===== ARP handling in PPPoE ===== | ||
- | ARP-requests coming from the subscriber do not make sense in PPPoE-networks, | ||
- | |||
- | All ARP-requests in the format "Who is IP=x.x.x.x?", | ||
- | |||
- | <note important> | ||
- | |||
- | All the main functions of BRAS are supported for PPPoE sessions: | ||
- | * [[en: | ||
- | * [[en: | ||
- | |||
- | ===== PPPoE sessions recovery after DPI restart ===== | ||
- | At start, fastDPI tries to restore subscribers PPPoE sessions from UDR so that short-term service restart is seamless for subscribers. In some billing systems such restoration can lead to mismatching of sessions state in the DPI and the billing, especially if IP addresses are asiigned dynamically: | ||
- | |||
- | In fastDPI 8.3, it became possible to disable the restoration of subscribers PPPoE sessions during the restart: use '' | ||
- | |||
- | <code bash># To restore PPPoE-sessions at fastDPI start | ||
- | # 1 (default) - to restore | ||
- | # 0 - not to restore. New subscriber sessions will be created. | ||
- | # | ||
- | |||
- | You should specify '' | ||
- | |||
- | ===== Configuring Service-Name for VLAN ===== | ||
- | |||
- | <note tip> | ||
- | |||
- | The Service-Name tag is required to set the authorization procedure according to RFC requirements. The SSG fully supports this tag according to all requirements. | ||
- | |||
- | The tag indicates that the service name follows. The TAG_VALUE field is a UTF-8 character string with no terminating NULL character. The zero value of the TAG_LENGTH field is used to indicate the acceptability of any service. An example of using the Service-Name tag is to indicate ISP2 name, class, or quality of service. | ||
- | |||
- | It is managed separately for each VLAN ID. | ||
- | |||
- | You can access a quick guide to Service-Name management with the command < | ||
- | |||
- | ==== Output of group properties ==== | ||
- | Output all properties for all groups: | ||
- | <code bash> | ||
- | |||
- | Output all properties for a group with a specific ID: | ||
- | <code bash> | ||
- | |||
- | Here ID is the VLAN number for which you want to output Service-Name information. | ||
- | |||
- | **Example: | ||
- | <code bash> | ||
- | |||
- | Show PPPoE authorization policy: | ||
- | <code bash> | ||
- | |||
- | Show all protocols authorization policy: | ||
- | <code bash> | ||
- | |||
- | Show the policy for using service names for authorization using PPPoE: | ||
- | <code bash> | ||
- | |||
- | ==== Authorization permission ==== | ||
- | Enable authorization via PPPoE on a specific VLAN: | ||
- | <code bash> | ||
- | |||
- | Allow authorization via PPPoE for a specific Service-Name: | ||
- | <code bash> | ||
- | |||
- | < | ||
- | |||
- | Allow authorization via PPPoE for a specific Service-Name with a delay (measured in seconds): | ||
- | <code bash> | ||
- | |||
- | **Example: | ||
- | <code bash> | ||
- | |||
- | ==== Authorization denial ==== | ||
- | < | ||
- | |||
- | Deny authorization through PPPoE on a specific VLAN: | ||
- | <code bash> | ||
- | |||
- | Deny authorization via PPPoE for a specific Service-Name: | ||
- | <code bash> | ||
- | |||
- | **Example: | ||
- | <code bash> | ||
- | fdpi_cli vlan group 1250 deny auth pppoe | ||
- | fdpi_cli vlan group 1250 auth pppoe allow add service-name name=' | ||
- | fdpi_cli vlan group 1250 auth pppoe allow add service-name name=' | ||
- | </ | ||
- | |||
- | **Example: | ||
- | <code bash> | ||
- | fdpi_cli vlan group 350 allow auth pppoe | ||
- | fdpi_cli vlan group 350 auth pppoe deny add service-name name=' | ||
- | fdpi_cli vlan group 350 auth pppoe deny add service-name name=' | ||
- | </ | ||
- | |||
- | When introducing rules, the sequence of commands is important. For example, if you enter a general authorization prohibition after the enabling rules, authorization with any Service-Name in vlan 1250 will not be available: | ||
- | |||
- | <code bash> | ||
- | fdpi_cli vlan group 1250 auth pppoe allow add service-name name=' | ||
- | fdpi_cli vlan group 1250 auth pppoe allow add service-name name=' | ||
- | fdpi_cli vlan group 1250 deny auth pppoe | ||
- | </ | ||
- | |||
- | This restriction also applies to single prohibitions/ | ||
- | |||
- | **Example: | ||
- | <code bash> | ||
- | fdpi_cli vlan group 350 auth pppoe deny add service-name name=' | ||
- | fdpi_cli vlan group 350 auth pppoe allow add service-name name=' | ||
- | </ | ||
- | |||
- | **Example: | ||
- | <code bash> | ||
- | fdpi_cli vlan group 350 auth pppoe deny add service-name name=' | ||
- | fdpi_cli vlan group 350 auth pppoe allow add service-name name=' | ||
- | fdpi_cli vlan group 350 auth pppoe deny add service-name name=' | ||
- | </ | ||
- | |||
- | ==== Other commands ==== | ||
- | Delete Service-Name and its properties: | ||
- | <code bash> | ||
- | |||
- | Packet drop without analysis: | ||
- | <code bash> | ||
- | |||
- | Packet pass without analysis: | ||
- | <code bash> | ||
- | |||
- | Delete all rules for all started VLANs (equivalent to processing the default VLAN): | ||
- | <code bash> |