Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

VyOSでIPSec VPNの設定

More than 5 years have passed since last update.

やりたいこと

リモート拠点(たとえば自宅やクラウド)にあるサーバーにVPNで接続したいとき、ありますよね?
そういうときには、オープンソースのVyOSを使って簡単にVPNサーバーの設定をしてしまいましょう
こんなイメージです
スクリーンショット 2015-12-29 19.57.37.png

IPSec VPNの設定

今回はdesktop-to-site型のリモート接続を設定します
認証方式にはいくつかありますが、今回はL2TP/IPsecのVPNを設定します
では、どんな設定があるかみていきます

vpn ipsecの設定内容

●IPSecを張りたいインターフェースを指定

後でグローバルIPを指定しますので、グローバルIPを持っているインターフェースですね

set vpn ipsec ipsec-interfaces interface eth1

●NATに関わる設定

NATトラバーサルはONにすることが必須になっています

set vpn ipsec nat-traversal enable

ここにはclient ip poolとなる(クライアントに割り当てる)サブネットを記載しておきます

set vpn ipsec nat-networks allowed-network 192.168.1.0/24

vpn l2tpの設定内容

●アドレス設定

先ほどのサブネットの中からクライアントに割り当てるアドレス範囲を指定できます

set vpn l2tp remote-access client-ip-pool start 192.168.1.101
set vpn l2tp remote-access client-ip-pool stop 192.168.1.110

outside-addressにはVPNサーバーのグローバルIPを指定します
(outside-nexthopにはゲートウェイを指定していますが、必須ではありません)

set vpn l2tp remote-access outside-address X.X.X.X
set vpn l2tp remote-access outside-nexthop X.X.X.Y

●認証設定

事前共有鍵を設定します(ここではTESTSECRET)

set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret
set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret TESTSECRET

ユーザー名とパスワードを設定します(ここではTESTUSER:TESTPASS)

set vpn l2tp remote-access authentication mode local
set vpn l2tp remote-access authentication local-users username TESTUSER password TESTPASS

実際に接続するには、ここで設定した事前共有鍵、ユーザー名、パスワードをクライアント側で接続設定をする必要があります
クライアントの設定は下記リンクの「Configure Remote Access VPN Service on a Vyatta Appliance」を参考にしてください

その他、設定でできること

ログの設定

set vpn ipsec logging log-modes all

クライアント側IPアドレスの固定

set vpn l2tp remote-access authentication local-users username TESTUSER static-ip 192.168.1.105

ユーザーの無効化

set vpn l2tp remote-access authentication local-users username TESTUSER disable

まとめ

VyOSでのIPSec VPNサーバーとしての設定は簡単でしたよね?
さらにどんな設定内容かがわかっていれば、いざという時にすぐ対応できますね
クライアントへのIPアドレスの割り当て、ユーザー接続可否の設定、ファイアウォールを上手く組み合わせれば、ユーザーごとにアクセス先を制御することもできそうですね
また、ファイアウォールを設定している場合は、以下を必要に応じて開けてください

  • Internet Key Exchange (IKE) - User Datagram Protocol (UDP) port 500
  • Encapsulating Security Payload (ESP) - Internet Protocol (IP) 50
  • IPsec NAT-T - UDP port 4500

今回の設定内容

vyos@vyos# show vpn 
 ipsec {
     ipsec-interfaces {
         interface eth1
     }
     nat-networks {
         allowed-network 192.168.1.0/24 {
         }
     }
     nat-traversal enable
 }
 l2tp {
     remote-access {
         authentication {
             local-users {
                 username TESTUSER {
                     password TESTPASS
                 }
             }
             mode local
         }
         client-ip-pool {
             start 192.168.1.101
             stop 192.168.1.110
         }
         ipsec-settings {
             authentication {
                 mode pre-shared-secret
                 pre-shared-secret TESTSECRET
             }
         }
         outside-address X.X.X.X
         outside-nexthop X.X.X.Y
     }
 }

参考リンク

Brocade 5600 vRouter Remote Access VPN Reference Guide
http://www.brocade.com/content/dam/common/documents/content-types/configuration-guide/brocade-5600-vrouter-ravpn-3.5r6-v01.pdf
Configure Remote Access VPN Service on a Vyatta Appliance
http://www.rackspace.com/knowledge_center/article/configure-remote-access-vpn-service-on-a-vyatta-appliance
NAT traversal - Wikipedia
https://ja.wikipedia.org/wiki/NAT_traversal

khayama
このサイトにおける掲載内容はあくまで私自身の見解であり、必ずしも私の所属団体・企業における立場、戦略、意見を代表するものではありません。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away