# 17. URLオフロード設定

## 17.1. NetMeisterを利用したURLオフロード

特定の宛先(URL/IPアドレス)のみ通常と異なる経路に転送したい場合は、URLオフロードを使用します。
通常はセンターのファイアウォールを経由してインターネット接続しますが、拠点は特定の宛先のみ直接拠点からインターネット接続させる例です。
URLオフロードに使用するURLリストは、本例ではNetMeisterを参照します。
グループIDとグループパスワードは、事前に以下の内容でNetMeisterに登録済みとします。

### 17.1.1. 設定

#### 17.1.1.1. センターの設定

    Router# configure
    Router(config)# hostname center
    center(config)# ip route default 192.168.0.253
    center(config)# ip route 192.168.1.0/24 Tunnel0.0
    center(config)# ip name-server 198.51.100.1
    center(config)# proxy-dns server 198.51.100.1
    center(config)# ikev2 authentication psk id keyid id-a key char key-a
    center(config)# ikev2 authentication psk id keyid id-b key char key-b
    center(config)# nm ip enable
    center(config)# nm account sample-group password plain sample-password
    center(config)# nm sitename tokyo
    center(config)# nm outgoing-interface GigaEthernet0.1
    center(config)# ppp profile ppp-profile
    center(config-ppp-ppp-profile)# authentication myname user-a@example.com
    center(config-ppp-ppp-profile)# authentication password user-a@example.com ppp-password-a
    center(config-ppp-ppp-profile)# exit
    center(config)# ip dhcp profile dhcp-profile
    center(config-dhcp-profile)# dns-server 192.168.0.254
    center(config-dhcp-profile)# exit
    center(config)# ikev2 default-profile
    center(config-ikev2-dprof)# local-authentication psk id keyid id-a
    center(config-ikev2-dprof)# exit
    center(config)# interface GigaEthernet2.0
    center(config-GigaEthernet2.0)# ip address 192.168.0.254/24
    center(config-GigaEthernet2.0)# ip dhcp enable
    center(config-GigaEthernet2.0)# ip dhcp binding dhcp-profile
    center(config-GigaEthernet2.0)# proxy-dns ip enable
    center(config-GigaEthernet2.0)# no shutdown
    center(config-GigaEthernet2.0)# exit
    center(config)# interface GigaEthernet0.1
    center(config-GigaEthernet0.1)# encapsulation pppoe
    center(config-GigaEthernet0.1)# ppp binding ppp-profile
    center(config-GigaEthernet0.1)# ip address 203.0.113.1/32
    center(config-GigaEthernet0.1)# no shutdown
    center(config-GigaEthernet0.1)# exit
    center(config)# interface Tunnel0.0
    center(config-Tunnel0.0)# tunnel mode ipsec-ikev2
    center(config-Tunnel0.0)# ip unnumbered GigaEthernet2.0
    center(config-Tunnel0.0)# ip tcp adjust-mss auto
    center(config-Tunnel0.0)# ikev2 outgoing-interface GigaEthernet0.1
    center(config-Tunnel0.0)# ikev2 peer any authentication psk id keyid id-b
    center(config-Tunnel0.0)# no shutdown
    center(config-Tunnel0.0)# exit
    center(config)#

#### 17.1.1.2. 拠点の設定

    Router# configure
    Router(config)# hostname site
    site(config)# ip route default Tunnel0.0
    site(config)# ikev2 authentication psk id keyid id-a key char key-a
    site(config)# ikev2 authentication psk id keyid id-b key char key-b
    site(config)# nm ip enable
    site(config)# nm account sample-group password plain sample-password
    site(config)# nm sitename osaka
    site(config)# nm outgoing-interface GigaEthernet0.1
    site(config)# route-map offload-map permit 10
    site(config-route-map-offload-map-10)# match ip url-offload offload-profile
    site(config-route-map-offload-map-10)# set interface GigaEthernet0.1
    site(config-route-map-offload-map-10)# exit
    site(config)# ppp profile ppp-profile
    site(config-ppp-ppp-profile)# authentication myname user-b@example.com
    site(config-ppp-ppp-profile)# authentication password user-b@example.com ppp-password-b
    site(config-ppp-ppp-profile)# exit
    site(config)# ip dhcp profile dhcp-profile
    site(config-dhcp-profile)# dns-server 192.168.1.254
    site(config-dhcp-profile)# exit
    site(config)# ikev2 default-profile
    site(config-ikev2-dprof)# local-authentication id keyid id-b
    site(config-ikev2-dprof)# exit
    site(config)# url-offload profile offload-profile
    site(config-url-offload-profile-offload-profile)# url netmeister
    site(config-url-offload-profile-offload-profile)# offload-protocol any
    site(config-url-offload-profile-offload-profile)# exit
    site(config)# interface GigaEthernet2.0
    site(config-GigaEthernet2.0)# ip address 192.168.1.254/24
    site(config-GigaEthernet2.0)# ip dhcp enable
    site(config-GigaEthernet2.0)# ip dhcp binding dhcp-profile
    site(config-GigaEthernet2.0)# ip policy route-map offload-map
    site(config-GigaEthernet2.0)# proxy-dns ip enable
    site(config-GigaEthernet2.0)# no shutdown
    site(config-GigaEthernet2.0)# exit
    site(config)# interface GigaEthernet0.1
    site(config-GigaEthernet0.1)# encapsulation pppoe
    site(config-GigaEthernet0.1)# ppp binding ppp-profile
    site(config-GigaEthernet0.1)# ip address ipcp
    site(config-GigaEthernet0.1)# ip napt enable
    site(config-GigaEthernet0.1)# no shutdown
    site(config-GigaEthernet0.1)# exit
    site(config)# interface Tunnel0.0
    site(config-Tunnel0.0)# tunnel mode ipsec-ikev2
    site(config-Tunnel0.0)# ip unnumbered GigaEthernet2.0
    site(config-Tunnel0.0)# ip url-offload profile offload-profile
    site(config-Tunnel0.0)# ikev2 connect-type auto
    site(config-Tunnel0.0)# ikev2 outgoing-interface GigaEthernet0.1
    site(config-Tunnel0.0)# ikev2 peer 203.0.113.1 authentication psk id keyid id-a
    site(config-Tunnel0.0)# no shutdown
    site(config-Tunnel0.0)# exit
    site(config)#

### 17.1.2. 解説

#### 17.1.2.1. センターの解説

    ip route default 192.168.0.253
    ip route 192.168.1.0/24 Tunnel0.0

デフォルトルートをファイアウォール向けに設定します。
IPsec接続先をトンネルインタフェースに設定します。

    ip name-server 198.51.100.1

センタールーター自身の名前解決に使用するDNSサーバーを設定します。
NetMeisterへ接続するために、センタールーター自身で名前解決できる必要があります。

    nm outgoing-interface GigaEthernet0.1

NetMeisterへの通信がファイアウォール経由とならないように、"nm outgoing-interface"コマンドで出力インタフェースを固定します。

#### 17.1.2.2. 拠点の解説

    nm outgoing-interface GigaEthernet0.1

NetMeisterへの通信がセンター経由とならないように、"nm outgoing-interface"コマンドで出力インタフェースを固定します。

    route-map offload-map permit 10
      match ip url-offload offload-profile
      set interface GigaEthernet0.1

`offload-map` という名前のルートマップを作成します。
値 : `10` はシーケンス番号です。
"match ip url-offload"コマンドにより、URLオフロード判定(IPアドレス)をします。
オフロード対象のパケットは、インタフェース : `GE0.1` から出力されます。

    url-offload profile offload-profile
      url netmeister
      offload-protocol any

`offload-profile` という名前のURLオフロードのプロファイルを作成します。
本例では外部定義ファイルはNetMeisterを指定し、全てのプロトコルをオフロード対象にします。
※URL宛ての場合は、HTTP/HTTPS/QUICのみがオフロード対象です。

    interface GigaEthernet2.0
      ip policy route-map offload-map

ルートマップを `GE2.0` に適用します。
`GE2.0` で受信したパケットがポリシールーティングの評価対象になります。

    interface Tunnel0.0
      ip url-offload profile offload-profile

URLオフロード判定(URL)の設定です。