VyOS Users Meeting #3 参加メモ
VyOS Users Meeting Japan #3 に参加してきたのでいつものメモです。例によってLTについてはメモ取ってません。
開会
ギークナビとは?
- エンジニアブログをいろいろ書いている
- https://geeknavi.net/
- VyOS を使った仕事なんかもしてる
- #vyosjp #2 が2014年だったというのもあってやりましょう、ということに。
I have a VyOS, I have a SoftEther
いしばしさん/ギークナビ
Yamahaルータを使ったVPNサービスとかを仕事でやってる。
- やすい
- 接続時ログとかが取れる
- 使い勝手が良い
仕事で使うリモートアクセスVPN
- CiscoASA をよくつかう
- でも高い
- AnyConnect等の使い勝手が…
VPNなんだからリモートアクセスもvyosでもいいんじゃないか
- VyOS: できんかった(同時接続が1になる?)
- SoftEther
- あわせてしまえばいいのでは
拠点間はVyOS, リモートアクセスはSoftEther
クラウドへのアクセスも含めて VyOS/SoftEther でできるのでは?
Demo
- AWSでVyOSを起動
- debian repos 追加
- "apt install build-essentials git" とか
- softether のダウンロード
- softether のインストール
- softether server の設定
- AWSの場合セキュリティグループ設定も。
- softether server-manager/client から接続
本当はこうしたかった
QA
Troublesome at vyos on aws
かみたさん/ギークナビ (急遽代打)
Trouble1: VyOSのVPN接続が切れる
Trouble2: VyOSのディスク容量圧迫
- auth.log の肥大化 (接続拠点が多いのでログがでかい)
Trouble3: AWSでのVyOS構成
AWSと複数拠点間でのBGP冗長化構成について
ふじいさん/ギークナビ
拠点間接続/dynamic routing の話をやってた
- 今の会社はstatic routingだいすき
- vyos はまだはじめたばかり
Cisco/VyOS接続検証
全部VPNじゃなくて、2拠点だけにしてdynamic routingで迂回いうのは?
- bgp, 通常経路と迂回経路で使い分け
- 拠点追加の増減で設定変更するのも面倒だよね
- route map による制御とかの話はまだこれから
VyOSとLXCと僕
@gentaさん
JSONを投げると雲の中にルータが爆誕するやつの話
LXCとは?
- 「コンテナ」をLinuxで実現する
- VM: Kernel部分のオーバーヘッド
- コンテナ: Kernel部分のオーバーヘッドがない分高密度に収容できるように
- Linuxの提供するリソース分離機能を使う
- 頑張ると、mount point は別なのに見えるNWインタフェースが見える、みたいなちょっと変なものもできる。
- LXC: 簡単に仮想環境みたいのができる。VMたくさん並べるよりもいっぱい詰め込める。
それでVyOSうごかしてみよう
- VyOSをひとつのVMの中でたくさん動かしてお金を減らしたい
- ユーザが増えたらそれなりにスケールするようにしたい
- それなりにいろいろできるようにしたい
構成
- vxlanベース: VTEPはホストOS側で。
- コントローラにjson投げるとコントローラがvyosをホストOS上に立てていく
- 12RPM(Router per Minutes)
特徴
- LXCを直接たたくので軽い
- 網構成はコンテナ内ネットワークで割といろいろおやれる
- vxlan id ごとにブリッジを作ってvethでVyOS(container)につなぐ
ストレージ構成
- 普通にやるとCD1枚分くらいある。たくさん作るときついので、Overlay FS で実装。
- Clone しても zero copy (mount point 操作のみ), ログとか書き込まれたら差分だけ別ディレクトリに入れる。
フロー
はまったこと
- LXC由来の問題は今のところほとんどない
- bind mount:
- VyOS起動時: /config → /opt/vyatta/etc/config とかを bind mount してる。
- 落とした時に umount してない
- LXC の hook script で回避
- start-stop-daemon
- debian の start stop script がへぼくて killall とかやる…
- overlayfs + VM Snapshot の問題
まとめ
- 「意外と動いている」
- マニアックな機能テストはしてないけど
- コンテナごとにbgpdが増えるのが地味につらい
- bgpdでnetns対応してVRFみたいに動いてほしい
なぜVyOS?
QA
vyos-buildでつくるカスタムVyOS
@m_asamaさん
VyOSのカスタムイメージを作る
vyos-build
- あたらしいvyos install imageを作るための仕組み
- 1.1.7まではdebian/squeezeベース。1/2からはjessyベース。
- 1.1まではbuild-iso → 1.2からはvyos-buildでインストールイメージを作る
- debian-live がベースになってる。
ISOイメージ作る流れ
- debian jessie 環境をつくる
- git clone vyos-build
- git checkout -b current
- README読む
- 必要なdeb packageいれる
- configure && make iso
カスタマイズする場合
- vyos-build/packages に deb file をおいてから make iso (2015/12/22からの機能)
- vyatta-* vyos-* の修正
カスタムカーネルに差し替えたい
- ビルドの仕方がよくわからない。ドキュメントも見当たらず。
今後
余談
VTIが落ちる話 : http://bugzilla.vyos.net/show_bug.cgi?id=183
- admin downしてなぜかupしない
- strong-swan の中で、IPsec SA焼失したときにinterface落とすような設定がある。
- vyatta static route で interface route 設定できる。これでnext hopしているとき、経路切り替わるように、interfaceもおとす。
- ときどき route-client で上がらないのがある。up-client もつかう
- ほかのところでも問題が、というコメントがあっておいといたらrevertされちゃった。
- 1.1.7だおこのパッチでよくなるかもしれない。このパッチで安定しているところがあるのであてたほうがいい。
- IPsecのSA切れる理由
- DPD(dead peer detection)でheartbeatとかが死んでるなって時にSA落とすケース
- DPD生きてるけどIKE鍵交換がうまくいかない(回線品質悪いとうまくいかないケースがある気配)
- パケロスが多いところで頻繁におこるかも
最近のVyOSの様子 2017/01
@higebuさん
Webサイトとかシステムが変わりました
- 公式HP, 開発ブログ
- BTS(bugzilla→fabricator): 重要そうじゃないのは移行されてないみたい
- RocketChat を自分たちでホスティング
- 日本語channelもある
- Forum
- 各言語(日本語も)のフォーラムができた
1.2/2.0とかいつでる?
- 公式Blogをみましょう : "Change is coming to VyOS project"
次のバージョンについて
- 1.2
- build-iso → vyos-build (debian live base)
- Jessieベース + いろんなパッケージを新しく (新しくしたら壊れてるのもある)
- テストがんばるしかない(使う機能が動けばいいや…というながれ)
- Perl scriptしんどい → python に統一しようという流れ
- コーディング規約とかもでてる。
- 2.0
自分が最近やっていること
- vyos-buildにいろんな仮想環境用のスクリプトを足している (packer based)
- vyos-cloudinit
- EC2だけcloudinit的なのがある。いろんなところで動きそうなのに書き換え中
- vyos自体のテスト
所感。
とりあえずみんないろいろやってみてはまったところの話であーそれ見たみたいな話がわらわらっとあがってるのをみると、やっぱりこういうミーティングとかは有用なんだなあと思う次第であります。開催自体は有志によるベストエフォートだからなかなか定期的にやるのも難しいというのはわかりつつ。平日昼間開催でキャンセルは入ったもののそれでも20-30人くらいは参加者がいるというのを考えると、やっぱりそれなりに関心がある人が多いんだなあ、とおもったのでした。あと、LTネタあったのを全部終わった後にああそういえばアレがあったなとか思い出したりしたので、ネタの収集/吸い上げという意味でもそれなりに定期開催されるのがいいんじゃないかなーと思いました。自分でやったことを忘れている…。