以前に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-arp
on 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
を設定する必要があります。