My Home NW Lab

逸般の誤家庭のネットワーク

F5 BIG-IP APMのExplicit Forward Proxy構成 No.01 - 下準備

F5 BIG-IP APM (Access Policy Manager)のExplicit Forward Proxyの検証構成を作成した際のメモ書きです。
本記事ではExplicit Forward Proxyの設定までの下準備となります。

目次

検証構成の概要

f:id:myhomenwlab:20200724212559j:plain
論理構成図

  • 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 本記事では未使用です。

f:id:myhomenwlab:20200724210955j:plain
BIG-IP VEのネットワーク アダプタ

初期状態のコンフィグの保存

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によって設定情報を取得していたため一度全ての関連設定を事前に削除する手順としています。

手順の流れは下記の通りです。

  1. DHCPの無効化をします。
  2. 管理系IPアドレスを削除します。
  3. 管理系のDefault Gatewayを削除します。
  4. 管理系のIPアドレスを設定します。
  5. 管理系の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になります。

f:id:myhomenwlab:20200719015911j:plain
Web UI

Version 15.1.0 の初回ログイン情報は下記の通りです。

項目
Username admin
Password 初回ログイン時はroot ユーザのパスワードと同じです。また、初回ログイン直後にパスワード変更が必要になります。

ライセンスの有効化

Setup Utility > License よりライセンスを適宜有効化します。

f:id:myhomenwlab:20200719015700j:plain
Setup Utility > License

Setup UtilityのWizardの終了

Setup Utility > Network の Advanced Network Configuration にある Finished ボタンをクリックして Setup Utility を閉じます。

f:id:myhomenwlab:20200719015723j:plain
Setup Utility > Network

初期コンフィグの取得

/var/local/ucs に先に保存した UCS ファイルが保存されているため、WinSCPなどを用いて適宜転送します。

f:id:myhomenwlab:20200719024736j:plain
SCP

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 に指定します。
    f:id:myhomenwlab:20200719020908j:plain
    System > Resource Provisioning

ホスト名とタイムゾーンの設定

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 に設置場所のタイムゾーンを指定します。
    f:id:myhomenwlab:20200719021508j:plain
    System > Platform

時刻同期先の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 ボタンをクリックします。

    f:id:myhomenwlab:20200719104231j:plain
    System > Configuration > Device > NTP

参考: 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

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

    f:id:myhomenwlab:20200719104257j:plain
    Network > VLANs

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)

    f:id:myhomenwlab:20200719104325j:plain
    Network > Self IPs

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

    f:id:myhomenwlab:20200719104344j:plain
    Network > Routes

サービス系の疎通確認

サービス系の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