F5 BIG-IP APM (Access Policy Manager)のExplicit Forward Proxyの検証構成を作成した際のメモ書きです。
本記事ではExplicit Forward Proxyの設定までの下準備となります。
目次
- 目次
- 検証構成の概要
- 検証時の情報
- 設定方針
- 環境依存の設定
- BIG-IP Virtual Edition(VE)のInterfaceの割り当て情報
- 初期状態のコンフィグの保存
- 管理系の初期設定
- 管理系の疎通確認
- Setup Utilityによる作業
- 初期コンフィグの取得
- APMの有効化
- ホスト名とタイムゾーンの設定
- 時刻同期先のNTPサーバの設定
- VLANsの設定
- Self-IPsの設定
- Routesの設定
- サービス系の疎通確認
- 設定の保存
- 最後に
検証構成の概要
- BIG-IP APMはExplicit Forward ProxyのOne-Arm構成としています。非対称ルーティングの発生を避けるために送信元NATの機能に相当するAutomapを使用します。
- Active Directoryとの認証連携の確認のためにWindows ServerとWindows 10を用意しています。
- Windows 10は認証許可される端末と、認証拒否される端末の確認のために複数台用意しています。
検証時の情報
- F5 BIG-IP Virtual Edition Version 15.1.0
Trial LicenseではSWG(Secure Web Gateway)とSSLO(SSL Orchestrator)は使用できないため無効化の状態です。
VMware vSphere ESXi 7.0 上に仮想マシンをデプロイしています。 - Microsoft Windows Server 2019 Datacenter Edition
- Microsoft Windows 10 Enterprise Edition
設定方針
- CLIでの設定方法をメインとして、参考情報としてWeb UI (GUI)のキャプチャを掲載しています。
- スクリーンショットは CLI で作成後に確認した際のものになります。
- 設定変更の事前と事後で基本的には確認を行う手順にしております。
- Virtual Editionを前提として、仮想コンソールから手入力による補完を行い易いように tmsh のシェルに入るのを使い分けています。
環境依存の設定
環境に合わせて適宜読み替えが必要になる箇所を下記の表にまとめました。
設定項目 | 設定値 | 備考 |
---|---|---|
ホスト名 | bigip01.lab.test | |
管理系のIPアドレス | 203.0.113.201/24 | |
管理系のDefault Gateway | 203.0.113.254 | |
Self-IP | 192.0.2.201/24 | |
DNSサーバ | 8.8.8.8 , 8.8.4.4 | Google Public DNSサーバ |
NTPサーバ | ntp.nict.jp | NICTのNTPサーバ |
タイムゾーン | Asia/Tokyo |
BIG-IP Virtual Edition(VE)のInterfaceの割り当て情報
BIG-IP VE Version 15.1.0 の場合、VMware vSphere ESXi環境でのInterfaceのマッピングは下記の表の通りです。
仮想マシン上の割り当て | BIG-IP VE上の割り当て | 備考 |
---|---|---|
ネットワーク アダプタ 1 | mgmt | 本記事では TEST-NET-3 のネットワークに所属させています。 |
ネットワーク アダプタ 2 | 1.1 | 本記事では TEST-NET-1 のネットワークに所属させています。 |
ネットワーク アダプタ 3 | 1.2 | 本記事では未使用です。 |
ネットワーク アダプタ 4 | 1.3 | 本記事では未使用です。 |
初期状態のコンフィグの保存
BIG-IP VEのOVAファイルのデプロイ直後の想定で進めます。
CLIから作業するにあたり、Version 15.1.0 のCLIの初回ログイン情報は下記の通りです。
項目 | 値 |
---|---|
Username | root |
Password | 初回ログイン時は default となります。また、初回ログイン直後にパスワード変更が必要になります。 |
初期状態からの設定変更箇所の差分確認に用いやすいように、初期状態のコンフィグを UCS (User Configuration Set) ファイルに適宜保存します。
IP到達性(IP Reachable)ができた段階でSCPなどを用いて端末側にファイルを控えます。
ls /var/local/ucs tmsh list sys ucs save sys ucs init_config list sys ucs quit ls /var/local/ucs
管理系の初期設定
管理系に割り当てるIPアドレスやDNSの参照先は環境に合わせて適宜修正します。
筆者の環境ではDHCPによって設定情報を取得していたため一度全ての関連設定を事前に削除する手順としています。
手順の流れは下記の通りです。
- DHCPの無効化をします。
- 管理系IPアドレスを削除します。
- 管理系のDefault Gatewayを削除します。
- 管理系のIPアドレスを設定します。
- 管理系のDefault Gatewayを設定します。
tmsh list sys global-settings mgmt-dhcp modify sys global-settings mgmt-dhcp disabled list sys global-settings mgmt-dhcp list sys management-ip delete sys management-ip all list sys management-ip create sys management-ip 203.0.113.201/24 list sys management-ip list sys management-route delete sys management-route all list sys management-route create sys management-route default gateway 203.0.113.254 list sys management-route list sys dns name-servers modify sys dns name-servers replace-all-with { 8.8.8.8 8.8.4.4 } list sys dns name-servers save sys config partitions all quit
管理系の疎通確認
管理系のInterfaceを明示的に指定して疎通確認を行います。
ping -I mgmt 8.8.8.8 ping -I mgmt google.com
Setup Utilityによる作業
管理IPアドレスを指定してWeb UIにHTTPSでログインします。
例えば、筆者の環境では https://203.0.113.201/
がWeb UIのURLになります。
Version 15.1.0 の初回ログイン情報は下記の通りです。
項目 | 値 |
---|---|
Username | admin |
Password | 初回ログイン時はroot ユーザのパスワードと同じです。また、初回ログイン直後にパスワード変更が必要になります。 |
ライセンスの有効化
Setup Utility > License よりライセンスを適宜有効化します。
Setup UtilityのWizardの終了
Setup Utility > Network の Advanced Network Configuration にある Finished ボタンをクリックして Setup Utility を閉じます。
初期コンフィグの取得
/var/local/ucs
に先に保存した UCS ファイルが保存されているため、WinSCPなどを用いて適宜転送します。
APMの有効化
ここからは適宜SSHでログインしてCLIで設定していきます。
tmsh list sys provision tmsh modify sys provision apm { level nominal } tmsh list sys provision
- Web UI
Web UI では System > Resource Provisioning より Access Policy (APM) のPrvisioning を Nominal に指定します。
ホスト名とタイムゾーンの設定
Kerberos認証を行う場合にSPN (Service Principal Name)でFQDNの指定を行うためホスト名を予め設定しておきます。
また、Web UIではホスト名とタイムゾーンの設定箇所が同じ画面内となるため、合わせてタイムゾーンを修正します。
tmsh list sys global-settings hostname tmsh modify sys global-settings hostname bigip01.lab.test tmsh list sys global-settings hostname
tmsh list sys ntp timezone tmsh modify sys ntp timezone Asia/Tokyo tmsh list sys ntp timezone
- Web UI
Web UI では System > Platform より Host Name に任意のホスト名を指定します。 また、Time Zone に設置場所のタイムゾーンを指定します。
時刻同期先のNTPサーバの設定
BIG-IP側のNTPサーバの時刻同期先の設定
Kerberos認証を行う場合は時刻同期が要件に入るため適宜NTPサーバを指定します。
tmsh list sys ntp servers tmsh modify sys ntp servers add { "ntp.nict.jp" } tmsh list sys ntp servers ntpq -p ntpq -pn date
Web UI
Web UI では System > Configuration > Device > NTP より Time Server List の Address に任意のNTPサーバを入力して Add ボタンをクリックします。
参考: Windows Server側のNTPサーバの時刻同期先の設定
Windows Server側の設定をBIG-IPの設定に合わせられるように参考情報を記載します。
Windows Server 2019でのコマンド プロンプトからの設定変更の例になります。
w32tm /query /status w32tm /config /syncfromflags:manual /manualpeerlist:ntp.nict.jp /update w32tm /resync w32tm /query /status
- 参考情報
Windows タイム サービスのツールと設定 | Microsoft Docs
https://docs.microsoft.com/ja-jp/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings
VLANsの設定
tmsh list net vlan tmsh create net vlan service-vlan { interfaces replace-all-with { 1.1 } } tmsh list net vlan
Web UI
Web UI では Network > VLANs より下記の表の設定に相当します。設定項目 設定値 備考 Name service-vlan Interfaces Interface: 1.1 , Tagging: untagged
Self-IPsの設定
tmsh list net self tmsh create net self 192.0.2.201 { address 192.0.2.201/24 traffic-group traffic-group-local-only vlan service-vlan } tmsh list net self
Web UI
Web UI では Network > Self IPs より下記の表の設定に相当します。設定項目 設定値 備考 Name 192.0.2.201 本記事ではIPアドレスと同じ名称に指定しています。 IP Address 192.0.2.201 Netmask 255.255.255.0 Traffic Group Traffic-group-local-only (non-floating)
Routesの設定
tmsh list net route tmsh create net route Default_Route { gw 192.0.2.254 network default } tmsh list net route
Web UI Web UI では Network > Routes より下記の表の設定に相当します。
設定項目 設定値 備考 Name Default_Route Destination 0.0.0.0 Netmask 0.0.0.0 Gateway Address IP Address - 192.0.2.254
サービス系の疎通確認
サービス系のInterfaceを明示的に指定して疎通確認を行います。
ping -I service-vlan 8.8.8.8
設定の保存
CLIから操作したメモリ上の設定内容をファイルに書き込みます。
tmsh save sys config partitions all
最後に
必要に応じて仮想マシンのスナップショットを取得したり、UCSファイルのバックアップを取得して、基本設定の状態に戻しやすくします。
なお、ホスト名_YYYYMMDD_HHMM
の命名規則で UCS ファイルを取得する場合は次のようになります。
ホスト名を変更した直後だと $HOSTNAME の変数に設定変更前の localhost.localdomain がセットされたままの状態になるため適宜ログインし直してから実行します。
tmsh list sys ucs echo ${HOSTNAME}_`date +%Y%m%d`_`date +%H%M` tmsh save sys ucs ${HOSTNAME}_`date +%Y%m%d`_`date +%H%M` tmsh list sys ucs