L2TP/IPsec を用いたリモートアクセスVPN¶
動作確認バージョン: | Brocade 5600vRouter Version4.2R1S1 |
---|
ここでは、L2TP/IPsecを利用して、ファイアウォールにPCなど端末をリモートから接続させる設定を紹介します。
L2TP/IPsec VPNを利用することで、クライアントPCをサイト内にVPN接続をさせることが可能です。
L2TP/IPsec を利用したリモートアクセスの設定¶
ここでは、WindowsなどのクライアントからL2TP/IPsec VPNプロトコルを使用して、ファイアウォールへ接続させるリモートアクセスサーバーとしての紹介をします。
注釈
- 以下の手順では、Windowsクライアントからファイアウォールに接続する確認を実施しています。
- Windowsクライアントの設定方法に関しては、別途 動作確認済み利用モデル をご参照ください。
サンプル設定のシナリオ
- インターネットアクセスできるPCからファイアウォールにVPN接続させたい
- VPN接続には、L2TP/IPsecを利用して接続させたい
- クライアントPCの接続可否はファイアウォール設定に登録しているユーザ名とパスワードで認証したい
構成図
接続時の認証情報
ローカル認証ユーザ | test-user01 |
ローカル認証パスワード | testpass |
事前共有鍵パスフレーズ | testkey |
注釈
L2TP/IPsec設定前に、サーバー・クライアント間の通信は確立できているものとします。
シナリオにおける設定の流れ
1.IPsecで、接続してくる端末を許可するために、接続PCに利用させるネットワーク(192.168.3.0/28)を許可する
2.IPsecで、NATトラバーサル機能を有効にする
3.L2TP/IPsec接続してくるユーザは、ユーザ名:test-user01 パスワード:testpass で認証する
4.接続PCなどに利用させるIPアドレスは、192.168.3.4から192.168.3.9までを設定
5.L2TP/IPsec認証用に利用するパスワード:testkeyを設定
6.L2TPトンネルに利用するIPアドレスは、153.xx.xx.178を設定
7.L2TPトンネルに利用するIPのネクストホップアドレスに 153.xx.xx.190を設定
CLIにて入力するコマンド
set security vpn ipsec nat-networks allowed-network '192.168.3.0/28'
set security vpn ipsec nat-traversal 'enable'
set security vpn l2tp remote-access authentication local-users username test-user01 password 'testpass'
set security vpn l2tp remote-access authentication mode 'local'
set security vpn l2tp remote-access client-ip-pool start '192.168.3.4'
set security vpn l2tp remote-access client-ip-pool stop '192.168.3.9'
set security vpn l2tp remote-access ipsec-settings authentication mode 'pre-shared-secret'
set security vpn l2tp remote-access ipsec-settings authentication pre-shared-secret 'testkey'
set security vpn l2tp remote-access outside-address '153.xx.xx.178'
set security vpn l2tp remote-access outside-nexthop '153.xx.xx.190'
注釈
- CLIにて入力するコマンドについては、わかりやすくするためにパスワード等を記載しています。
正しく設定が完了したときのコンフィグレーションは次のとおりです。
security{
vpn {
ipsec {
nat-networks {
allowed-network 192.168.3.0/28
}
nat-traversal enable
}
l2tp {
remote-access {
authentication {
local-users {
username test-user01 {
password "********"
}
}
mode local
}
client-ip-pool {
start 192.168.3.4
stop 192.168.3.9
}
ipsec-settings {
authentication {
mode pre-shared-secret
pre-shared-secret "********"
}
}
outside-address 153.xx.xx.178
outside-nexthop 153.xx.xx.190
}
}
}
}
注釈
- CLIでコンフィグレーション参照時はパスワード部分は ***** で表示されます。
- グローバルIPアドレスは、実際には表示されますが、上記では、153.xx.xxという形でマスクさせていただいています。
動作確認結果
ファイアウォール側でクライアントからのリモートアクセス接続を受け付けており、接続できていることが確認できました。
経路情報も、直接接続という形で見えており、通信も可能になっておりますので、L2TP/IPsec 設定が正しく動作確認できました。
# ファイアウォール側からの接続確認 -> OK
# ユーザ名:test-user01 が接続しており、IPアドレスも、192.168.3.4が払い出されている
user-admin@raFW01:~$ date;show vpn remote-access
Sat Mar 18 10:37:15 UTC 2017
Active remote access VPN sessions:
User Proto Iface Tunnel IP TX byte RX byte Time
---- ----- ----- ----------- ------- ------- ----
test-user01 L2TP ppp0 192.168.3.4 402 10.8K 00h05m28s
# ファイアウォール側の経路確認 -> OK
# ファイアウォールで、クライアントPCの経路がConnect経路として確認が可能
*L2TP/IPsec利用時に 10.255.0.0/32は内部的に利用されるアドレスで自動生成されます。
user-admin@raFW01:~$ show ip route connect
IP Route Table for VRF "default"
C *> 10.255.0.0/32 is directly connected, ppp0
C *> xxx.xx.xx.0/20 is directly connected, dp0s3
C *> 127.0.0.0/8 is directly connected, lo
C *> 153.xxx.xxx.176/28 is directly connected, dp0s8
C *> 192.168.3.0/28 is directly connected, dp0s7
C *> 192.168.3.4/32 is directly connected, ppp0
C *> 192.168.3.16/28 is directly connected, dp0s11
user-admin@raFW01:~$
# ファイアウォール側からの通信確認 -> OK
user-admin@raFW01:~$ ping 192.168.3.4
PING 192.168.3.4 (192.168.3.4) 56(84) bytes of data.
64 bytes from 192.168.3.4: icmp_seq=1 ttl=128 time=1.55 ms
64 bytes from 192.168.3.4: icmp_seq=2 ttl=128 time=0.933 ms
64 bytes from 192.168.3.4: icmp_seq=3 ttl=128 time=0.793 ms
64 bytes from 192.168.3.4: icmp_seq=4 ttl=128 time=0.786 ms
64 bytes from 192.168.3.4: icmp_seq=5 ttl=128 time=1.09 ms
^C
--- 192.168.3.4 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.786/1.031/1.554/0.287 ms
user-admin@raFW01:~$