ライン

ポイント:*

ライン

 はじめに

VyattaからフォークしたネットワークOS

 そろそろホームページをリニューアルをしようと思っていましたけど、その前にVyOSを試すことにしました。
環境は、VMware Hypervisor 5.5の環境に64bit版で導入します。

 バグっぽい動きをしているのにそのまま放置のVyattaですが、個人的にはまだ利用中。
しかしながら、ブロケード社とは別にフォークしたVyOSはどんな感じかは良く知りません。
 このタイミングで見てみようと思います。
※本ページは途中までで頓挫しています。別ページにもVyOSの作業メモがありますので、そちらを参照ください※

 導入

 Wikiで書かれているホームページを眺めてみました。英語なのでどうにかなりそうです。
要求仕様は、512MBのメモリーと2GB程度のストレージがあれば良さそうです。

 今回は、64bit版なので、amd64.isoを利用することになります。ftpも日本にミラーサイトがありますので、Vyattaのようにのろのろでいらつくこともさなそうです。(実際に上記程度で完了します)

 では、導入をします。

…ということで、Vyattaのフォークなので、ここ辺りは同じで進む。

…Continune以外は、エンターするだけに近いです。パスワードはそれぞれ入れてください。
リブートコマンドを入れ、KVMのメニュー経由で上がってくれば完了です。

 設定

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

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

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

できあがりです。後はsu でifconfig -aなど確認しておきたいものを見ておきます。

set system login user foo authentication plaintext-password '~'
set system login user foo authentication public-keys fkimura@windowspc 'ZZZZ~~='
set system login user foo authentication public-keys fkimura@windowspc type 'ssh-rsa'

これは、普通に接続して利用するように準備したアカウントの作成方法です。ここは必要ならどうぞ。

 次は、ネットワークの設定です。今回はPPPoEなどは予定がないので、OpenVPN接続でも試そうと思います。
上記では、キャプチャーを省略していますけど、NICは2つ接続してあります。
 ここでは、インターネットの固定IPアドレスと、家庭やオフィスなどのプライベートLANのIPアドレスの2つです。

こんな感じで、eth0とeth1にどっちが割当されているかを確認することもできます。
この後は、configureで、

# set interfaces ethernet eth0 address dhcp
# set interfaces ethernet eth0 description 'private'
# set interfaces ethernet eth1 address 'XXX.YYY.ZZZ.aaa/24'
# set interfaces ethernet eth1 description 'global'
# 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 '22'
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 '22'
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 'drop'
set firewall name OUTSIDE-LOCAL rule 40 destination port '1194'
set firewall name OUTSIDE-LOCAL rule 40 protocol 'udp'
set firewall name OUTSIDE-LOCAL rule 40 recent count '4'
set firewall name OUTSIDE-LOCAL rule 40 recent time '60'
set firewall name OUTSIDE-LOCAL rule 40 state new 'enable'
set firewall name OUTSIDE-LOCAL rule 41 action 'accept'
set firewall name OUTSIDE-LOCAL rule 41 destination port '1194'
set firewall name OUTSIDE-LOCAL rule 41 protocol 'udp'
set firewall name OUTSIDE-LOCAL rule 41 state new 'enable'

こんな感じでOpenVPNの口は開けておきました。

set interfaces ethernet eth1 firewall in name 'OUTSIDE-IN'
set interfaces ethernet eth1 firewall local name 'OUTSIDE-LOCAL'
commit
save

つっこんだコマンドは、以下で確認することができます。

# show configuration commands 

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

 その他

 この後は、VPN接続のメモを書くつもりなんですが、サッカーの始める時間帯に近づきましたので、ミスを避けるためにこの辺りにします。
気になっている課題を以下に書きます。

vyos vmsvc[2288]: [ warning] [guestinfo] Failed to get vmstats.
vyos vmsvc[2288]: last message repeated 2 times

のようにメッセージが続いています。1分毎かな。
これはVMware Toolsっぽいですよね。open-vm-toolsということになるかな。
デビアン系のバグ? Vyattaでも出ているかは確認していないけど…というか普通にLinuxのVMware Tools入れているからな。
→/etc/vmware-tools/tools.conf をばっさりと以下に設定。必要になったら変えるからいいことにした。
[logging]
vmsvc.level=error
みんなはどうやっているのだろう?

 OpenVPN

 さて、ページはアップロードしましたが、サッカーTV観戦しつつ続きを作業します。(ミス必須?!)
VyattaもVyOSもOpenVPNが含まれていますので、設定だけでいけるはずです。
 この辺りの作業は、書籍「Vyattan入門」(技術評論社)を参考にして設定してしまいます。
# お持ちじゃ無い方は是非お手元に。

# cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
# . ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys
# ./clean-all
# ./build-ca
# ./build-key-server example.jp
# ./build-key client
# ./build-dh
# cd keys
# cp -p ./ca.crt /config/auth
# cp -p ./example.jp.crt /config/auth
# cp -p ./yotsuya.radio.gr.jp.key /config/auth
# cp -p ./dh1024.pem /config/auth

 鍵関係の初期準備をしました。
さて、VyOS側の設定を行います。

# configure
# set interfaces openvpn vtun0
# set interfaces openvpn vtun0 mode server
# set interfaces openvpn vtun0 server subnet 192.168.100.0/24
# set interfaces openvpn vtun0 tls ca-cert-file /config/auth/ca.crt
# set interfaces openvpn vtun0 tls cert-file /config/auth/example.jp.crt
# set interfaces openvpn vtun0 tls key-file /config/auth/example.jp.key
# set interfaces openvpn vtun0 tls dh-file /config/auth/dh1024.pem
# set interfaces openvpn vtun0 openvpn-option "--push route 192.168.1.0 255.255.255.0"
# commit
# save

こんな感じ。

さて、クライアント用を準備。

# cd ..
# ./build-key client

できあがったファイルは、後ほどクライアントにコピーして接続利用します。

 Windows 7で接続

クライアント接続を行ってみます。まずクライアントのダウンロードを行います。
インストールは英語ですが進めていきます。

C:\Program Files\OpenVPN\sample-configのclient.ovpnをC:\Program Files\OpenVPN\configにコピー。
これをサクラエディタで開きます。

これが設定ファイル。設定は以下を変更します。

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
;;2014-07-06;;remote my-server-1 1194
;remote my-server-2 1194
remote XXX.YYY.ZZZ.aaa 1194
..
..
..
# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
;;2014-07-06;;comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

remoteの部分は、サーバに付けたIPアドレスを指定しておきます。
FQDNでもいいです。

次に、同じフォルダにサーバ側で作成したファイルを置きます。
そして、システムトレイにあるアイコンの接続をクリックします。

接続完了。しかし、ログには

vyos openvpn-vtun0[-]: client/- Need IPv6 code in mroute_extract_addr_from_packet

とかほざいているみたいだ。

良くわからないので、IPv6でのおしゃべりはおやめいただきました。

さて、向こう側にはつながるものの、向こう側のLANへ参照ができない…という課題。

vyos kernel: [ -] martian source 通信したい先 from VyOSのIP, on dev eth1
vyos kernel: [ -] ll header: ff:ff:ff:ff:ff:ff:~

ログにはこんな感じの表示がされるみたいだ。向こう側のVyattaのローカル側のIPアドレスにはSSHで接続はできるけど。
何を忘れているのかが良くわからない。しばらくまた考え中。

【改訂履歴】作成:2014/07/05 更新:2014/ 7/ 6
【参考リンク】

VyOS…本家ホームページ

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