ライン

ポイント:*

ライン

 はじめに

L2TP+IPsecで再チャレンジ

 トップページから参照された方はおわかりかと思いますが、SEIL/x86であっけなく L2TP+IPsecの接続ができてしまいました。
VyOSでも同様をもう一度構築してみようということで、L2TP+IPsecで再チャレンジすることにしました。
環境は、これまでに同じくVMware Hypervisor 5.5の環境に64bit版で導入します。

 導入

 ホームページに書かれている通りですので、あらかじめ参照しておきます。
512MBのメモリーと2GB程度のストレージという記載もこれまで通りです。
ダウンロードは、前回より少しバージョンが上がっていて、1.1.0の版の64Bit版を選択して来ます。

 では、導入をします。

→ここは、後にわかりましたが、Debian GNU/Linux 6 (64bit)でもいいみたいです。
上記の設定にしても、それになっていました

…と、前回に同じ流れで。ハードディスクは容量があるので4GBにしてみていますが、2GBで大丈夫です。
起動し、ISOマウントして始めます。

初期パスワードの変更設定が増えたりしていました。
リブートコマンドを入れ、KVMのメニュー経由で上がってくれば完了です。

 設定

 導入直後より、VMware toolsは導入済で上がってきました。

 さて、いつものように rootにパスワード付与をしておきます。

vyos@vyos:~$ configure
[edit]
vyos@vyos:# set system login user root authentication plaintext-password rootのパスワード

できあがりです。

 次は、ネットワークの設定です。
 eth0をプライベート側。eth1をグローバルのアドレスで固定IPアドレスします。 MACアドレスを把握するために以下を入力します。

この後は、configureですが、rootからはダメみたいなので、一度vyosのアカウントに降りて操作します。

# set interfaces ethernet eth0 description 'private'
# set interfaces ethernet eth1 address 'XXX.YYY.ZZZ.aaa/24'
# set interfaces ethernet eth1 description 'global'
# set interfaces ethernet eth0 address '192.168.140.1/24'
# set system time-zone Asia/Tokyo
# set service ssh port '9922'
# set system name-server DNSアドレス
# delete system ntp
# set system ntp server ntp.jst.mfeed.ad.jp
# set system gateway-address デフォルトゲートウェイアドレス
# commit
# save

のように、突っ込んでおきました。
これでやっとSSHで接続して操作できるようになりました。
Firewallの設定は、本家ページを参考に作成しました。

# set firewall name OUTSIDE-IN default-action 'drop'
# set firewall name OUTSIDE-IN rule 10 action 'accept'
# set firewall name OUTSIDE-IN rule 10 state established 'enable'
# set firewall name OUTSIDE-IN rule 10 state related 'enable'
# set firewall name OUTSIDE-LOCAL default-action 'drop'
# set firewall name OUTSIDE-LOCAL rule 10 action 'accept'
# set firewall name OUTSIDE-LOCAL rule 10 state established 'enable'
# set firewall name OUTSIDE-LOCAL rule 10 state related 'enable'
# set firewall name OUTSIDE-LOCAL rule 20 action 'accept'
# set firewall name OUTSIDE-LOCAL rule 20 icmp type-name 'echo-request'
# set firewall name OUTSIDE-LOCAL rule 20 protocol 'icmp'
# set firewall name OUTSIDE-LOCAL rule 20 state new 'enable'
# set firewall name OUTSIDE-LOCAL rule 30 action 'drop'
# set firewall name OUTSIDE-LOCAL rule 30 destination port '9922'
# set firewall name OUTSIDE-LOCAL rule 30 protocol 'tcp'
# set firewall name OUTSIDE-LOCAL rule 30 recent count '4'
# set firewall name OUTSIDE-LOCAL rule 30 recent time '60'
# set firewall name OUTSIDE-LOCAL rule 30 state new 'enable'
# set firewall name OUTSIDE-LOCAL rule 31 action 'accept'
# set firewall name OUTSIDE-LOCAL rule 31 destination port '9922'
# set firewall name OUTSIDE-LOCAL rule 31 protocol 'tcp'
# set firewall name OUTSIDE-LOCAL rule 31 state new 'enable'
# set firewall name OUTSIDE-LOCAL rule 40 action 'accept'
# set firewall name OUTSIDE-LOCAL rule 40 protocol 'esp'
# set firewall name OUTSIDE-LOCAL rule 41 action 'accept'
# set firewall name OUTSIDE-LOCAL rule 41 destination port '500'
# set firewall name OUTSIDE-LOCAL rule 41 protocol 'udp'
# set firewall name OUTSIDE-LOCAL rule 42 action 'accept'
# set firewall name OUTSIDE-LOCAL rule 42 destination port '4500'
# set firewall name OUTSIDE-LOCAL rule 42 protocol 'udp'
# set firewall name OUTSIDE-LOCAL rule 43 action 'accept'
# set firewall name OUTSIDE-LOCAL rule 43 destination port '1701'
# set firewall name OUTSIDE-LOCAL rule 43 ipsec 'match-ipsec'
# set firewall name OUTSIDE-LOCAL rule 43 protocol 'udp'
# set interfaces ethernet eth1 firewall in name 'OUTSIDE-IN'
# set interfaces ethernet eth1 firewall local name 'OUTSIDE-LOCAL'

こんな感じでL2TP + IPsecとsshの口は開けておきました。

# set nat source rule 110 outbound-interface 'eth0'
# set nat source rule 110 source address '192.168.128.0/24'
# set nat source rule 110 translation address masquerade
# set vpn ipsec ipsec-interfaces interface eth1
# set vpn ipsec nat-traversal enable
# set vpn ipsec nat-networks allowed-network 0.0.0.0/0
# set vpn l2tp remote-access outside-address XXX.YYY.ZZZ.aaa
# set vpn l2tp remote-access client-ip-pool start 192.168.128.1
# set vpn l2tp remote-access client-ip-pool stop 192.168.128.255
# set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret
# set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret <secret>
# set vpn l2tp remote-access authentication mode local
# set vpn l2tp remote-access authentication local-users username <username> password <password>
# commit
# save

共通のキーは<secret>部分に、ローカルで接続するためのIDとパスワードは、<username>と<password>に置き換えて入力します。
IDは複数登録できますので、必要な人数分を記載しておけばいいと思います。
つっこんだコマンドは、以下で確認することができます。

# show configuration commands 

普通にsshは、/etc/hosts.allowが記述できますので、sshdの接続元の制限を入れておきます。
詳細な書き方は、ここでは省略します。

 Windows 7で接続

設定は、Windows 7のVPN(L2TP-IPsec)設定手順のページに相当するOSの設定を行ったのみです。
ログインのアドレスに@example.jp という部分はありませんが、その他は同じです。

実際に接続してみました。

問題無く接続し、向こう側のネットワークが見えるようになりました。
そして向こう側経由でインターネットも参照できるようになりました。(でも見え方が違う?)

SEIL/x86と比較すると、設定する箇所が多い分、フリーで利用できる部分ではメリットがあります。
OSのコマンドを利用できたりする部分でもなじみはあります。
shutdownコマンドで落としたり、VMToolsが入ったりと気分的には普通のLinuxのようです。

ただ、接続して利用する通信は、SEILの方が感覚的に速くて、VyOSの方が格段に遅く感じます。
実用からするとSEILの方が優位でした。もしかすると、vmxnet3を使うよりも2もしくはE1000で接続する方がいいのかも知れませんが。

あれ?ログを眺めてみるとどこまでまた勘違いしている感じ。

vyos pppd[6607]: pppd 2.4.4 started by root, uid 0
vyos zebra[2399]: interface ppp0 index 8 <POINTOPOINT,NOARP,MULTICAST> added.
vyos pppd[6607]: Connect: ppp0 <--> /dev/pts/0
vyos zebra[2399]: interface ppp0 mtu changed from 1500 to 1400
vyos pppd[6607]: Unsupported protocol 'IPv6 Control Protovol' (0x8057) received
vyos pppd[6607]: Unsupported protocol 'Compression Control Protocol' (0x80fd) received
vyos zebra[2399]: warning: PtP interface ppp0 with addr 10.255.255.0/32 needs a peer address
vyos zebra[2399]: interface index 8 was renamed from ppp0 to l2tp0
vyos ripd[2401]: interface delete ppp0 index 8 flags 0x1090 metric 1 mtu 1400
vyos ripngd[2403]: interface delete ppp0 index 8 flags 0x1090 metric 1 mtu 1400
vyos pppd[6607]: Cannot determine ethernet address for proxy ARP
vyos pppd[6607]: local  IP address 10.255.255.0
vyos pppd[6607]: remote IP address 192.168.128.1
vyos zebra[2399]: interface l2tp0 index 8 changed <UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>.

うーん。何か触っているうちに動きが怪しい状態に…??

$ configure
# load /opt/vyatta/etc/config.boot.default
# commit
# save
# exit
$ reboot

一度削除して、動作したタイミングで保存した設定で再確認したものの、動作しない状態になってしまいました。

【改訂履歴】作成:2014/11/15 更新:
【参考リンク】

VyOS…本家ホームページ

Copyright © 1996,1997-2006,2007- by F.Kimura,