初めに
FPR4100シリーズにて、proxyを経由でSmart License serverへ登録する際、不適切proxy設定により、
<HTTP transport failed>で登録が失敗します。
事象
下記の通り、問題発生時に<HTTP transport failed>となり、Smart License serverへ登録が失敗します。
パケットキャプチャから<HTTP/1.1 400 Bad Request>となっていることを確認できます。
###FXOS側 show 出力
-----
Registration:
Status: REGISTERING - REGISTRATION IN PROGRESS
Export-Controlled Functionality: NOT ALLOWED
Initial Registration: FAILED on Mar 29 2022 04:41:52 UTC
Failure reason: HTTP transport failed <--こちら
Next Registration Attempt: Mar 29 2022 04:59:24 UTC
-----
###FXOS側 問題発生時のmgmtパケットキャプチャ情報
-----
fpr4k01(fxos)# ethanalyzer local interface mgmt capture-filter 'host proxy_ip'
Capturing on 'eth0'
1 2022-03-29 14:44:44.541348278 fxos_mgmt_ip → proxy_ip TCP 74 56191 → 3128 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=4756375 TSecr=0 WS=512
2 2022-03-29 14:44:44.541600659 proxy_ip → fxos_mgmt_ip TCP 74 3128 → 56191 [SYN, ACK] Seq=0 Ack=1 Win=28960 Len=0 MSS=1460 SACK_PERM=1 TSval=2077100693 TSecr=4756375 WS=128
3 2022-03-29 14:44:44.541700845 fxos_mgmt_ip → proxy_ip TCP 66 56191 → 3128 [ACK] Seq=1 Ack=1 Win=29696 Len=0 TSval=4756375 TSecr=2077100693
4 2022-03-29 14:44:44.543742154 fxos_mgmt_ip → proxy_ip TCP 583 56191 → 3128 [PSH, ACK] Seq=1 Ack=1 Win=29696 Len=517 TSval=4756375 TSecr=2077100693
5 2022-03-29 14:44:44.543937372 proxy_ip → fxos_mgmt_ip TCP 66 3128 → 56191 [ACK] Seq=1 Ack=518 Win=30080 Len=0 TSval=2077100695 TSecr=4756375
6 2022-03-29 14:44:44.544264621 proxy_ip → fxos_mgmt_ip TCP 1514 HTTP/1.1 400 Bad Request [TCP segment of a reassembled PDU] <---★こちら
7 2022-03-29 14:44:44.544319737 fxos_mgmt_ip → proxy_ip TCP 66 56191 → 3128 [ACK] Seq=518 Ack=1449 Win=32256 Len=0 TSval=4756375 TSecr=2077100696
8 2022-03-29 14:44:44.544377082 proxy_ip → fxos_mgmt_ip TCP 2885 3128 → 56191 [PSH, ACK] Seq=1449 Ack=518 Win=30080 Len=2819 TSval=2077100696 TSecr=4756375 [TCP segment of a reassembled PDU]
9 2022-03-29 14:44:44.544427254 fxos_mgmt_ip → proxy_ip TCP 66 56191 → 3128 [RST, ACK] Seq=518 Ack=1449 Win=32256 Len=0 TSval=4756375 TSecr=2077100696
10 2022-03-29 14:44:44.544458384 fxos_mgmt_ip → proxy_ip TCP 54 56191 → 3128 [RST] Seq=518 Win=0 Len=0
10 packets captured
Program exited with status 0.
fpr4k01(fxos)#
-----
###FXOS側 正常動作時のmgmtパケットキャプチャ情報
-----
fpr4k01(fxos)# ethanalyzer local interface mgmt capture-filter 'host proxy_ip' limit-captured-frames 100
Capturing on 'eth0'
1 2022-03-29 15:13:15.053782027 FXOS_mgmt_ip → proxy_ip TCP 74 56462 → 3128 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=4927426 TSecr=0 WS=512
2 2022-03-29 15:13:15.054014438 proxy_ip → FXOS_mgmt_ip TCP 74 3128 → 56462 [SYN, ACK] Seq=0 Ack=1 Win=28960 Len=0 MSS=1460 SACK_PERM=1 TSval=2078811205 TSecr=4927426 WS=128
3 2022-03-29 15:13:15.054118853 FXOS_mgmt_ip → proxy_ip TCP 66 56462 → 3128 [ACK] Seq=1 Ack=1 Win=29696 Len=0 TSval=4927426 TSecr=2078811205
4 2022-03-29 15:13:15.054174966 FXOS_mgmt_ip → proxy_ip HTTP 188 CONNECT tools.cisco.com:443 HTTP/1.1
5 2022-03-29 15:13:15.054348587 proxy_ip → FXOS_mgmt_ip TCP 66 3128 → 56462 [ACK] Seq=1 Ack=123 Win=29056 Len=0 TSval=2078811206 TSecr=4927426
6 2022-03-29 15:13:15.232355144 proxy_ip → FXOS_mgmt_ip HTTP 105 HTTP/1.1 200 Connection established
7 2022-03-29 15:13:15.232415899 FXOS_mgmt_ip → proxy_ip TCP 66 56462 → 3128 [ACK] Seq=123 Ack=40 Win=29696 Len=0 TSval=4927444 TSecr=2078811384
8 2022-03-29 15:13:15.232791955 FXOS_mgmt_ip → proxy_ip TLSv1 583 Client Hello
9 2022-03-29 15:13:15.232905894 proxy_ip → FXOS_mgmt_ip TCP 66 3128 → 56462 [ACK] Seq=40 Ack=640 Win=30080 Len=0 TSval=2078811384 TSecr=4927444
10 2022-03-29 15:13:15.334077453 proxy_ip → FXOS_mgmt_ip TCP 1514 [TCP segment of a reassembled PDU]
11 2022-03-29 15:13:15.334174481 proxy_ip → FXOS_mgmt_ip TLSv1.2 3836 Server Hello, Certificate, Server Hello Done
12 2022-03-29 15:13:15.334216734 FXOS_mgmt_ip → proxy_ip TCP 66 56462 → 3128 [ACK] Seq=640 Ack=5258 Win=39936 Len=0 TSval=4927454 TSecr=2078811485
13 2022-03-29 15:13:15.338789416 FXOS_mgmt_ip → proxy_ip TLSv1.2 384 Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
14 2022-03-29 15:13:15.338912452 proxy_ip → FXOS_mgmt_ip TCP 66 3128 → 56462 [ACK] Seq=5258 Ack=958 Win=31104 Len=0 TSval=2078811490 TSecr=4927455
15 2022-03-29 15:13:15.440656230 proxy_ip → FXOS_mgmt_ip TLSv1.2 72 Change Cipher Spec
16 2022-03-29 15:13:15.440754760 proxy_ip → FXOS_mgmt_ip TLSv1.2 111 Encrypted Handshake Message
17 2022-03-29 15:13:15.440821410 FXOS_mgmt_ip → proxy_ip TCP 66 56462 → 3128 [ACK] Seq=958 Ack=5309 Win=39936 Len=0 TSval=4927465 TSecr=2078811592
18 2022-03-29 15:13:15.441119368 FXOS_mgmt_ip → proxy_ip TLSv1.2 4947 Application Data
-----
原因
該当問題はFXOS側不適切なproxy設定に起因しています。
※関連設定ガイド
https://www.cisco.com/c/en/us/td/docs/security/firepower/fxos/fxos281/cli-guide/b_CLI_ConfigGuide_FXOS_281/license_management.html#task_4BA7419FB78E4C83BAD698CDD1E0AD92
(Optional) Configure the HTTP Proxy
Step 2
Set the proxy URL:
set http-proxy-server-url url
where url is the http or https address of the proxy server.
Example:
set http-proxy-server-url https://10.1.1.1 <--こちら
proxyサーバ側ではhttpもしくはhttpsにてトラフィックを処理しておりますが、
例えば、http proxy環境では、以下の通りhttpsと設定しますと問題が発生します。
set http-proxy-server-url https://10.1.1.1
対応策
下記の通りproxy環境に応じて、FXOS側で適切にproxy設定を投入しますと、問題が解消され、smart license serverへの登録が成功します。
・http proxy環境でのCli設定例 :
----
Firepower# scope monitoring
Firepower /monitoring # scope callhome
Firepower /monitoring/callhome # set http-proxy-server-url http://10.1.1.1
----
・https proxy環境でのCli設定例 :
----
Firepower# scope monitoring
Firepower /monitoring # scope callhome
Firepower /monitoring/callhome # set http-proxy-server-url https://10.1.1.1
----
参考情報
※FXOS mgmt インターフェースのパケットキャプチャの取得方法
https://www.cisco.com/c/en/us/support/docs/security/firepower-4100-series/215551-firepower-extensible-operating-system-f.html#anc7
Q. How to Check the FXOS ARP Table?