Edited at

VyOSでIPSec VPNの設定

More than 3 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