IPsec(サイト間トンネル)機能を用いた接続¶
動作確認バージョン: | vSRX Version22.4R1 |
---|
ファイアウォール(vSRX) では、IPsecがサポートされています。IPsecを利用してサイト間接続用トンネルの設定を紹介します。
IPsecのトンネルを構築することで、互いのサイト内ネットワークをIPsecトンネルを経由して接続し通信をすることが可能になります。
注釈
- vSRX Version15.1X49-D105.1, vSRX Version19.2R1.8をご利用いただく際に、特定のシナリオでコントロールプレーンのCPU値が高くなる傾向があることが確認されております。発生条件や留意事項詳細は、 バージョン固有の留意事項について をご確認ください。
IPsec(site-to-siteモード)接続¶
サンプル設定のシナリオ
- ファイアウォール間をVPN接続(トンネル接続)させ各ファイアウォール配下の仮想ルーター間で通信が可能にしたい
- VPN接続の方式は、IPsec機能(site-to-site)を利用したい
- IPsecの認証パラメータは、以下の表に基づいて設定したい
注釈
- IPsec設定前に2台のvSRX(ここではvSRX-01とvSRX-03)は互いにIP通信が可能な状態とします。
- vSRXではIPsec接続方法について、ルートベースVPNとポリシーベースVPNとよばれる2種類の接続方法があります。 このチュートリアルでは、ルートベースVPNを利用した方法で紹介いたします。 ルートベースVPNは、ルーティング設定に従って該当する通信をIPsecトンネルを使って通信させる方法になります。
- ポリシーベースVPNについては、 Juniper社公式サイト をご参照いただきますようお願い致します。
- ルートベースVPNとポリシーベースVPNの設定を混在して利用することはできません。
IPsecパラメータ情報
ファイアウォールでIPsecネゴシエーションや暗号化に必要なパラメータは以下のとおり設定します。
パラメータ | 値 |
---|---|
Phase1 | |
Authentication Method | Pre-shared key |
Pre-shared key password | IPSEC_KEY_1 |
DH group | group14 |
Encryption Algorithm | AES256-GCM |
ISAKMP SA lifetime | 28800 seconds |
IKE version | v2only |
Phase2 | |
Security protocol | ESP |
Encryption Algorithm | AES256-GCM |
IPSEC SA lifetime | 3600 seconds |
perfect-forward-secrecy keys | group14 |
Establish-tunnels | immediately |
シナリオにおける設定の流れ
- 1.ikeに関するプロポーザル(プロポーザル名:IKE_PROP1)の設定をします。
- 「Authentication Method」「DH group」「Encryption Algorithm」「lifetime-seconds」を上記パラメータ表のとおり設定
- 2.ikeに関するポリシー(ポリシー名:IKE_POL1)の設定をします。
- 「Pre-shared key」を上記パラメータ表のとおり設定
- IKEの実行モードをメインモードで設定
- ポリシーに適用するプロポーザル(IKE_PROP1)を設定
- 3.ikeに関するゲートウェイ(ゲートウェイ名:GW1)の設定をします。
- 「IKE version」を上記パラメータ表のとおり設定
- ゲートウェイに適用するポリシー(IKE_POL1)を設定
- IPsec接続先IPアドレス(192.168.3.103)の設定
- 送信元インターフェイスの設定
- 4.IPsecに関するプロポーザル(プロポーザル名:IPSEC_PROP1)の設定をします。
- 「Security Protocol」「Encryption Algorithm」「IPSEC SA lifetime」を上記パラメータ表のとおり設定
- 5.IPsecに関するポリシー(ポリシー名:IPSEC_POL1)の設定をします。
- 「perfect-forward-secrecy keys」を上記パラメータ表のとおり設定
- ポリシーに適用するIPsecプロポーザル(IPSEC_PROP1)を設定
- 6.IPsecVPN(VPN名:VPN1)の設定をします。
- 「Establish-tunnels」を上記パラメータ表のとおり設定
- 設定したIKEのゲートウェイ(ここではGW1)を設定
- IPsecポリシー(IPSEC_POL1)を設定
- 7.ルートベースVPNの設定
- トンネルインターフェイス(st0.0)の作成とIPアドレス設定
- 作成したst0.0をゾーン(ここでは Untrust)に適用
- IPsecVPN設定で利用するための設定(VPN1配下で設定)
- IPsec通信を通すためにスタティックルートを設定
- 8.ゾーンベースファイアウォール設定
- ローカルNWとリモートNWを設定
[vSRX-01] LOCAL_LAN: 192.168.11.0/24 , REMOTE_LAN: 192.168.33.0/24
[vSRX-03] LOCAL_LAN: 192.168.33.0/24 , REMOTE_LAN: 192.168.11.0/24
- IPsec通信のためのREMOTE_LAN(Untrustゾーン)からLOCAL_LAN(Trustゾーン)への通信許可の設定
注釈
- ゾーンベースファイアウォールの設定ポリシーや設定するネットワークなどはご利用の環境に合わせた形で 設定をお願い致します。
- 装置内Trustゾーンからの通信は全て許可する設定を想定しています。
CLIにて入力するコマンド
- vSRX-01側に入力するコマンド
(設定の流れ1~3)
user01@vSRX-01# set security ike proposal IKE_PROP1 authentication-method pre-shared-keys
user01@vSRX-01# set security ike proposal IKE_PROP1 dh-group group14
user01@vSRX-01# set security ike proposal IKE_PROP1 encryption-algorithm aes-256-gcm
user01@vSRX-01# set security ike proposal IKE_PROP1 lifetime-seconds 28800
user01@vSRX-01# set security ike policy IKE_POL1 pre-shared ascii-text IPSEC_KEY_1
user01@vSRX-01# set security ike policy IKE_POL1 mode main
user01@vSRX-01# set security ike policy IKE_POL1 proposals IKE_PROP1
user01@vSRX-01# set security ike gateway GW1 version v2-only
user01@vSRX-01# set security ike gateway GW1 ike-policy IKE_POL1
user01@vSRX-01# set security ike gateway GW1 address 192.168.3.103
user01@vSRX-01# set security ike gateway GW1 external-interface ge-0/0/2.0
(設定の流れ4~6)
user01@vSRX-01# set security ipsec proposal IPSEC_PROP1 protocol esp
user01@vSRX-01# set security ipsec proposal IPSEC_PROP1 encryption-algorithm aes-256-gcm
user01@vSRX-01# set security ipsec proposal IPSEC_PROP1 lifetime-seconds 3600
user01@vSRX-01# set security ipsec policy IPSEC_POL1 perfect-forward-secrecy keys group14
user01@vSRX-01# set security ipsec policy IPSEC_POL1 proposals IPSEC_PROP1
user01@vSRX-01# set security ipsec vpn VPN1 establish-tunnels immediately
user01@vSRX-01# set security ipsec vpn VPN1 ike gateway GW1
user01@vSRX-01# set security ipsec vpn VPN1 ike ipsec-policy IPSEC_POL1
(設定の流れ7)
user01@vSRX-01# set interfaces st0 unit 0 family inet address 172.16.13.1/24
user01@vSRX-01# set security zones security-zone untrust interfaces st0.0
user01@vSRX-01# set security ipsec vpn VPN1 bind-interface st0.0
user01@vSRX-01# set routing-options static route 192.168.33.0/24 next-hop st0.0
(設定の流れ8)
user01@vSRX-01# set security address-book global address LOCAL_LAN 192.168.11.0/24
user01@vSRX-01# set security address-book global address REMOTE_LAN 192.168.33.0/24
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy fromIPSEC match source-address REMOTE_LAN
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy fromIPSEC match destination-address LOCAL_LAN
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy fromIPSEC match application any
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy fromIPSEC then permit
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy DENY-ALL match source-address any
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy DENY-ALL match destination-address any
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy DENY-ALL match application any
user01@vSRX-01# set security policies from-zone untrust to-zone trust policy DENY-ALL then deny
- vSRX-03側に入力するコマンド
(設定の流れ1~3)
user01@vSRX-03# set security ike proposal IKE_PROP1 authentication-method pre-shared-keys
user01@vSRX-03# set security ike proposal IKE_PROP1 dh-group group14
user01@vSRX-03# set security ike proposal IKE_PROP1 encryption-algorithm aes-256-gcm
user01@vSRX-03# set security ike proposal IKE_PROP1 lifetime-seconds 28800
user01@vSRX-03# set security ike policy IKE_POL1 pre-shared ascii-text IPSEC_KEY_1
user01@vSRX-03# set security ike policy IKE_POL1 mode main
user01@vSRX-03# set security ike policy IKE_POL1 proposals IKE_PROP1
user01@vSRX-03# set security ike gateway GW1 version v2-only
user01@vSRX-03# set security ike gateway GW1 ike-policy IKE_POL1
user01@vSRX-03# set security ike gateway GW1 address 192.168.1.101
user01@vSRX-03# set security ike gateway GW1 external-interface ge-0/0/1.0
(設定の流れ4~6)
user01@vSRX-03# set security ipsec proposal IPSEC_PROP1 protocol esp
user01@vSRX-03# set security ipsec proposal IPSEC_PROP1 encryption-algorithm aes-256-gcm
user01@vSRX-03# set security ipsec proposal IPSEC_PROP1 lifetime-seconds 3600
user01@vSRX-03# set security ipsec policy IPSEC_POL1 perfect-forward-secrecy keys group14
user01@vSRX-03# set security ipsec policy IPSEC_POL1 proposals IPSEC_PROP1
user01@vSRX-03# set security ipsec vpn VPN1 establish-tunnels immediately
user01@vSRX-03# set security ipsec vpn VPN1 ike gateway GW1
user01@vSRX-03# set security ipsec vpn VPN1 ike ipsec-policy IPSEC_POL1
(設定の流れ7)
user01@vSRX-03# set interfaces st0 unit 0 family inet address 172.16.13.3/24
user01@vSRX-03# set security zones security-zone untrust interfaces st0.0
user01@vSRX-03# set security ipsec vpn VPN1 bind-interface st0.0
user01@vSRX-03# set routing-options static route 192.168.11.0/24 next-hop st0.0
(設定の流れ8)
user01@vSRX-03# set security address-book global address LOCAL_LAN 192.168.33.0/24
user01@vSRX-03# set security address-book global address REMOTE_LAN 192.168.11.0/24
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy fromIPSEC match source-address REMOTE_LAN
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy fromIPSEC match destination-address LOCAL_LAN
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy fromIPSEC match application any
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy fromIPSEC then permit
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy DENY-ALL match source-address any
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy DENY-ALL match destination-address any
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy DENY-ALL match application any
user01@vSRX-03# set security policies from-zone untrust to-zone trust policy DENY-ALL then deny
正しく設定が完了したときのコンフィグレーションは次のとおりです。
- vSRX-01コンフィグレーション
security {
ike {
proposal IKE_PROP1 {
authentication-method pre-shared-keys;
dh-group group14;
encryption-algorithm aes-256-gcm;
lifetime-seconds 28800;
}
policy IKE_POL1 {
mode main;
proposals IKE_PROP1;
pre-shared-key ascii-text "$9$Lf4x-bwY4ZDHfT3/tOhcXxNdbYDiqz6Cq."; ## SECRET-DATA
}
gateway GW1 {
ike-policy IKE_POL1;
address 192.168.3.103;
external-interface ge-0/0/2.0;
version v2-only;
}
}
ipsec {
proposal IPSEC_PROP1 {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3600;
}
policy IPSEC_POL1 {
perfect-forward-secrecy {
keys group14;
}
proposals IPSEC_PROP1;
}
vpn VPN1 {
bind-interface st0.0;
ike {
gateway GW1;
ipsec-policy IPSEC_POL1;
}
establish-tunnels immediately;
}
}
address-book {
global {
address REMOTE_LAN 192.168.33.0/24;
address LOCAL_LAN 192.168.11.0/24;
}
}
policies {
from-zone untrust to-zone trust {
policy fromIPSEC {
match {
source-address REMOTE_LAN;
destination-address LOCAL_LAN;
application any;
}
then {
permit;
}
}
policy DENY-ALL {
match {
source-address any;
destination-address any;
application any;
}
then {
deny;
}
}
}
}
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/2.0;
st0.0;
}
}
}
}
interfaces {
ge-0/0/1 {
unit 0 {
family inet {
address 192.168.11.101/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 192.168.1.101/24;
}
}
}
st0 {
unit 0 {
family inet {
address 172.16.13.1/24;
}
}
}
}
routing-options {
static {
route 192.168.33.0/24 next-hop st0.0;
}
}
- vSRX-03コンフィグレーション
security {
ike {
proposal IKE_PROP1 {
authentication-method pre-shared-keys;
dh-group group14;
encryption-algorithm aes-256-gcm;
lifetime-seconds 28800;
}
policy IKE_POL1 {
mode main;
proposals IKE_PROP1;
pre-shared-key ascii-text "$9$Lf4x-bwY4ZDHfT3/tOhcXxNdbYDiqz6Cq."; ## SECRET-DATA
}
gateway GW1 {
ike-policy IKE_POL1;
address 192.168.1.101;
external-interface ge-0/0/1.0;
version v2-only;
}
}
ipsec {
proposal IPSEC_PROP1 {
protocol esp;
encryption-algorithm aes-256-gcm;
lifetime-seconds 3600;
}
policy IPSEC_POL1 {
perfect-forward-secrecy {
keys group14;
}
proposals IPSEC_PROP1;
}
vpn VPN1 {
bind-interface st0.0;
ike {
gateway GW1;
ipsec-policy IPSEC_POL1;
}
establish-tunnels immediately;
}
}
address-book {
global {
address REMOTE_LAN 192.168.11.0/24;
address LOCAL_LAN 192.168.33.0/24;
}
}
policies {
from-zone untrust to-zone trust {
policy fromIPSEC {
match {
source-address REMOTE_LAN;
destination-address LOCAL_LAN;
application any;
}
then {
permit;
}
}
policy DENY-ALL {
match {
source-address any;
destination-address any;
application any;
}
then {
deny;
}
}
}
}
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/2.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
st0.0;
}
}
}
}
interfaces {
ge-0/0/1 {
unit 0 {
family inet {
address 192.168.3.103/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 192.168.33.103/24;
}
}
}
st0 {
unit 0 {
family inet {
address 172.16.13.3/24;
}
}
}
}
routing-options {
static {
route 192.168.11.0/24 next-hop st0.0;
}
}
動作確認結果
vSRX-01とvSRX-03で、IPsecトンネル接続できていることをログから確認しており、配下の仮想ルーター間で IPsecトンネル内を通過した通信も可能であることを確認しました。
仮想ルーター(192.168.11.201)から仮想ルーター(192.168.33.203)宛ての通信結果
user01@vRouter-01:~$ ping 192.168.33.203 count 10
PING 192.168.33.203 (192.168.33.203) 56(84) bytes of data.
64 bytes from 192.168.33.203: icmp_seq=1 ttl=62 time=9.46 ms
64 bytes from 192.168.33.203: icmp_seq=2 ttl=62 time=2.87 ms
64 bytes from 192.168.33.203: icmp_seq=3 ttl=62 time=3.04 ms
64 bytes from 192.168.33.203: icmp_seq=4 ttl=62 time=3.57 ms
64 bytes from 192.168.33.203: icmp_seq=5 ttl=62 time=2.70 ms
64 bytes from 192.168.33.203: icmp_seq=6 ttl=62 time=3.25 ms
64 bytes from 192.168.33.203: icmp_seq=7 ttl=62 time=3.10 ms
64 bytes from 192.168.33.203: icmp_seq=8 ttl=62 time=2.55 ms
64 bytes from 192.168.33.203: icmp_seq=9 ttl=62 time=3.29 ms
64 bytes from 192.168.33.203: icmp_seq=10 ttl=62 time=2.93 ms
--- 192.168.33.203 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9013ms
rtt min/avg/max/mdev = 2.552/3.680/9.468/1.950 ms
user01@vRouter-01:~$
仮想ルーター(192.168.33.203)から仮想ルーター(192.168.11.201)宛ての通信結果
user01@vRouter-03:~$ ping 192.168.11.201 count 10
PING 192.168.11.201 (192.168.11.201) 56(84) bytes of data.
64 bytes from 192.168.11.201: icmp_seq=1 ttl=62 time=13.3 ms
64 bytes from 192.168.11.201: icmp_seq=2 ttl=62 time=3.61 ms
64 bytes from 192.168.11.201: icmp_seq=3 ttl=62 time=3.22 ms
64 bytes from 192.168.11.201: icmp_seq=4 ttl=62 time=3.14 ms
64 bytes from 192.168.11.201: icmp_seq=5 ttl=62 time=2.90 ms
64 bytes from 192.168.11.201: icmp_seq=6 ttl=62 time=3.24 ms
64 bytes from 192.168.11.201: icmp_seq=7 ttl=62 time=3.60 ms
64 bytes from 192.168.11.201: icmp_seq=8 ttl=62 time=3.17 ms
64 bytes from 192.168.11.201: icmp_seq=9 ttl=62 time=2.91 ms
64 bytes from 192.168.11.201: icmp_seq=10 ttl=62 time=3.31 ms
--- 192.168.11.201 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 2.905/4.253/13.387/3.053 ms
user01@vRouter-03:~$
- vSRX-01のIPSEC接続状況確認
user01@vSRX-01> show security ike security-associations
Index State Initiator cookie Responder cookie Mode Remote Address
137031 UP 4994f91cc5a7afd7 5e2c4c8cf061daa5 IKEv2 192.168.3.103
user01@vSRX-01> show security ipsec security-associations
Total active tunnels: 1
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<131073 ESP:aes-gcm-256/None 8e61521c 1799/ unlim - root 500 192.168.3.103
>131073 ESP:aes-gcm-256/None fa047078 1799/ unlim - root 500 192.168.3.103
- vSRX-03のIPSEC接続状況確認
user01@vSRX-03> show security ike security-associations
Index State Initiator cookie Responder cookie Mode Remote Address
7856221 UP 4994f91cc5a7afd7 5e2c4c8cf061daa5 IKEv2 192.168.1.101
user01@vSRX-03> show security ipsec security-associations
Total active tunnels: 1
ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway
<131073 ESP:aes-gcm-256/None fa047078 1633/ unlim - root 500 192.168.1.101
>131073 ESP:aes-gcm-256/None 8e61521c 1633/ unlim - root 500 192.168.1.101