L2TP/IPsecのリモートクライアント接続の設定方法

2016-09-25 10:55Blog

l2tp

以前にPPTPのリモートクライアント接続について書きましたが、今回はL2TP/IPsecのリモートクライアント接続について書いてみようと思います。

修正(2016-09-29):

Android 6.0で接続できないことがあったので、Proposal設定を見直しました。

2019/06/16:追記

RouterboardからLAN側への接続を行う場合の注意点を追記。

環境

  • RB450G
  • RouterOS 6.30rc25  6.37
  • webfigにて設定

設定手順

1. IP > Poolを選択し、Add Newをクリックする。

2. Pool名をわかりやすいPool名に、Addressは払い出したいIPアドレスレンジを指定する。

3. PPP -> ProfileからAddNewをクリックする。

4. NameLocal AddressRemote AddressUse Encryptionを以下の値に設定する。

  • Name:好きなように
  • Local Address: 192.168.88.1
  • Remote Address: 先ほど作成したPool
  • Use Encryption: Yes

5. PPP > Interfaceから、L2TP Serverをクリックする。

6. 以下のように設定する。

  • Enable: チェックする。
  • Max MTU、Max MRU: 1280程度が好ましい
  • Default Profile: 先ほど作成したPPP Profileを選択する。
  • Authentication: mschap2のみ
  • Use IPsec: チェック
  • IPsec Secret: IPsecのための共通鍵(共有シークレット)を入力する。なるべく長めのパスワードが好ましい。

7. IP > IPsecProposalsタブをクリック。

8. defaultをクリックし以下の内容になるようにする。

  • Enable: チェックする
  • Auth. Algorithms: sha1
  • Encr. Algorithms: 3des. aes-256 cbc, aes-256-ctr
  • Lifetime: 00:30:00
  • PFS Group: modp3072

8. PPP > SecretsからAdd Newをクリックする。(接続ユーザーの作成)

9. 以下のように設定する。

  • Enabled: チェックする
  • Name: ユーザー名に該当する。
  • Password: パスワード。なるべく長いものが好ましい
  • Service: L2TP
  • Profile: 先ほど作成したPPP Profileを選択

10. Firewallに以下のルールを追加する。

  • chain: Input、Action: Accept、Protocol: UDP、Dst Port 500
  • chain: Input、Action: Accept、Protocol: UDP、Dst Port 1701
  • chain: Input、Action: Accept、Protocol: UDP、Dst Port 4500
  • chain: Input、Action: Accept、Protocol: ipsec-esp
  • chain: Input、Action: Accept、Protocol: ipsec-ah
/ip firewall filter
add chain=input comment="allow l2tp" dst-port=1701 protocol=udp
add chain=input dst-port=500 protocol=udp
add chain=input protocol=ipsec-ah
add chain=input protocol=ipsec-esp
add chain=input dst-port=4500 protocol=udp

今回はInternalと同じIPアドレスを払い出しているので、特別なNAT設定は必要ないかと思いますが、払い出すIPアドレスを意図的に変える場合は、NAT設定を追加するようにしてください。

参考情報

最後にWindowsやMac OSXから接続する場合の設定については以下のWebサイトを参照してください。

Windows 7/8 (L2TP/IPsec) : VPNクライアントとの接続 : UNIVERGE IXシリーズ | NEC /
http://jpn.nec.com/univerge/ix/Support/l2tp_ipsec/windows.html

MacOS XのVPN(L2TP/IPsec)設定手順 /
http://www.seil.jp/support/tech/doc/users-guide/pppac-client/macosx_l2tp.html

繋がらないなどありましたら、コメントやフォーラムへコメントいただけますと助かります。

それでは良いRouterboardライフを!

2019/06/16:追記

L2TP/IPsec設定をしたRouterboardへ接続した際、さらに内側となるLAN側にある機器へのアクセスが必要な場合、さらに設定が必要になります。

このことについては、Wikiには一応書いてあるようですが小さいのでこちらでも書いておきます。

At this point (when L2TP client is successfully connected) if you will try to ping any workstation from the laptop, ping will time out, because Laptop is unable to get ARPs from workstations. Solution is to set up proxy-arp on local interface

https://wiki.mikrotik.com/wiki/Manual:Interface/L2TP#Connecting_Remote_Client
[[email protected]] interface ethernet> set ether2 arp=proxy-arp
[[email protected]] interface ethernet> print
Flags: X - disabled, R - running
  #    NAME                 MTU   MAC-ADDRESS         ARP
  0  R ether1              1500  00:30:4F:0B:7B:C1 enabled
  1  R ether2              1500  00:30:4F:06:62:12 proxy-arp
[[email protected]] interface ethernet>

接続元PCは接続先対象LAN側機器からARPを取得できないため、pingはタイムアウトします。解決するためにはlocal側インタフェースにproxy-arpを設定する必要があります。