
以前にPPTPのリモートクライアント接続について書きましたが、今回はL2TP/IPsecのリモートクライアント接続について書いてみようと思います。
修正(2016-09-29):
Android 6.0で接続できないことがあったので、Proposal設定を見直しました。
2019/06/16:追記
RouterboardからLAN側への接続を行う場合の注意点を追記。
環境
- RB450G
- RouterOS
6.30rc256.37 - webfigにて設定
設定手順
1. IP > Poolを選択し、Add Newをクリックする。

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

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

4. Name、Local Address、Remote Address、Use 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 > IPsecのProposalsタブをクリック。

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
https://wiki.mikrotik.com/wiki/Manual:Interface/L2TP#Connecting_Remote_Clientproxy-arpon local interface
[admin@RemoteOffice] interface ethernet> set ether2 arp=proxy-arp [admin@RemoteOffice] 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 [admin@RemoteOffice] interface ethernet>
接続元PCは接続先対象LAN側機器からARPを取得できないため、pingはタイムアウトします。解決するためにはlocal側インタフェースにproxy-arpを設定する必要があります。


