L2TP(Layer-2 Tunneling Protocol)は、IPSec(Security Architecture for Internet Protocol)と呼ばれるネットワーク層の暗号化技術と組み合わせて、パケット全体を暗号化することができるため、PPTP以上の強固なセキュリティを確保することができます。具体的には認証ヘッダ(AH)や暗号ペイロード(ESP)という構造をIPパケットに付加し、その中にIPパケットの暗号情報や認証情報を格納することによって、パケット毎のセキュリティー機能を実現しています(PPTPの場合はヘッダ情報を暗号化することはできず、実データのみの暗号しかできません)。より機密性の高い情報を扱う際には十分な効力を発揮します。
Global側 | eth0 | 10.10.100.1 |
Local側 | eth1 | 192.168.1.1 |
+----------+ +----------+ | | | | | |eth1 eth0| |eth1 + Windows +------------- INTERNET ------------+ router-A +----- | | | | | | | | +----+-----+ +----+-----+
set vpn ipsec ipsec-interfaces interface eth0 set vpn ipsec nat-networks allowed-network [ネットワークセグメント] set vpn ipsec nat-traversal enable set vpn l2tp remote-access authentication local-users username [ユーザ名] password [パスワード] set vpn l2tp remote-access authentication mode local set vpn l2tp remote-access client-ip-pool start [払い出し開始IPアドレス] set vpn l2tp remote-access client-ip-pool stop [払い出し終了IPアドレス] set vpn l2tp remote-access dns-servers server-1 (DNSサーバIPアドレス) set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret (Pre-Shareキー) set vpn l2tp remote-access outside-address (VPN接続待ちうけIPアドレス)
vpn { ipsec { ipsec-interfaces { interface eth0 } nat-networks { allowed-network 192.168.1.0/24 { } } nat-traversal enable } l2tp { remote-access { authentication { local-users { username vpn-user { password **************** } } mode local } client-ip-pool { start 192.168.1.200 stop 192.168.1.220 } dns-servers { server-1 10.10.100.5 server-2 10.10.100.2 } ipsec-settings { authentication { mode pre-shared-secret pre-shared-secret **************** } } outside-address 10.10.100.1 } } }
上記の設定で、Windowsあkらl2tp/ipsec接続が可能になりますが、
router-A 側のローカルから外部に接続できません。
外部へ接続できるようにするには、Natマスカレードの設定を入れてあげる。