소개

이 문서에서는 Secure Firewall ASA 또는 FTD(Secure Firewall Threat Defense)에서 PPPoE 이중화(고가용성 또는 HA)의 컨피그레이션 및 검증에 대해 설명합니다.

사전 요구 사항

요구 사항

기본 제품 지식

사용되는 구성 요소

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- FMC(Secure Firewall Management Center) 버전 10.0.1에서 관리하는 FTD(Secure Firewall Threat Defense) 버전 10.0.0.

- ASA 버전 9.24.1

배경 정보

방화벽 소프트웨어는 여러 PPPoE 세션의 컨피그레이션을 지원합니다. 이 문서에서는 2개의 PPPoE 세션이 고려되며, "HA" 또는 "이중화"가 상호 교환적으로 사용됩니다.

SLA(Service Layer Agreement), 추적, 라우팅을 추적 사용자와 함께 사용하여 서로 다른 이중화 모드를 구성할 수 있습니다.

- 로드 공유를 통한 액티브-액티브 이중화

- 로드 공유 및 PPPoE 클라이언트 경로 추적을 통한 액티브-액티브 이중화

- 로드 공유 없이 액티브-스탠바이 이중화

피어 디바이스의 라우팅 컨피그레이션은 이 문서의 범위를 벗어납니다.

로드 공유를 통한 액티브-액티브 이중화

다음 예제 토폴로지를 참조하십시오.

로드 공유를 통한 액티브-액티브 이중화

요점:

- PPPoE는 외부 및 외부2 인터페이스의 방화벽에 구성됩니다.

- RTR1 및 RTR2는 PPPoE 서버입니다.

- 방화벽은 외부 인터페이스를 통해 기본 경로를 설치합니다. outside2 인터페이스를 통한 기본 경로는 라우팅 거리가 더 높습니다. 즉, 선호도가 더 낮습니다.

- 로드 공유를 달성하려면 outside2 인터페이스를 통해 특정 서브넷에 대한 고정 경로가 설치됩니다. 경로가 추적됩니다. 추적은 선택 사항입니다. 그러나 outside2 인터페이스를 통한 경로에 장애가 발생할 경우 외부 인터페이스를 통한 경로로의 장애 조치를 더 빠르게 수행합니다.

- 간소화를 위해 동적 PAT(Port Address Translation)는 외부 및 외부2 인터페이스를 통해 구성됩니다.

ASA 컨피그레이션

interface GigabitEthernet0/0

nameif outside

security-level 0

pppoe client vpdn group RTR1

ip address pppoe setroute

interface GigabitEthernet0/1

nameif outside2

security-level 0

pppoe client vpdn group RTR2

pppoe client route distance 10

ip address pppoe setroute

vpdn group RTR1 request dialout pppoe

vpdn group RTR1 localname pppoe

vpdn group RTR1 ppp authentication pap

vpdn group RTR2 request dialout pppoe

vpdn group RTR2 localname pppoe

vpdn username pppoe password *****

sla monitor 1

type echo protocol ipIcmpEcho 172.16.1.1 interface outside2

num-packets 2

timeout 5

frequency 5

sla monitor schedule 1 life forever start-time now

track 1 rtr 1 reachability

object network net-192.168.1.0

subnet 192.168.1.0 255.255.255.0

nat (inside,outside) source dynamic net-192.168.1.0 interface

nat (inside,outside2) source dynamic net-192.168.1.0 interface

route outside2 172.16.253.0 255.255.255.0 172.16.1.1 1 track 1

FTD 컨피그레이션

이 섹션에서는 FTD별 PPPoE 컨피그레이션만 다룹니다. 이는 FTD의 외부 및 외부 2 인터페이스 PPPoE 컨피그레이션과 데이터 평면에 배포된 명령을 비교한 것입니다.

fmc UI의 외부 PPPoE 인터페이스 컨피그레이션

fmc UI의 outside2 PPPoE 인터페이스 컨피그레이션

추적을 사용하는 고정 경로:

추적을 사용하는 고정 경로

SLA 모니터 개체 컨피그레이션:

SLA 컨피그레이션

요점:

- RTR1 및 RTR2는 각각 G0/0 및 G0/1 인터페이스에서 2개의 VPDN 그룹입니다.

- 트랙 1/SLA1은 RTR2에 대한 연결 가능성을 추적합니다. 트랙 개체는 outside2 인터페이스를 통해 고정 경로 컨피그레이션에서 사용됩니다.

- pppoe client route distance 10 명령은 방화벽에 RTR2에서 수신한 기본 경로에 관리 거리 10을 적용하도록 지시하므로 선호도가 떨어집니다.

- outside2 인터페이스를 통해 특정 서브넷에 대한 경로는 추적으로 구성됩니다.

- 그 결과, 두 PPPoE 세션이 모두 활성화되고 PC의 트래픽은 라우팅 컨피그레이션에 따라 로드 공유됩니다.

확인

1. 외부 인터페이스를 통해 RTR1과의 PPPoE 세션이 설정됩니다.

firewall# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=2 sessions=1)

SessID TunID Intf     State       Last Chg

23      5 outside2   PADI_SENT  225 secs

14      4 outside  SESSION_UP  150 secs

firewall# show vpdn pppinterface

PPP virtual interface id = 1

PPP authentication protocol is PAP

Server ip address is 10.10.1.1

Our ip address is 10.10.1.10

Transmitted Pkts: 33, Received Pkts: 33, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

PPP virtual interface id = 2 was deleted and pending reuse

firewall# show route

…

S*       0.0.0.0 0.0.0.0 [1/0] via 10.10.1.1, outside

C        192.168.1.0 255.255.255.0 is directly connected, inside

L        192.168.1.1 255.255.255.255 is directly connected, inside

Syslog:

Mar 15 2026 20:23:26: %ASA-6-305009: Built static translation from outside:0.0.0.0 to inside:0.0.0.0

Mar 15 2026 20:23:26: %ASA-6-603108: Built PPPOE Tunnel, tunnel_id = 4, remote_peer_ip = 10.10.1.1, ppp_virtual_interface_id = 1, client_dynamic_ip = 10.10.1.10, username = pppoe

Mar 15 2026 20:23:26: %ASA-6-317077: Added STATIC route 0.0.0.0 0.0.0.0 via 10.10.1.1 [1/0] on [outside] [G0/0] tableid [0

2. outside2 인터페이스를 통해 RTR2와의 PPPoE 세션이 설정되었습니다.

firewall# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=2 sessions=2)

SessID TunID Intf     State       Last Chg

24      5 outside2  SESSION_UP  76 secs

14      4 outside  SESSION_UP  349 secs

firewall# show vpdn pppinterface

PPP virtual interface id = 1

PPP authentication protocol is PAP

Server ip address is 10.10.1.1

Our ip address is 10.10.1.10

Transmitted Pkts: 67, Received Pkts: 67, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

PPP virtual interface id = 2

PPP authentication protocol is PAP

Server ip address is 172.16.1.1

Our ip address is 172.16.1.10

Transmitted Pkts: 54, Received Pkts: 54, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

firewall# show route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

…

S*       0.0.0.0 0.0.0.0 [1/0] via 10.10.1.1, outside

S        172.16.253.0 255.255.255.0 [1/0] via 172.16.1.1, outside2

C        192.168.1.0 255.255.255.0 is directly connected, inside

L        192.168.1.1 255.255.255.255 is directly connected, inside

Syslog:

Mar 15 2026 20:27:59: %ASA-6-317077: Added STATIC route 0.0.0.0 0.0.0.0 via 0.0.0.0 [10/0] on [outside2] [G0/1] tableid [0]

Mar 15 2026 20:27:59: %ASA-6-305009: Built static translation from outside2:0.0.0.0 to inside:0.0.0.0

Mar 15 2026 20:27:59: %ASA-6-603108: Built PPPOE Tunnel, tunnel_id = 5, remote_peer_ip = 172.16.1.1, ppp_virtual_interface_id = 2, client_dynamic_ip = 172.16.1.10, username = pppoe

Mar 15 2026 20:27:59: %ASA-6-305010: Teardown static translation from outside2:0.0.0.0 to inside:0.0.0.0 duration 0:06:08

Mar 15 2026 20:28:04: %ASA-6-622001: Adding tracked route 172.16.253.0 255.255.255.0 172.16.1.1, distance 1, table default, on interface outside2

Mar 15 2026 20:28:04: %ASA-6-317077: Added STATIC route 172.16.253.0 255.255.255.0 via 172.16.1.1 [1/0] on [outside2] [G0/1] tableid [0]

3. PC IP 주소 192.168.1.2에서 10.10.253.2 및 172.16.253.2로의 패킷이 전송됩니다. PAT로 인해 는 capo 및 capo2를 캡처하여 이그레스 인터페이스 IP 주소(매핑된 주소)를 표시합니다.

Mar 14 2026 23:13:13: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2668 to outside:10.10.1.10/2668

Mar 14 2026 23:13:19: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2669 to outside2:172.16.1.10/2669

firewall# show cap

capture capo type raw-data interface outside [Capturing - 456 bytes]

match icmp any host 10.10.253.2

capture capo2 type raw-data interface outside2 [Capturing - 456 bytes]

match icmp any host 172.16.253.2

firewall# show cap capo

4 packets captured

1: 23:13:13.409387       10.10.1.10 > 10.10.253.2 icmp: echo request

2: 23:13:13.417764       10.10.253.2 > 10.10.1.10 icmp: echo reply

3: 23:13:14.409799       10.10.1.10 > 10.10.253.2 icmp: echo request

4: 23:13:14.415978       10.10.253.2 > 10.10.1.10 icmp: echo reply

4 packets shown

firewall# show cap capo2

4 packets captured

1: 23:13:19.500584       172.16.1.10 > 172.16.253.2 icmp: echo request

2: 23:13:19.506321       172.16.253.2 > 172.16.1.10 icmp: echo reply

3: 23:13:20.502201       172.16.1.10 > 172.16.253.2 icmp: echo request

4: 23:13:20.508076       172.16.253.2 > 172.16.1.10 icmp: echo reply

4. RTR1에서 원격 링크 오류를 시뮬레이션합니다. 외부2 인터페이스를 통해 백업 경로로 페일오버하는 데 약 1분이 소요됩니다.

RTR1:

Mar 15 20:43:19.679: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to down

방화벽:

Mar 15 2026 20:44:17: %ASA-3-403503: PPPoE:PPP link down:

Mar 15 2026 20:44:17: %ASA-3-403503: PPPoE:PPP link down:Peer not responding

Mar 15 2026 20:44:17: %ASA-3-403503: PPPoE:PPP link down:

Mar 15 2026 20:44:17: %ASA-3-403503: PPPoE:PPP link down:LCP down

Mar 15 2026 20:44:17: %ASA-6-603109: Teardown PPPOE Tunnel, tunnel_id = 4, remote_peer_ip = 10.10.1.1

Mar 15 2026 20:44:17: %ASA-6-305009: Built static translation from outside:0.0.0.0 to inside:0.0.0.0

Mar 15 2026 20:44:17: %ASA-6-317078: Deleted STATIC route 0.0.0.0 0.0.0.0 via 10.10.1.1 [1/0] on [outside] [G0/0] tableid [0]

Mar 15 2026 20:44:17: %ASA-7-110007: Del Entry:0.0.0.0/0.0.0.0 nh:10.10.1.1 nh_cnt:1 flags:0 timestamp:147 resolver_cnt:0 ifcout:outside result:1 incr_ts:1 vrfid:65535

Mar 15 2026 20:44:17: %ASA-6-317077: Added STATIC route 0.0.0.0 0.0.0.0 via 172.16.1.1 [10/0] on [outside2] [G0/1] tableid [0]

Mar 15 2026 20:44:17: %ASA-7-110006: Add Entry:0.0.0.0/0.0.0.0 nh:172.16.1.1 nh_cnt:1 flags:0 timestamp:151 resolver_cnt:0 ifcout:outside2 vrfid:1644313584 handle:103727 table:output route

Mar 15 2026 20:44:17: %ASA-6-305010: Teardown static translation from outside:0.0.0.0 to inside:0.0.0.0 duration 0:02:45

firewall# show route

…

S*       0.0.0.0 0.0.0.0 [10/0] via 172.16.1.1, outside2

로드 공유 및 PPPoE 클라이언트 경로 추적을 통한 액티브-액티브 이중화

이 경우 로드 공유를 사용하는 액티브-액티브 이중화를 기반으로 하며, FlexConfig를 사용하여 외부 인터페이스 아래에 추가 track 및 pppoe client route track x 명령을 구축해야 합니다.

다음 예제 토폴로지를 참조하십시오.

로드 공유 및 PPPoE 클라이언트 경로 추적을 통한 액티브-액티브 이중화

요점:

- PPPoE는 외부 및 외부2 인터페이스의 방화벽에 구성됩니다.

- RTR1 및 RTR2는 PPPoE 서버입니다.

- route-distance를 사용하면 방화벽이 외부 인터페이스를 통해 기본 경로를 설치합니다. outside2 인터페이스를 통한 기본 경로는 더 높은 라우팅 거리를 가지며 선호도가 낮습니다.

- 외부 인터페이스를 통해 RTR1에 대한 기본 경로가 추적됩니다. 선택 사항이지만 SLA 빈도 및 시간 제한 값에 따라 RTR2를 통해 경로에 대한 신속한 페일오버를 제공할 수 있습니다.

- 로드 공유를 달성하려면 outside2 인터페이스를 통해 특정 서브넷에 대한 고정 경로가 설치됩니다. 경로가 추적됩니다. 추적은 선택 사항입니다. 그러나 RTR1을 통해 경로로 신속하게 페일오버할 수 있습니다.

- 간소화를 위해 동적 PAT(Port Address Translation)는 외부 및 외부2 인터페이스를 통해 구성됩니다.

ASA 컨피그레이션

interface GigabitEthernet0/0

nameif outside

security-level 0

pppoe client vpdn group RTR1

pppoe client route track 2

ip address pppoe setroute

interface GigabitEthernet0/1

nameif outside2

security-level 0

pppoe client vpdn group RTR2

pppoe client route distance 10

ip address pppoe setroute

vpdn group RTR1 request dialout pppoe

vpdn group RTR1 localname pppoe

vpdn group RTR1 ppp authentication pap

vpdn group RTR2 request dialout pppoe

vpdn group RTR2 localname pppoe

vpdn username pppoe password *****

sla monitor 2

type echo protocol ipIcmpEcho 10.10.1.1 interface outside

num-packets 2

timeout 5

frequency 5

sla monitor schedule 2 life forever start-time now

sla monitor 1

type echo protocol ipIcmpEcho 172.16.1.1 interface outside2

num-packets 2

timeout 5

frequency 5

sla monitor schedule 1 life forever start-time now

track 1 rtr 1 reachability

track 2 rtr 2 reachability

object network net-192.168.1.0

subnet 192.168.1.0 255.255.255.0

nat (inside,outside) source dynamic net-192.168.1.0 interface

nat (inside,outside2) source dynamic net-192.168.1.0 interface

route outside2 172.16.253.0 255.255.255.0 172.16.1.1 1 track 1

FTD 컨피그레이션

이 섹션에서는 FTD별 PPPoE 컨피그레이션만 다룹니다. 컨피그레이션 단계는 외부 인터페이스 아래에 pppoe 클라이언트 route track x 명령 구축을 추가하여 "로드 공유가 포함된 활성-활성 이중화" 섹션의 FTD 컨피그레이션과 동일합니다. FMC UI는 기본적으로 클라이언트 옵션에 대한 트랙을 지원하지 않으므로 FlexConfig를 사용해야 합니다.

다음 사항을 고려해야 합니다.

1. FlexConfig 정책에 의도적으로 광범위한 입력 검증이 포함되어 있지 않습니다. 이 FlexConfig 정책의 구성이 올바른지 확인해야 합니다. 컨피그레이션이 잘못되면 구축에 실패하여 네트워크 중단이 발생할 수 있습니다. 또한 FlexConfig 변경만 포함하고 다른 정책 업데이트는 포함되지 않도록 구축을 격리하는 것도 고려하십시오.

2. 구축 과정에서 FMC가 모든 트랙 x를 제거합니다. FlexConfig에서 배포한 명령입니다. 지속성을 유지하려면 FlexConfig 개체의 배포를 Everytime으로 설정하고 별도의 FlexConfig 개체에서 배포해야 합니다.

FlexConfig 컨피그레이션 단계

1. 외부 인터페이스에 대한 SLA 및 PPPoE 클라이언트 컨피그레이션의 컨피그레이션을 위한 FlexConfig 개체를 생성합니다. Deployment를 Once로 설정하고 Type을 Append로 설정해야 합니다. 이 예에서는 track 2, SLA 2가 사용됩니다. track 2 rtr 2 도달 가능성명령이 누락되었습니다.

SLA용 FlexConfig

2. 트랙 2 rtr 2 연결 명령 구성에 대한 다른 FlexConfig 개체를 만듭니다. Deployment를 Everytime으로 설정하고 Type을 Append로 설정해야 합니다.

트랙용 FlexConfig

3. FlexConfig 정책에 개체를 추가합니다. 맨 아래(마지막)에 track 2 rtr 2 reachability 명령이 있는 객체를 확인하고 정책을 배포합니다.

FlexConfig 정책

요점:

- RTR1 및 RTR2는 각각 G0/0 및 G0/1 인터페이스에서 2개의 VPDN 그룹입니다.

- Track 2/SLA2는 RTR1에 대한 연결 가능성을 추적합니다. pppoe client route track 2 명령은 트랙 2가 작동 중인 경우 외부 인터페이스를 통해 기본 경로를 설치하도록 방화벽에 지시합니다.

- 트랙 1/SLA1은 RTR2에 대한 연결 가능성을 추적합니다. 트랙 개체는 outside2 인터페이스를 통해 고정 경로 컨피그레이션에서 사용됩니다.

- pppoe client route distance 10 명령은 방화벽에 RTR2에서 수신한 기본 경로에 관리 거리 10을 적용하도록 지시하므로 선호도가 떨어집니다.

- outside2 인터페이스를 통해 특정 서브넷에 대한 경로는 추적으로 구성됩니다.

- 그 결과, 두 PPPoE 세션이 모두 활성화되고 PC의 트래픽은 라우팅 컨피그레이션에 따라 로드 공유됩니다.

확인

1. 외부 인터페이스를 통해 RTR1과의 PPPoE 세션이 설정되었습니다.

firewall# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=2 sessions=1)

SessID TunID Intf     State       Last Chg

12      3 outside  SESSION_UP  80 secs

12      4 outside2   PADI_SENT  74 secs

firewall# show vpdn pppinterface

PPP virtual interface id = 1

PPP authentication protocol is PAP

Server ip address is 10.10.1.1

Our ip address is 10.10.1.10

Transmitted Pkts: 71, Received Pkts: 71, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

PPP virtual interface id = 2 was deleted and pending reuse

firewall# show route

…

S*       0.0.0.0 0.0.0.0 [1/0] via 10.10.1.1, outside

C        192.168.1.0 255.255.255.0 is directly connected, inside

L        192.168.1.1 255.255.255.255 is directly connected, inside

Syslog:

Mar 14 2026 22:54:46: %ASA-4-411001: Line protocol on Interface GigabitEthernet0/0, changed state to up

Mar 14 2026 22:54:50: %ASA-6-305009: Built static translation from outside:0.0.0.0 to inside:0.0.0.0

Mar 14 2026 22:54:50: %ASA-6-603108: Built PPPOE Tunnel, tunnel_id = 3, remote_peer_ip = 10.10.1.1, ppp_virtual_interface_id = 1, client_dynamic_ip = 10.10.1.10, username = pppoe

Mar 14 2026 22:54:51: %ASA-6-305010: Teardown static translation from outside:0.0.0.0 to inside:0.0.0.0 duration 0:00:25

Mar 14 2026 22:54:52: %ASA-6-622001: Adding tracked route 0.0.0.0 0.0.0.0 10.10.1.1, distance 1, table default, on interface outside

Mar 14 2026 22:54:52: %ASA-6-317077: Added STATIC route 0.0.0.0 0.0.0.0 via 10.10.1.1 [1/0] on [outside] [Gi0/0] tableid [0]

Mar 14 2026 22:54:52: %ASA-7-110006: Add Entry:0.0.0.0/0.0.0.0 nh:10.10.1.1 nh_cnt:1 flags:0 timestamp:328 resolver_cnt:0 ifcout:outside vrfid:0 handle:444749 table:output route

2. outside2 인터페이스를 통해 RTR2와의 PPPoE 세션이 설정되었습니다.

firewall# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=2 sessions=2)

SessID TunID Intf     State       Last Chg

12      3 outside  SESSION_UP  412 secs

13      4 outside2  SESSION_UP  89 secs

firewall# show vpdn pppinterface

PPP virtual interface id = 1

PPP authentication protocol is PAP

Server ip address is 10.10.1.1

Our ip address is 10.10.1.10

Transmitted Pkts: 238, Received Pkts: 238, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

PPP virtual interface id = 2

PPP authentication protocol is PAP

Server ip address is 172.16.1.1

Our ip address is 172.16.1.10

Transmitted Pkts: 56, Received Pkts: 56, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

firewall# show route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

SI - Static InterVRF, BI - BGP InterVRF

Gateway of last resort is 10.10.1.1 to network 0.0.0.0

S*       0.0.0.0 0.0.0.0 [1/0] via 10.10.1.1, outside

C        192.168.1.0 255.255.255.0 is directly connected, inside

L        192.168.1.1 255.255.255.255 is directly connected, inside

S        172.16.253.0 255.255.255.0 [1/0] via 172.16.1.1, outside2

Syslog:

Mar 14 2026 22:59:45: %ASA-4-411001: Line protocol on Interface GigabitEthernet0/1, changed state to up

Mar 14 2026 23:00:13: %ASA-6-603108: Built PPPOE Tunnel, tunnel_id = 4, remote_peer_ip = 172.16.1.1, ppp_virtual_interface_id = 2, client_dynamic_ip = 172.16.1.10, username = pppoe

Mar 14 2026 23:00:14: %ASA-6-305010: Teardown static translation from outside2:0.0.0.0 to inside:0.0.0.0 duration 0:25:25

Mar 14 2026 23:00:18: %ASA-6-622001: Adding tracked route 172.16.253.0 255.255.255.0 172.16.1.1, distance 1, table default, on interface outside2

Mar 14 2026 23:00:18: %ASA-6-317077: Added STATIC route 172.16.253.0 255.255.255.0 via 172.16.1.1 [1/0] on [outside2] [Gi0/1] tableid [0]

Mar 14 2026 23:00:18: %ASA-7-110006: Add Entry:172.16.253.0/255.255.255.0 nh:172.16.1.1 nh_cnt:1 flags:0 timestamp:339 resolver_cnt:0 ifcout:outside2 vrfid:0 handle:458877 table:output route

3. PC IP 주소 192.168.1.2에서 10.10.253.2 및 172.16.253.2로의 패킷이 전송됩니다. PAT로 인해 는 capo 및 capo2를 캡처하여 이그레스 인터페이스 IP 주소(매핑된 주소)를 표시합니다.

Mar 14 2026 23:13:13: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2668 to outside:10.10.1.10/2668

Mar 14 2026 23:13:19: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2669 to outside2:172.16.1.10/2669

firewall# show cap

capture capo type raw-data interface outside [Capturing - 456 bytes]

match icmp any host 10.10.253.2

capture capo2 type raw-data interface outside2 [Capturing - 456 bytes]

match icmp any host 172.16.253.2

firewall# show cap capo

4 packets captured

1: 23:13:13.409387       10.10.1.10 > 10.10.253.2 icmp: echo request

2: 23:13:13.417764       10.10.253.2 > 10.10.1.10 icmp: echo reply

3: 23:13:14.409799       10.10.1.10 > 10.10.253.2 icmp: echo request

4: 23:13:14.415978       10.10.253.2 > 10.10.1.10 icmp: echo reply

4 packets shown

firewall# show cap capo2

4 packets captured

1: 23:13:19.500584       172.16.1.10 > 172.16.253.2 icmp: echo request

2: 23:13:19.506321       172.16.253.2 > 172.16.1.10 icmp: echo reply

3: 23:13:20.502201       172.16.1.10 > 172.16.253.2 icmp: echo request

4: 23:13:20.508076       172.16.253.2 > 172.16.1.10 icmp: echo reply

4. RTR1에서 원격 링크 오류를 시뮬레이션합니다. 외부2 인터페이스를 통해 백업 경로로 페일오버하는 방법은 track1의 타이머에 따라 다릅니다.

RTR1:

Mar 15 21:06:11.608: %LINEPROTO-5-UPDOWN: Line protocol on Interface TenGigabitEthernet0/0/0, changed state to down

방화벽:

Mar 15 2026 21:06:14: %ASA-3-317012: Interface IP route counter negative - Ethernet1/2

Mar 15 2026 21:06:14: %ASA-6-622001: Removing tracked route 0.0.0.0 0.0.0.0 10.10.1.1, distance 1, table default, on interface outside

Mar 15 2026 21:06:14: %ASA-6-317078: Deleted STATIC route 0.0.0.0 0.0.0.0 via 10.10.1.1 [1/0] on [outside] [E1/2] tableid [0]

Mar 15 2026 21:06:14: %ASA-7-110007: Del Entry:0.0.0.0/0.0.0.0 nh:10.10.1.1 nh_cnt:1 flags:0 timestamp:199 resolver_cnt:0 ifcout:outside result:1 incr_ts:1 vrfid:0

Mar 15 2026 21:06:14: %ASA-6-317077: Added STATIC route 0.0.0.0 0.0.0.0 via 172.16.1.1 [10/0] on [outside2] [E1/3] tableid [0]

Mar 15 2026 21:06:14: %ASA-7-110006: Add Entry:0.0.0.0/0.0.0.0 nh:172.16.1.1 nh_cnt:1 flags:0 timestamp:203 resolver_cnt:0 ifcout:outside2 vrfid:1512689936 handle:117182335 table:output route

KSEC-CSF1210-1# show route

…

S*       0.0.0.0 0.0.0.0 [10/0] via 172.16.1.1, outside2

참고:

라우팅의 변경 사항은 기존 연결에 적용되지 않습니다. 따라서 더 나은 경로를 사용할 수 있게 되더라도 기존 연결에서는 "기존" 경로를 계속 사용합니다. 결과적으로 라우팅 변경 후 영향을 미칠 수 있습니다. 방화벽에서 새 경로를 사용하도록 지시하려면 floating conn 타이머를 활성화하는 것이 좋습니다.  floating-conn 시간 초과가 활성화되고 0이 아닌 값으로 설정된 경우 더 나은 경로를 사용할 수 있게 되면 이 시간 초과로 연결이 닫힐 수 있으므로 더 나은 경로를 사용하도록 연결을 다시 설정할 수 있습니다. https://www.cisco.com/c/en/us/td/docs/security/asa/asa-cli-reference/T-Z/asa-command-ref-T-Z/m_ta-tk.html의 floating-conn에 대한 설명을 참조하십시오.

로드 공유 없는 액티브-스탠바이 이중화

이 경우 1개의 PPPoE 세션만 활성 상태이고, 다른 세션은 활성 세션의 트랙이 중단될 때까지 비활성 상태입니다.

명령 pppoe client secondary track x는 outside2 (백업) 인터페이스에 사용됩니다.

다음 예제 토폴로지를 참조하십시오.

활성 대기 토폴로지

요점:

- PPPoE는 방화벽 G0/0 및 G0/1 인터페이스에 구성됩니다.

- RTR1 및 RTR2는 PPPoE 서버입니다.

- route-distance를 사용하면 방화벽은 외부 인터페이스를 통해 RTR1에 대한 기본 경로를 설치합니다. RTR2에 대한 기본 경로는 라우팅 거리가 더 크고 선호도가 더 낮습니다.

- 외부 인터페이스를 통해 RTR1에 대한 기본 경로가 추적됩니다. 선택 사항이지만 RTR2를 통해 경로에 대한 장애 조치를 더 빠르게 수행합니다.

- outside2 인터페이스를 통한 RTR2에 대한 PPPoE 세션은 외부 인터페이스를 통한 RTR1에 대한 기본 경로에 사용된 트랙이 다운된 경우에만 설정됩니다.

- 지정된 시간에 1개의 PPPoE 세션만 활성 상태입니다.

- 간소화를 위해 동적 PAT(Port Address Translation)는 외부 및 외부2 인터페이스를 통해 구성됩니다.

ASA 컨피그레이션

interface GigabitEthernet0/0

nameif outside

security-level 0

pppoe client vpdn group RTR1

pppoe client route track 2

ip address pppoe setroute

interface GigabitEthernet0/1

nameif outside2

security-level 0

pppoe client vpdn group RTR2

pppoe client route distance 10

pppoe client secondary track 2

ip address pppoe setroute

vpdn group RTR1 request dialout pppoe

vpdn group RTR1 localname pppoe

vpdn group RTR1 ppp authentication pap

vpdn group RTR2 request dialout pppoe

vpdn group RTR2 localname pppoe

vpdn username pppoe password *****

sla monitor 2

type echo protocol ipIcmpEcho 10.10.1.1 interface outside

num-packets 2

timeout 5

frequency 5

sla monitor schedule 2 life forever start-time now

track 2 rtr 2 reachability

object network net-192.168.1.0

subnet 192.168.1.0 255.255.255.0

nat (inside,outside) source dynamic net-192.168.1.0 interface

nat (inside,outside2) source dynamic net-192.168.1.0 interface

FTD 컨피그레이션

이 섹션에서는 외부2(백업) 인터페이스에 대한 pppoe 클라이언트 보조 트랙 x 명령의 컨피그레이션에 대해 설명합니다. FMC UI는 기본적으로 클라이언트 옵션에 대한 트랙을 지원하지 않으므로 FlexConfig를 사용해야 합니다.

PPPoE 컨피그레이션, 라우팅 등을 포함한 나머지 컨피그레이션을 구성해야 합니다.

다음 사항을 고려해야 합니다.

1. FlexConfig 정책에는 광범위한 입력 검증이 의도적으로 포함되어 있지 않습니다. 이 FlexConfig 정책의 구성이 올바른지 확인해야 합니다. 컨피그레이션이 잘못되면 구축에 실패하여 네트워크 중단이 발생할 수 있습니다. 또한 FlexConfig 변경만 포함하고 다른 정책 업데이트는 포함되지 않도록 구축을 격리하는 것도 고려하십시오.

2. 구축 과정에서 FMC는 트랙 x를 제거합니다. FlexConfig에서 배포한 명령입니다. 지속성을 유지하려면 FlexConfig 개체의 배포를 Everytime으로 설정하고 별도의 FlexConfig 개체에서 배포해야 합니다.

FlexConfig 컨피그레이션 단계

1. 외부2(백업) 인터페이스에 대한 SLA 및 PPPoE 클라이언트 컨피그레이션의 컨피그레이션을 위한 FlexConfig 개체를 만듭니다. Deployment를 Once로 설정하고 Type을 Append로 설정합니다. 이 예에서는 트랙 2, SLA 2가 사용됩니다. track 2 rtr 2 reachability 명령이 없습니다.

SLA용 FlexConfig

2. 트랙 2 rtr 2 연결 명령 구성에 대한 다른 FlexConfig 개체를 만듭니다. Deployment를 Everytime으로 설정하고 Type을 Append로 설정해야 합니다.

트랙용 FlexConfig

3. FlexConfig 정책에 개체를 추가합니다. 맨 아래(마지막)에 track 2 rtr 2 reachability 명령이 있는 객체를 확인하고 정책을 배포합니다.

FlexConfig 정책

요점:

- G0/1 인터페이스의 pppoe client secondary track 2 명령은 track 2가 실패하는 경우에만 방화벽에 G0/1 인터페이스를 통해 PPPoE 세션을 활성화하도록 지시합니다. 주 경로를 통한 연결성을 추적하는 트랙 2의 장애가 효과적으로 백업 경로를 활성화합니다.

- 그 결과, 지정된 시간에 단 1개의 PPPoE 세션만 활성화됩니다.

확인

1. 외부 인터페이스를 통한 RTR1과의 PPPoE 세션이 이미 설정되었습니다. 백업 세션이 유휴 상태입니다.

firewall# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=1 sessions=1)

SessID TunID Intf     State       Last Chg

13      3 outside  SESSION_UP  72 secs

firewall# show vpdn pppinterface

PPP virtual interface id = 1

PPP authentication protocol is PAP

Server ip address is 10.10.1.1

Our ip address is 10.10.1.10

Transmitted Pkts: 60, Received Pkts: 60, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

PPP virtual interface id = 2 was deleted and pending reuse

2. 외부 인터페이스를 통해 RTR1에 대한 PPPoE 세션이 실패합니다(예: 물리적 인터페이스 또는 링크 오류). outside2 인터페이스를 통해 RTR2에 대한 PPPoE 세션이 설정됩니다.

Syslog:

Mar 14 2026 23:40:50: %ASA-3-403503: PPPoE:PPP link down:Peer not responding

Mar 14 2026 23:40:50: %ASA-3-403503: PPPoE:PPP link down:

Mar 14 2026 23:40:50: %ASA-3-403503: PPPoE:PPP link down:LCP down

Mar 14 2026 23:40:50: %ASA-6-603109: Teardown PPPOE Tunnel, tunnel_id = 3, remote_peer_ip = 10.10.1.1

Mar 14 2026 23:40:50: %ASA-6-305009: Built static translation from outside:0.0.0.0 to inside:0.0.0.0

Mar 14 2026 23:39:44: %ASA-4-411002: Line protocol on Interface GigabitEthernet0/0, changed state to down

Mar 14 2026 23:39:44: %ASA-7-713906: IKE Receiver: Interface 3(outside) going down

Mar 14 2026 23:39:44: %ASA-3-317012: Interface IP route counter negative - GigabitEthernet0/0

Mar 14 2026 23:39:44: %ASA-6-317078: Deleted STATIC route 0.0.0.0 0.0.0.0 via 10.10.1.1 [1/0] on [outside] [Gi0/0] tableid [0]

Mar 14 2026 23:39:44: %ASA-7-110007: Del Entry:0.0.0.0/0.0.0.0 nh:10.10.1.1 nh_cnt:1 flags:0 timestamp:451 resolver_cnt:0 ifcout:outside result:1 incr_ts:1 vrfid:0

Mar 14 2026 23:39:48: %ASA-6-622001: Removing tracked route 0.0.0.0 0.0.0.0 10.10.1.1, distance 1, table default, on interface outside

Mar 14 2026 23:39:48: %ASA-6-305009: Built static translation from outside2:0.0.0.0 to inside:0.0.0.0

Mar 14 2026 23:39:48: %ASA-6-603108: Built PPPOE Tunnel, tunnel_id = 4, remote_peer_ip = 172.16.1.1, ppp_virtual_interface_id = 2, client_dynamic_ip = 172.16.1.10, username = pppoe

Mar 14 2026 23:39:48: %ASA-6-317078: Deleted CONNECTED route 172.16.1.10 255.255.255.255 via 0.0.0.0 [0/0] on [outside2] [Gi0/1] tableid [0]

Mar 14 2026 23:39:48: %ASA-6-317077: Added STATIC route 0.0.0.0 0.0.0.0 via 172.16.1.1 [10/0] on [outside2] [Gi0/1] tableid [0]

Mar 14 2026 23:39:48: %ASA-7-110006: Add Entry:0.0.0.0/0.0.0.0 nh:172.16.1.1 nh_cnt:1 flags:0 timestamp:459 resolver_cnt:0 ifcout:outside2 vrfid:0 handle:610419 table:output route

firewall# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=2 sessions=1)

SessID TunID Intf     State       Last Chg

13      3 outside   PADI_SENT  0 secs

14      4 outside2  SESSION_UP  82 secs

firewall# show vpdn pppinterface

PPP virtual interface id = 1 was deleted and pending reuse

PPP virtual interface id = 2

PPP authentication protocol is PAP

Server ip address is 172.16.1.1

Our ip address is 172.16.1.10

Transmitted Pkts: 56, Received Pkts: 56, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

firewall# show route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, + - replicated route

SI - Static InterVRF, BI - BGP InterVRF

Gateway of last resort is 172.16.1.1 to network 0.0.0.0

S*       0.0.0.0 0.0.0.0 [10/0] via 172.16.1.1, outside2

S        172.16.253.0 255.255.255.0 [1/0] via 172.16.1.1, outside2

C        192.168.1.0 255.255.255.0 is directly connected, inside

L        192.168.1.1 255.255.255.255 is directly connected, inside

3. PC IP 주소 192.168.1.2에서 10.10.253.2 및 172.16.253.2로의 패킷이 전송됩니다. 기본 경로의 장애로 인해 모든 패킷이 outside2 인터페이스를 통해 전송됩니다. 또한 PAT로 인해 capture capo2는 이그레스 인터페이스 IP 주소(매핑된 주소)를 표시합니다.

Mar 14 2026 23:46:07: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2677 to outside2:172.16.1.10/2677

Mar 14 2026 23:46:09: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2678 to outside2:172.16.1.10/2678

firewall# show cap

capture capo type raw-data interface outside [Capturing - 0 bytes]

match icmp any host 10.10.253.2

capture capo2 type raw-data interface outside2 [Capturing - 912 bytes]

match icmp any host 172.16.253.2

match icmp any host 10.10.253.2

firewall# show cap capo2

8 packets captured

1: 23:46:07.533694       172.16.1.10 > 172.16.253.2 icmp: echo request

2: 23:46:07.541842       172.16.253.2 > 172.16.1.10 icmp: echo reply

3: 23:46:08.534075       172.16.1.10 > 172.16.253.2 icmp: echo request

4: 23:46:08.540621       172.16.253.2 > 172.16.1.10 icmp: echo reply

5: 23:46:09.773031       172.16.1.10 > 10.10.253.2 icmp: echo request

6: 23:46:09.780034       10.10.253.2 > 172.16.1.10 icmp: echo reply

7: 23:46:10.773946       172.16.1.10 > 10.10.253.2 icmp: echo request

8: 23:46:10.778569       10.10.253.2 > 172.16.1.10 icmp: echo reply

4. 외부 인터페이스를 통한 경로가 복구되고 RTR1에 대한 PPPoE 세션이 다시 설정됩니다. outside2 인터페이스를 통한 세션은 보류 중인 재사용 상태로 전환됩니다.

firewall# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=1 sessions=1)

SessID TunID Intf     State       Last Chg

17      3 outside  SESSION_UP  89 secs

firewall# show vpdn pppinterface

PPP virtual interface id = 1

PPP authentication protocol is PAP

Server ip address is 10.10.1.1

Our ip address is 10.10.1.10

Transmitted Pkts: 58, Received Pkts: 58, Error Pkts: 0

MPPE key strength is None

MPPE_Encrypt_Pkts: 0,  MPPE_Encrypt_Bytes: 0

MPPE_Decrypt_Pkts: 0,  MPPE_Decrypt_Bytes: 0

Rcvd_Out_Of_Seq_MPPE_Pkts: 0

PPP virtual interface id = 2 was deleted and pending reuse

firewall# show route

...

S*       0.0.0.0 0.0.0.0 [1/0] via 10.10.1.1, outside

C        192.168.1.0 255.255.255.0 is directly connected, inside

L        192.168.1.1 255.255.255.255 is directly connected, inside

Syslog:

Mar 15 2026 00:04:36: %ASA-4-411001: Line protocol on Interface GigabitEthernet0/0, changed state to up

Mar 15 2026 00:05:27: %ASA-6-603108: Built PPPOE Tunnel, tunnel_id = 3, remote_peer_ip = 10.10.1.1, ppp_virtual_interface_id = 1, client_dynamic_ip = 10.10.1.10, username = pppoe

Mar 15 2026 00:05:35: %ASA-6-622001: Adding tracked route 0.0.0.0 0.0.0.0 10.10.1.1, distance 1, table default, on interface outside

Mar 15 2026 00:05:35: %ASA-6-603109: Teardown PPPOE Tunnel, tunnel_id = 4, remote_peer_ip = 172.16.1.1

Mar 15 2026 00:05:40: %ASA-6-622001: Removing tracked route 172.16.253.0 255.255.255.0 172.16.1.1, distance 1, table default, on interface outside2

Mar 15 2026 00:05:40: %ASA-6-317078: Deleted STATIC route 172.16.253.0 255.255.255.0 via 172.16.1.1 [1/0] on [outside2] [Gi0/1] tableid [0]

5. PC IP 주소 192.168.1.2~10.10.253.2 및 172.16.253.2의 패킷은 외부 인터페이스(주 경로)를 통해 전송됩니다. 또한 PAT로 인해 캡처 capo는 이그레스 인터페이스 IP 주소(매핑된 주소)를 표시합니다.

Mar 15 2026 00:17:27: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2685 to outside:10.10.1.10/2685

Mar 15 2026 00:17:29: %ASA-6-305011: Built dynamic ICMP translation from inside:192.168.1.2/2686 to outside:10.10.1.10/2686

firewall# show capture

capture capo type raw-data interface outside [Capturing - 912 bytes]

match icmp any host 10.10.253.2

match icmp any host 172.16.253.2

capture capo2 type raw-data interface outside2 [Capturing - 0 bytes]

match icmp any host 172.16.253.2

match icmp any host 10.10.253.2

firewall# show capture  capo

8 packets captured

1: 00:17:27.680247       10.10.1.10 > 10.10.253.2 icmp: echo request

2: 00:17:27.688761       10.10.253.2 > 10.10.1.10 icmp: echo reply

3: 00:17:28.680415       10.10.1.10 > 10.10.253.2 icmp: echo request

4: 00:17:28.683405       10.10.253.2 > 10.10.1.10 icmp: echo reply

5: 00:17:29.732673       10.10.1.10 > 172.16.253.2 icmp: echo request

6: 00:17:29.739799       172.16.253.2 > 10.10.1.10 icmp: echo reply

7: 00:17:30.732979       10.10.1.10 > 172.16.253.2 icmp: echo request

8: 00:17:30.736656       172.16.253.2 > 10.10.1.10 icmp: echo reply

8 packets shown

참고:

라우팅의 변경 사항은 기존 연결에 적용되지 않습니다. 따라서 더 나은 경로를 사용할 수 있게 되더라도 기존 연결에서는 "기존" 경로를 계속 사용합니다. 결과적으로 라우팅 변경 후 영향을 미칠 수 있습니다. 방화벽에서 새 경로를 사용하도록 지시하려면 floating conn 타이머를 활성화하는 것이 좋습니다.  floating-conn 시간 초과가 활성화된 경우(0이 아닌 값으로 설정된 경우), 더 나은 경로를 사용할 수 있게 되면 이 시간 초과로 연결이 닫힐 수 있으므로 더 나은 경로를 사용하기 위해 연결을 다시 설정할 수 있습니다. https://www.cisco.com/c/en/us/td/docs/security/asa/asa-cli-reference/T-Z/asa-command-ref-T-Z/m_ta-tk.html의 floating-conn에 대한 설명을 참조하십시오.

FlexConfig를 사용하여 구축된 명령을 제거하거나 부정하는 방법

FlexConfig에서 구축한 컨피그레이션을 제거하거나 무효화하려는 경우 다음 단계를 수행해야 합니다.

1. 이 순서로 부정 명령을 사용하여 FlexConfig를 만들고 Type을 Prepend로 설정해야 합니다.

- 객체 추적에 대한 참조 제거

- 추적 객체 삭제

- SLA 객체 삭제

로드 공유 및 PPPoE 클라이언트 경로 추적을 사용하여 액티브-액티브 이중화를 위해 구축된 컨피그레이션의 제거 예:

Flexonfig 제거 1

로드 공유 없이 액티브-스탠바이 이중화를 위해 구축된 컨피그레이션의 제거 예:

Flexconfig 제거 2

2. 1단계에서 생성한 부정 객체를 FlexConfig 정책에 추가합니다. PPPoE 명령을 추가하기 위한 객체가 제거되고 정책에 존재하지 않는지 확인합니다.

FlexConfig 제거 정책

3. 정책을 구축하고 CLI에서 명령의 제거를 확인합니다.

4. 1단계에서 생성한 부정 객체를 FlexConfig 정책에서 제거하고 다시 구축합니다.

참조

- Cisco 버그 ID CSCwt39430   "ENH: FMC UI에서 FTD 인터페이스 DHCP/PPPoE 클라이언트 구성 명령 및 하위 명령 지원"