FutureNet
NXR,WXRシリーズ
ルーティング編
7. DNSインターセプト+PBR設定
7-2. DNSインターセプトとPBRの利用2
DNSインターセプト機能とポリシーベースルーティング機能を併用し、原則インターネットアクセスを含む全ての通信はIPsec経由としますが、指定した宛先のみIPsecを経由せず直接通信する設定例です。
コンテンツ | |||||||
構成図 | 設定データ | 設定例 | 設定例解説 | 端末の設定例 | 補足1 | 補足2 | 付録 |
【 構成図 】
- ドメイン名「example.com」を指定した定義ファイルを適用し、example.com宛のTCPポート22,80,443の通信をppp0経由で行います。それ以外のインターネットアクセスを含む全ての通信はIPsec経由で行います。
【 設定データ 】
〔NXR_Aの設定〕
設定項目 | 設定内容 | |||
---|---|---|---|---|
ホスト名 | NXR_A | |||
LAN側インタフェース | ethernet0のIPアドレス | 192.168.10.1/24 | ||
WAN側インタフェース | ethernet1のIPアドレス | 10.10.10.1/30 | ||
IPマスカレード | 有効 | |||
IPアクセスグループ | in | eth1_in | ||
SPIフィルタ | 有効 | |||
IPsecローカルポリシー | 1 | |||
スタティックルート | No.1 | 宛先IPアドレス | 192.168.20.0/24 | |
ゲートウェイ(インタフェース) | tunnel1 | |||
ディスタンス | 1 | |||
No.2 | 宛先IPアドレス | 192.168.20.0/24 | ||
ゲートウェイ(インタフェース) | null | |||
ディスタンス | 254 | |||
No.3 | 宛先IPアドレス | 0.0.0.0/0 | ||
ゲートウェイ(IPアドレス) | 10.10.10.2 | |||
IPフィルタ | ルール名 | eth1_in | ||
eth1_in | No.1 | 動作 | 許可 | |
送信元IPアドレス | any | |||
宛先IPアドレス | 10.10.10.1 | |||
プロトコル | UDP | |||
送信元ポート | 500 | |||
宛先ポート | 500 | |||
No.2 | 動作 | 許可 | ||
送信元IPアドレス | any | |||
宛先IPアドレス | 10.10.10.1 | |||
プロトコル | 50(ESP) | |||
IPsec | IPsecアクセスリスト | リスト名 | ipsec_acl | |
送信元IPアドレス | any | |||
宛先IPアドレス | any | |||
IPsecローカルポリシー1 | address | ip | ||
IPsec ISAKMPポリシー1 | 名前 | NXR_B | ||
認証方式 | pre-share | |||
認証鍵 | ipseckey | |||
認証アルゴリズム | sha256 | |||
暗号化アルゴリズム | aes128 | |||
DHグループ | 5 | |||
ライフタイム | 10800秒 | |||
ISAKMPモード | アグレッシブモード | |||
リモートアドレス | any | |||
リモートID(FQDN) | nxrb | |||
DPD | 再送間隔 | 30秒 | ||
リトライ回数 | 3回 | |||
動作 | clear | |||
ローカルポリシー | 1 | |||
IPsecトンネルポリシー1 | 名前 | NXR_B | ||
ネゴシエーションモード | レスポンダ | |||
認証アルゴリズム | sha256 | |||
暗号化アルゴリズム | aes128 | |||
PFS | 有効(グループ5) | |||
ライフタイム | 3600秒 | |||
ISAKMPポリシー | 1 | |||
IPsecアクセスリスト | ipsec_acl | |||
トンネル1インタフェース | トンネルモード | IPsec(IPv4) | ||
トンネルプロテクション | ipsec policy 1 | |||
TCP MSS調整 | オート | |||
DNS | サービス | 有効 | ||
DNSサーバ | プライマリ | 10.10.30.1 | ||
FastFowarding | 有効 |
〔NXR_Bの設定〕
設定項目 | 設定内容 | |||
---|---|---|---|---|
ホスト名 | NXR_B | |||
LAN側インタフェース | ethernet0のIPアドレス | 192.168.20.1/24 | ||
classify | input | intercept | ||
IPポリシルートマップ | pbr | |||
WAN側インタフェース | PPPoEクライアント(ethernet1) | ppp0 | ||
ppp0のIPアドレス | 動的IPアドレス | |||
ip send-source | 有効 | |||
IPマスカレード | 有効 | |||
IPアクセスグループ | in | ppp0_in | ||
forward-out | ppp0_forward-out | |||
SPIフィルタ | 有効 | |||
TCP MSS調整 | オート | |||
DNSインターセプト | 0 | |||
ISP接続用ユーザID | test2@example.jp | |||
ISP接続用パスワード | test2pass | |||
IPsecローカルポリシー | 1 | |||
スタティックルート | No.1 | 宛先IPアドレス | 0.0.0.0/0 | |
ゲートウェイ(インタフェース) | tunnel1 | |||
ディスタンス | 1 | |||
No.2 | 宛先IPアドレス | 0.0.0.0/0 | ||
ゲートウェイ(インタフェース) | ppp0 | |||
ディスタンス | 10 | |||
No.3 | 宛先IPアドレス | 0.0.0.0/0 | ||
ゲートウェイ(インタフェース) | null | |||
ディスタンス | 254 | |||
IPフィルタ | ルール名 | ppp0_in | ||
ppp0_in | No.1 | 動作 | 許可 | |
送信元IPアドレス | 10.10.10.1 | |||
宛先IPアドレス | any | |||
プロトコル | UDP | |||
送信元ポート | 500 | |||
宛先ポート | 500 | |||
No.2 | 動作 | 許可 | ||
送信元IPアドレス | 10.10.10.1 | |||
宛先IPアドレス | any | |||
プロトコル | 50(ESP) | |||
ppp0_forward-out | 動作 | 破棄 | ||
送信元IPアドレス | 192.168.20.0/24 | |||
宛先IPアドレス | 192.168.10.0/24 | |||
IPsec | IPsecアクセスリスト | リスト名 | ipsec_acl | |
送信元IPアドレス | any | |||
宛先IPアドレス | any | |||
IPsecローカルポリシー1 | address | ip | ||
セルフID(FQDN) | nxrb | |||
IPsec ISAKMPポリシー1 | 名前 | NXR_A | ||
認証方式 | pre-share | |||
認証鍵 | ipseckey | |||
認証アルゴリズム | sha256 | |||
暗号化アルゴリズム | aes128 | |||
DHグループ | 5 | |||
ライフタイム | 10800秒 | |||
ISAKMPモード | アグレッシブモード | |||
リモートアドレス | 10.10.10.1 | |||
DPD | 再送間隔 | 30秒 | ||
リトライ回数 | 3回 | |||
動作 | restart | |||
ローカルポリシー | 1 | |||
IPsecトンネルポリシー1 | 名前 | NXR_A | ||
ネゴシエーションモード | オート | |||
認証アルゴリズム | sha256 | |||
暗号化アルゴリズム | aes128 | |||
PFS | 有効(グループ5) | |||
ライフタイム | 3600秒 | |||
ISAKMPポリシー | 1 | |||
IPsecアクセスリスト | ipsec_acl | |||
トンネル1インタフェース | トンネルモード | IPsec(IPv4) | ||
トンネルプロテクション | ipsec policy 1 | |||
TCP MSS調整 | オート | |||
DNSインターセプト | 0 | |||
DNSインターセプト | 定義ファイル | セットネーム | DNSI | |
ファイル | dnsi-list.txt | |||
設定番号0 | DNSサーバアドレス | 10.10.30.1 | ||
セットネーム | DNSI | |||
クラスアクセスリスト | アクセスリスト名 | dnsi_acl | ||
dnsi_acl | No.1 | 送信元IPアドレス | any | |
宛先DNSセットネーム | DNSI | |||
プロトコル | TCP | |||
送信元ポート番号 | any | |||
宛先ポート番号 | 22 | |||
No.2 | 送信元IPアドレス | any | ||
宛先DNSセットネーム | DNSI | |||
プロトコル | TCP | |||
送信元ポート番号 | any | |||
宛先ポート番号 | 80 | |||
No.3 | 送信元IPアドレス | any | ||
宛先DNSセットネーム | DNSI | |||
プロトコル | TCP | |||
送信元ポート番号 | any | |||
宛先ポート番号 | 443 | |||
ルートマップ | ルートマップ名 | intercept | ||
intercept | マッチIPアドレス | dnsi_acl | ||
セット(mark) | 1 | |||
ルートマップ名 | pbr | |||
pbr | マッチIPmark | 1 | ||
セットインタフェース | ppp0 | |||
DNS | サービス | 有効 | ||
DNSサーバ | プライマリ | 10.10.30.1 | ||
タイムアウト | 5秒 | |||
FastFowarding | 有効 |
【 設定例 】
〔NXR_Aの設定〕
Enter configuration commands, one per line. End with CNTL/Z.
nxr350(config)#hostname NXR_A
NXR_A(config)#interface ethernet 0
NXR_A(config-if)#ip address 192.168.10.1/24
NXR_A(config-if)#exit
NXR_A(config)#ip route 192.168.20.0/24 tunnel 1 1
NXR_A(config)#ip route 192.168.20.0/24 null 254
NXR_A(config)#ip route 0.0.0.0/0 10.10.10.2
NXR_A(config)#ip access-list eth1_in permit any 10.10.10.1 udp 500 500
NXR_A(config)#ip access-list eth1_in permit any 10.10.10.1 50
NXR_A(config)#ipsec access-list ipsec_acl ip any any
NXR_A(config)#ipsec local policy 1
NXR_A(config-ipsec-local)#address ip
NXR_A(config-ipsec-local)#exit
NXR_A(config)#ipsec isakmp policy 1
NXR_A(config-ipsec-isakmp)#description NXR_B
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey
NXR_A(config-ipsec-isakmp)#hash sha256
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode aggressive
NXR_A(config-ipsec-isakmp)#remote address ip any
NXR_A(config-ipsec-isakmp)#remote identity fqdn nxrb
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic clear
NXR_A(config-ipsec-isakmp)#local policy 1
NXR_A(config-ipsec-isakmp)#exit
NXR_A(config)#ipsec tunnel policy 1
NXR_A(config-ipsec-tunnel)#description NXR_B
NXR_A(config-ipsec-tunnel)#negotiation-mode responder
NXR_A(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600
NXR_A(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_A(config-ipsec-tunnel)#match address ipsec_acl
NXR_A(config-ipsec-tunnel)#exit
NXR_A(config)#interface tunnel 1
NXR_A(config-tunnel)#tunnel mode ipsec ipv4
NXR_A(config-tunnel)#tunnel protection ipsec policy 1
NXR_A(config-tunnel)#ip tcp adjust-mss auto
NXR_A(config-tunnel)#exit
NXR_A(config)#interface ethernet 1
NXR_A(config-if)#ip address 10.10.10.1/30
NXR_A(config-if)#ip masquerade
NXR_A(config-if)#ip access-group in eth1_in
NXR_A(config-if)#ip spi-filter
NXR_A(config-if)#ipsec policy 1
NXR_A(config-if)#exit
NXR_A(config)#dns
NXR_A(config-dns)#service enable
NXR_A(config-dns)#address 10.10.30.1
NXR_A(config-dns)#exit
NXR_A(config)#fast-forwarding enable
NXR_A(config)#exit
NXR_A#save config
〔NXR_Bの設定〕
Enter configuration commands, one per line. End with CNTL/Z.
nxrg240(config)#hostname NXR_B
NXR_B(config)#ip dns-intercept setname DNSI file disk0:dnsi-list.txt
NXR_B(config)#dns-intercept 0
NXR_B(config-dns-intercept)#address 10.10.30.1
NXR_B(config-dns-intercept)#match ip setname DNSI
NXR_B(config-dns-intercept)#exit
NXR_B(config)#class access-list dnsi_acl ip any dns-set DNSI tcp any 22
NXR_B(config)#class access-list dnsi_acl ip any dns-set DNSI tcp any 80
NXR_B(config)#class access-list dnsi_acl ip any dns-set DNSI tcp any 443
NXR_B(config)#route-map intercept permit 1
NXR_B(config-route-map)#match ip address dnsi_acl
NXR_B(config-route-map)#set mark 1
NXR_B(config-route-map)#exit
NXR_B(config)#route-map pbr permit 1
NXR_B(config-route-map)#match ip mark 1
NXR_B(config-route-map)#set interface ppp 0
NXR_B(config-route-map)#exit
NXR_B(config)#interface ethernet 0
NXR_B(config-if)#ip address 192.168.20.1/24
NXR_B(config-if)#classify input route-map intercept
NXR_B(config-if)#ip policy route-map pbr
NXR_B(config-if)#exit
NXR_B(config)#ip route 0.0.0.0/0 tunnel 1 1
NXR_B(config)#ip route 0.0.0.0/0 ppp 0 10
NXR_B(config)#ip route 0.0.0.0/0 null 254
NXR_B(config)#ip access-list ppp0_in permit 10.10.10.1 any udp 500 500
NXR_B(config)#ip access-list ppp0_in permit 10.10.10.1 any 50
NXR_B(config)#ip access-list ppp0_forward-out deny 192.168.20.0/24 192.168.10.0/24
NXR_B(config)#ipsec access-list ipsec_acl ip any any
NXR_B(config)#ipsec local policy 1
NXR_B(config-ipsec-local)#address ip
NXR_B(config-ipsec-local)#self-identity fqdn nxrb
NXR_B(config-ipsec-local)#exit
NXR_B(config)#ipsec isakmp policy 1
NXR_B(config-ipsec-isakmp)#description NXR_A
NXR_B(config-ipsec-isakmp)#authentication pre-share ipseckey
NXR_B(config-ipsec-isakmp)#hash sha256
NXR_B(config-ipsec-isakmp)#encryption aes128
NXR_B(config-ipsec-isakmp)#group 5
NXR_B(config-ipsec-isakmp)#lifetime 10800
NXR_B(config-ipsec-isakmp)#isakmp-mode aggressive
NXR_B(config-ipsec-isakmp)#remote address ip 10.10.10.1
NXR_B(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_B(config-ipsec-isakmp)#local policy 1
NXR_B(config-ipsec-isakmp)#exit
NXR_B(config)#ipsec tunnel policy 1
NXR_B(config-ipsec-tunnel)#description NXR_A
NXR_B(config-ipsec-tunnel)#negotiation-mode auto
NXR_B(config-ipsec-tunnel)#set transform esp-aes128 esp-sha256-hmac
NXR_B(config-ipsec-tunnel)#set pfs group5
NXR_B(config-ipsec-tunnel)#set sa lifetime 3600
NXR_B(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR_B(config-ipsec-tunnel)#match address ipsec_acl
NXR_B(config-ipsec-tunnel)#exit
NXR_B(config)#interface tunnel 1
NXR_B(config-tunnel)#tunnel mode ipsec ipv4
NXR_B(config-tunnel)#tunnel protection ipsec policy 1
NXR_B(config-tunnel)#ip tcp adjust-mss auto
NXR_B(config-tunnel)#ip dns-intercept 0
NXR_B(config-tunnel)#exit
NXR_B(config)#ppp account username test2@example.jp password test2pass
NXR_B(config)#interface ppp 0
NXR_B(config-ppp)#ip address negotiated
NXR_B(config-ppp)#ip send-source
NXR_B(config-ppp)#ip masquerade
NXR_B(config-ppp)#ip access-group in ppp0_in
NXR_B(config-ppp)#ip access-group forward-out ppp0_forward-out
NXR_B(config-ppp)#ip spi-filter
NXR_B(config-ppp)#ip tcp adjust-mss auto
NXR_B(config-ppp)#ip dns-intercept 0
NXR_B(config-ppp)#ppp username test2@example.jp
NXR_B(config-ppp)#ipsec policy 1
NXR_B(config-ppp)#exit
NXR_B(config)#interface ethernet 1
NXR_B(config-if)#no ip address
NXR_B(config-if)#pppoe-client ppp 0
NXR_B(config-if)#exit
NXR_B(config)#dns
NXR_B(config-dns)#service enable
NXR_B(config-dns)#address 10.10.30.1
NXR_B(config-dns)#timeout 5
NXR_B(config-dns)#exit
NXR_B(config)#fast-forwarding enable
NXR_B(config)#exit
NXR_B#save config
【 設定例解説 】
〔NXR_Aの設定〕
1. <ホスト名の設定>
ホスト名を設定します。
2. <LAN側(ethernet0)インタフェース設定>
NXR_A(config-if)#ip address 192.168.10.1/24
ethernet0インタフェースのIPアドレスを設定します。
3. <スタティックルート設定>
NXR_A(config)#ip route 192.168.20.0/24 null 254
LAN_B向けのルートを設定します。なおIPsec SA確立時はトンネル1インタフェースを、未確立時はnullインタフェースのルートを利用するように設定します。
(☞) nullインタフェースが出力インタフェースとして有効な場合、パケットが出力されることはありません(ドロップされます)。
デフォルトルートを設定します。
4. <IPアクセスリスト設定>
NXR_A(config)#ip access-list eth1_in permit any 10.10.10.1 50
IPアクセスリスト名をeth1_inとし、WAN側IPアドレス10.10.10.1宛のIKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。
なおこのIPアクセスリスト設定はethernet1インタフェース設定で登録します。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。
5. <IPsecアクセスリスト設定>
ipsec_aclという名前のIPsecアクセスリストを設定します。なお送信元IPアドレス,宛先IPアドレスともにanyとします。
6. <IPsecローカルポリシー設定>
NXR_A(config-ipsec-local)#address ip
IPsecトンネルの送信元IPアドレスにip(IPv4)を設定します。
7. <IPsec ISAKMPポリシー設定>
NXR_A(config-ipsec-isakmp)#description NXR_B
NXR_A(config-ipsec-isakmp)#authentication pre-share ipseckey
ISAKMPポリシーの説明としてNXR_B、認証方式としてpre-share(事前共有鍵)を選択し、事前共有鍵ipseckeyを設定します。なお事前共有鍵はルータNXR_Bと共通の値を設定します。
NXR_A(config-ipsec-isakmp)#encryption aes128
NXR_A(config-ipsec-isakmp)#group 5
NXR_A(config-ipsec-isakmp)#lifetime 10800
NXR_A(config-ipsec-isakmp)#isakmp-mode aggressive
認証アルゴリズムとしてsha256、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてアグレッシブモードを設定します。
NXR_A(config-ipsec-isakmp)#remote identity fqdn nxrb
NXR_A(config-ipsec-isakmp)#keepalive 30 3 periodic clear
NXR_A(config-ipsec-isakmp)#local policy 1
ルータNXR_BのWAN側IPアドレスが動的IPアドレスのため、リモートアドレスにanyを設定します。またリモートIDをFQDN方式でnxrbとし、ルータNXR_BのセルフIDと同じIDを設定します。
そしてIKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除するように設定します。さらにIPsecローカルポリシー1と関連づけを行います。
8. <IPsecトンネルポリシー設定>
NXR_A(config-ipsec-tunnel)#description NXR_B
NXR_A(config-ipsec-tunnel)#negotiation-mode responder
IPsecトンネルポリシーの説明としてNXR_B、ネゴシエーションモードとしてresponderを設定します。
NXR_A(config-ipsec-tunnel)#set pfs group5
NXR_A(config-ipsec-tunnel)#set sa lifetime 3600
暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha256、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。
NXR_A(config-ipsec-tunnel)#match address ipsec_acl
ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストipsec_aclを設定します。
9. <トンネル1インタフェース設定>
NXR_A(config-tunnel)#tunnel mode ipsec ipv4
NXR_A(config-tunnel)#tunnel protection ipsec policy 1
NXR_A(config-tunnel)#ip tcp adjust-mss auto
トンネル1インタフェースでトンネルモードをipsec ipv4、使用するトンネルポリシーとして1を設定します。またTCP MSSの調整機能をオートに設定します。
10. <WAN側(ethernet1)インタフェース設定>
NXR_A(config-if)#ip address 10.10.10.1/30
ethernet1インタフェースのIPアドレスを設定します。
NXR_A(config-if)#ip access-group in eth1_in
NXR_A(config-if)#ip spi-filter
IPマスカレード、ステートフルパケットインスペクションを有効に設定します。またIPアクセスリストeth1_inをinフィルタに適用します。
IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。
11. <DNS設定>
NXR_A(config-dns)#service enable
NXR_A(config-dns)#address 10.10.30.1
DNSサービスを有効にします。またプライマリDNSサーバアドレスを設定します。
12. <ファストフォワーディングの有効化>
ファストフォワーディングを有効にします。ファストフォワーディングを設定することによりパケット転送の高速化を行うことができます。
(☞) ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。
〔NXR_Bの設定〕
1. <ホスト名の設定>
ホスト名を設定します。
2. <DNSインターセプト用定義ファイルの取得設定>
DNSインターセプト用のセットネームをDNSIとし、定義ファイルをインポートします。
(☞) DNSインターセプト用の定義ファイルはFTP,SSH,外部ストレージからインポートすることができます。
3. <DNSインターセプト設定>
DNSインターセプトの設定番号を0とします。
DNSインターセプト対象のDNSサーバのIPアドレスを設定します。
(☞) IPCPやDHCPで取得するDNSサーバのIPアドレスは該当インタフェースでDNSインターセプトを指定することで自動的に設定されます。
DNSインターセプト用のセットネームを指定します。
4. <クラスアクセスリスト設定>
NXR_B(config)#class access-list dnsi_acl ip any dns-set DNSI tcp any 80
NXR_B(config)#class access-list dnsi_acl ip any dns-set DNSI tcp any 443
クラスアクセスリスト名をdnsi_aclとし、宛先にDNSインターセプト用のセットネームおよびTCPポート番号22,80,443を設定します。
5. <ルートマップ設定>
ルートマップ名をinterceptとし、No.1のルールを作成します。
マッチ条件としてクラスアクセスリストで設定したdnsi_aclを設定します。
該当条件にマッチした場合、マーク値1を設定します。
NXR_B(config-route-map)#match ip mark 1
NXR_B(config-route-map)#set interface ppp 0
次にルートマップ名をpbrとし、No.1のルールを作成します。
マッチ条件として先ほどルートマップ名interceptで指定したマーク値1を、該当条件にマッチした際のネクストホップとしてppp0インタフェースを設定します。
(☞) markはルータ内でのみ利用可能なマーキング値です。
6. <LAN側(ethernet0)インタフェース設定>
NXR_B(config-if)#ip address 192.168.20.1/24
ethernet0インタフェースのIPアドレスを設定します。
パケット受信時にルートマップによるパケット分類を行うように設定します。
ポリシーベースルーティング用のルートマップを登録します。
7. <スタティックルート設定>
NXR_B(config)#ip route 0.0.0.0/0 ppp 0 10
ゲートウェイをtunnel1としたデフォルトルートを設定します。なおIPsec SA確立時はトンネル1インタフェースを、IPsec SAは未確立だがPPPoE接続できている時はppp0インタフェースのルートを利用するように設定します。
ゲートウェイインタフェースをnullとしたデフォルトルートを設定します。またこのルートのディスタンス値として254を設定します。
(☞) nullインタフェースが出力インタフェースとして有効な場合、パケットが出力されることはありません(ドロップされます)。
8. <IPアクセスリスト設定>
NXR_B(config)#ip access-list ppp0_in permit 10.10.10.1 any 50
IPアクセスリスト名をppp0_inとし、送信元がルータNXR_AのWAN側IPアドレス10.10.10.1のIKEパケット(UDPポート500番)、ESPパケット(プロトコル番号50)を許可します。
なおこのIPアクセスリスト設定はppp0インタフェース設定で登録します。
IPアクセスリスト名をppp0_forward-outとし、送信元が192.168.20.0/24,宛先が192.168.10.0/24のパケットを破棄します。
(☞) IPsecの拠点間通信のパケットをppp0インタフェースから出力しないようにするための設定です。
9. <IPsecアクセスリスト設定>
ipsec_aclという名前のIPsecアクセスリストを設定します。なお送信元IPアドレス,宛先IPアドレスともにanyとします。
10. <IPsecローカルポリシー設定>
NXR_B(config-ipsec-local)#address ip
NXR_B(config-ipsec-local)#self-identity fqdn nxrb
IPsecトンネルの送信元IPアドレスにip(IPv4)を設定します。またセルフIDをFQDN方式でnxrbとし、ルータNXR_AのリモートIDと同じIDを設定します。
11. <IPsec ISAKMPポリシー設定>
NXR_B(config-ipsec-isakmp)#description NXR_A
NXR_B(config-ipsec-isakmp)#authentication pre-share ipseckey
ISAKMPポリシーの説明としてNXR_A、認証方式としてpre-share(事前共有鍵)を選択し、事前共有鍵ipseckeyを設定します。なお事前共有鍵はルータNXR_Aと共通の値を設定します。
NXR_B(config-ipsec-isakmp)#encryption aes128
NXR_B(config-ipsec-isakmp)#group 5
NXR_B(config-ipsec-isakmp)#lifetime 10800
NXR_B(config-ipsec-isakmp)#isakmp-mode aggressive
認証アルゴリズムとしてsha256、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして10800秒、フェーズ1のネゴシエーションモードとしてアグレッシブモードを設定します。
NXR_B(config-ipsec-isakmp)#keepalive 30 3 periodic restart
NXR_B(config-ipsec-isakmp)#local policy 1
リモートアドレスにルータNXR_AのWAN側IPアドレスを設定します。またIKE KeepAlive(DPD)を監視間隔30秒,リトライ回数3回としkeepalive失敗時にSAを削除しIKEのネゴシエーションを開始するように設定します。そしてIPsecローカルポリシー1と関連づけを行います。
12. <IPsecトンネルポリシー設定>
NXR_B(config-ipsec-tunnel)#description NXR_A
NXR_B(config-ipsec-tunnel)#negotiation-mode auto
IPsecトンネルポリシーの説明としてNXR_A、ネゴシエーションモードとしてautoを設定します。
NXR_B(config-ipsec-tunnel)#set pfs group5
NXR_B(config-ipsec-tunnel)#set sa lifetime 3600
暗号化アルゴリズムとしてaes128、認証アルゴリズムとしてsha256、PFSを有効にし、かつDHグループとしてgroup5、IPsec SAのライフタイムとして3600秒を設定します。
NXR_B(config-ipsec-tunnel)#match address ipsec_acl
ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストipsec_aclを設定します。
13. <トンネル1インタフェース設定>
NXR_B(config-tunnel)#tunnel mode ipsec ipv4
NXR_B(config-tunnel)#tunnel protection ipsec policy 1
NXR_B(config-tunnel)#ip tcp adjust-mss auto
トンネル1インタフェースでトンネルモードをipsec ipv4、使用するトンネルポリシーとして1を設定します。またTCP MSSの調整機能をオートに設定します。
DNSインターセプト設定0を指定します。
14. <PPPアカウント設定>
ppp0インタフェースで使用するISP接続用ユーザID,パスワードを設定します。
(☞) ここで設定したアカウントはppp0インタフェースの設定で利用します。
15. <WAN側(ppp0)インタフェース設定>
NXR_B(config-ppp)#ip address negotiated
NXR_B(config-ppp)#ip send-source
ppp0インタフェースのIPアドレスが動的IPアドレスのためnegotiatedを設定します。またip send-sourceを有効に設定します。
NXR_B(config-ppp)#ip access-group in ppp0_in
NXR_B(config-ppp)#ip access-group forward-out ppp0_forward-out
NXR_B(config-ppp)#ip spi-filter
NXR_B(config-ppp)#ip tcp adjust-mss auto
IPマスカレード、ステートフルパケットインスペクションを有効に設定します。またIPアクセスリストppp0_inをinフィルタ、ppp0_forward-outをforward-outフィルタに適用します。そしてTCP MSSの調整機能をオートに設定します。
DNSインターセプト設定0を指定します。
NXR_B(config-ppp)#ipsec policy 1
ISP接続用ユーザIDを設定します。またIPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。
16. <ethernet1インタフェース設定>
NXR_B(config-if)#no ip address
NXR_B(config-if)#pppoe-client ppp 0
PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。
17. <DNS設定>
NXR_B(config-dns)#service enable
DNSサービスを有効にします。
IPsec経由でアクセスするDNSサーバとしてルータNXR_A側で契約しているプロバイダのDNSサーバアドレスを設定します。
DNSのタイムアウト値を設定します。
18. <ファストフォワーディングの有効化>
ファストフォワーディングを有効にします。
【 端末の設定例 】
LAN_Aの端末 | LAN_Bの端末 | |
IPアドレス | 192.168.10.100 | 192.168.20.100 |
サブネットマスク | 255.255.255.0 | |
デフォルトゲートウェイ | 192.168.10.1 | 192.168.20.1 |
DNSサーバ |
【 補足1 】
DNSインターセプト用の定義ファイルの作成例です。
<DNSインターセプト用定義ファイル作成例>
*.example.co.jp
「*.example.com」は末尾がexample.comに該当するFQDNを対象とします。また「*.example.co.jp」についても同様です。
【 補足2 】
Microsoft Office365の通信を振り分ける場合、弊社ホームページからOffice365のリストファイルを取得することができます。
なお定期更新の設定も合わせて行う場合、上記設定を行った上で、スケジュールも合わせて設定します。
※Office365は、Microsoft Corporationの米国及びその他の国における登録商標または商標です。
【 付録 】
目次
更新情報
→ 一覧へカテゴリ
タグ
- CRG
- DDNS
- DHCP
- DNAT
- DNSインターセプト
- Ethernet
- IIJモバイル
- IKE Modeconfig
- IKEv2 Configuration Payload
- IPinIP
- IPoE
- IPv6
- KDDI
- L2TP/IPsec
- L2TPv3
- MAP-E
- NGN
- NTTドコモ
- PBR
- Policy Based IPsec
- PPP
- PPPoE
- QoS
- RADIUS連携
- RAシリーズ
- Route Based IPsec
- SMS
- SNAT
- SoftBank
- UPnP
- URL転送
- VLAN
- VRRP
- Web認証
- WiMAX
- コンフィグロールバック
- ネットイベント
- ファームウェア
- フィルタ
- ブリッジ
- モニタログ
- ワイモバイル
- 仮想スイッチ
- 冗長化
- 無線LAN