こんにちは。ネットワーク事業部の渡邉です。
先日、お客様のUTMのリプレイスをしました。
使用した機器はFortiGateです。その中で、自分はリモートVPNの設定を担当しました。
そこで、今回は自分が行ったFortiGateのVPN(L2TP/IPsec)の設定例をご紹介していきます。
FortiGateについて
今回の設定で使用しているのは「FortiGate60F」で、FortiOSは6.4.4です。
FortiGateはUTMなので、アンチウィルスやアンチスパム、ファイアウォールなど、ネットワーク上でセキュリティを担うのが本業です。しかし、PPPoEクライアント機能やDNSサーバ機能、DHCPサーバ機能など、一般的なブロードバンドルータが備えているような機能もあるため、セキュリティ機能の豊富なルータとして使うことができます。
今回はFortiGateにPPPoE接続の設定を行い、外部からVPN(L2TP/IPsec)で接続する形になります。
FortiGateでのVPN
今回はWindows10に備わっているVPNクライアント機能を使用してL2TP/IPsecで接続します。以前YAMAHAルータの記事で取り上げたのと同じ形です。
ちなみに、FortiGateでVPNを使う場合、他には「FortiClient」という専用のクライアントソフトを使う方法があります。
FortiClientはFortiGateのエンドポイントとして登録することにより、エンドポイント(PCなど)でアンチウィルスやファイアウォールなどのセキュリティを利用できるようにするソフトウェアですが、これらの利用にはライセンスの購入が必要です。
ただし、FortiClientもVPN接続用としてだけ使う分には無料の「FortiClient VPN」が用意されています。
なお、今回の設定では、FortiGateでPPPoE接続(WAN1)、DNSサーバ、DHCPサーバの設定が既にされているものとします。
この辺りの設定については、市販のブロードバンドルータとそれほど変わらないので割愛します。
設定
今回のVPNの設定に必要なことは大まかに分けて3つです。
- ユーザを設定する
- VPNトンネルを設定する
- ファイアウォールを設定する
なお、VPNクライアントに割り当てるプライベートIPアドレスや、VPNトンネルの一部の設定はGUIから設定できないので、設定にはGUIとCLIを併用します。
VPNユーザの設定
まずはGUIでユーザとユーザグループを作成します。
例として、次の設定で作成していきます。
- ユーザ名:example
- パスワード:password
①ユーザタイプ
②ログインクレデンシャル
③コンタクト情報
④エキストラ情報
ユーザグループの作成
また、後々ファイアウォールポリシーで使用するので、この後設定するVPNクライアント用のIPアドレスの範囲をアドレスオブジェクトとして登録しておきます。
今回は例として「192.168.0.241~192.168.0.242」の範囲をVPNクライアント用IPとして設定します。
続いて、CLIからL2TPの有効化と、VPNクライアントに割り当てるIPアドレスの範囲、L2TPを使うユーザグループを設定します。
設定内容としては次の通りです。
1 2 3 4 5 6 |
config vpn l2tp set eip 192.168.0.242 set sip 192.168.0.240 set status enable set usrgrp "User-Group" end |
ちなみに、YAMAHAのルータ辺りに慣れていると上から順にコマンドを打ちたくなるところですが、最初に「set status enable」のコマンドでL2TPを有効にしないと、他のコマンドは受け付けてもらえません。
また、割り当てIP範囲については「sip」で入力したIPは使われません。実際に使用されるのは「sip」の次のIPから「eip」までです。
そのため、上記の設定で「192.168.0.241~192.168.0.242」の範囲の設定になります。
トンネルの設定
まずはGUIからトンネルの設定をします。
設定内容は次の通りです。
また、ここでVPNの接続に必要な事前共有鍵の設定を行います。例として事前共有鍵は「XXXXXXXX」として設定します。
そのほか、とくに注意しておくところは「IPsecインターフェースモードを有効化」のチェックを外しておくところです。
続いて、CLIでトンネルの設定を修正します。
設定内容は次の通りです。
1 2 3 4 5 6 7 8 9 10 |
config vpn ipsec phase2 edit "L2TP_example-P2" set phase1name "L2TP_example" set proposal 3des-sha1 aes192-sha1 aes256-md5 set pfs disable set encapsulation transport-mode set l2tp enable set keylifeseconds 86400 next end |
コマンドで入力が必要になるところは「set encapsulation transport-mode」と「set l2tp enable」の部分です。その他の部分は先ほどGUIで設定した部分になっています。
ちなみに、GUIの設定で先述の「IPsecインターフェースモードを有効化」のチェックを外し忘れたところ、「set l2tp enable」のコマンドを受け付けてもらえなくてやり直す羽目になりました。
GUIとはいえ、やり直すと結構面倒なので設定値はよく確認しましょう。
ファイアウォールの設定
作成が必要になるポリシーは次の2つです。
①WAN→LANのポリシー
②LAN→WANのポリシー
これでFortiGateの設定は完了です。
あとはWindows10のVPNクライアント機能で、L2TPの接続設定をすればOKです。
今回の場合はここまでに設定した次の内容になります。
事前共有キー:XXXXXXXX
ユーザ名:example
パスワード:password
補足設定:VPN中に外部と通信できるようにする
ここまでの設定でリモートVPNの接続は可能ですが、この状態だとVPNの接続中はWEBの閲覧など外部との通信ができません。
VPNの接続をすると、Windowsの初期設定ではVPNの接続先がゲートウェイになります。
この状態でWEBの閲覧などをする場合、FortiGateから見るとWAN側からWAN側への通信になります。
そのため、VPN中に外部との通信をするためには、WAN→WANの通信を許可するポリシーが必要になります。
必須の設定ではありませんが、必要な場合は次のように設定しましょう。
まとめ
最近はテレワークの普及などでVPNの需要が増えているかと思いますが、それを実現するための手段は多岐にわたります。
今回はUTMであるFortiGateを使っていますが、たとえばYAMAHAなどのVPNルータを導入するのとどちらが良いのかというと、ケースバイケースだと思います。
いずれにせよ、やりたいことに対して何を重視していくのかが結局のところ焦点になりますので、まずはそこを明確にして、実行する手段を選んでいきましょう。