2019年10月05日(土) - 22:34 | カテゴリ:
Network
自鯖基盤を刷新する為にルーティングを整理しつつ設計を行っているのだが、
過去にルーティングを注入したり再配送した経路が重なり、
中々なカオス状況になっていた。
まだ、設計途中なので次がどうなるのか予測不能ではあるが、
今の所はBGP+OSPFで経路制御を行いつつ、
仮想サーバからも直でBGPを喋ろうと画策中。
色々と大規模仮想基盤の資料を見た所、昨今だとBGPを経路制御に用いる事で、
サーバ・NW間の制御を行いやすくする意図があるらしい。
そんな事も踏まえ、新しい技術・設計思想を採用する事で良い刺激になるので、
テストを重ねつつ経路を最適化したい所。
まだまだ検討対象は多いけれど、色々な資料を読み解きつつテストしようと思う。
2019年09月21日(土) - 22:31 | カテゴリ:
Network
自鯖のバックボーンを刷新する為に、VyOSの検証を進めているのだが、
最新版となるv1.2.3のISOイメージがなかったのでビルドしてみた。
とは言っても、公式wikiでビルド手順が公開されているので、
Linux環境さえ手元にあれば簡単にビルドする事が出来る。
筆者の場合、ThinkPad x250にインストールしたLinuxMintを使ってビルドしたが、
2~3時間程度で作業が完了した。
手順は下記の通り。ビルドにはdocker環境が必要になるが、
“apt/yum/zypper” 辺りのパッケージ管理を使ってインストールすれば良い。
その上で、次のコマンドを実行するとISOイメージが “build” フォルダに生成される。
# git clone https://github.com/vyos/vyos-build
# cd vyos-build
# docker build -t vyos-builder docker
# docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos-builder bash
---
$ ./configure --build-by postmaster@example.com --build-type release --version 1.2.X
$ sudo make iso
$ exit
|
注意点は、バージョン指定の箇所。従来は様々なバージョンを指定出来た見たいだが、
現在は正式リリースがv1.2系のみなので、実際には1.2しか指定する事が出来ない。
ただ、ビルドタイプをリリースにした上でバージョンも指定すると、
“show version” を実行した時に出力されるバージョン番号を書き換える事が出来る。
実環境だとバージョンが判らないのは困るので、
一番近いメンテナンスバージョン番号を入力すれば良いと思う。
………
打ち込むコマンドを下記の様に変更するとブランチ指定が可能となり、
mainブランチが1.3系でも、バージョン1.2を指定出来る事が判ったので追記。
この方法が公式ドキュメントでも公開されたので、最新のやり方はそちらを参照。
# git clone -b crux --single-branch https://github.com/vyos/vyos-build vyos-build-1.2.X
# cd vyos-build-1.2.X
# docker build -t vyos/vyos-build:crux docker
# docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:crux bash
---
$ ./configure --build-by postmaster@example.com --build-type release --version 1.2.X
$ sudo make iso
$ exit
|
………
IPv6周りにバグが残っているのが残念だが、今後修正されると思うので待つべし。
Cisco機器・Juniper機器を弄れる技術があれば、VyOSも簡単に弄る事が出来る。
昨今だとAWSマーケットプレイスでも提供されている位なので、今後は利用シーンが増えていくかも。
2019年09月08日(日) - 20:41 | カテゴリ:
Linux
自鯖のグローバルロードバランサ(GSLB)にはgdnsdとdnsdistを組み合わせつつ、
CloudGarageのVPS上に構築していたのだが、
元となるVPSサービス終了によって、何処かに引っ越す必要が出てきた (´・ω・`)
何故にこの構成を取っていたかと言うと、GLSBを構築した時は通常の権威DNSと、
gdnsdを上手く同居させる術が無かった為、サーバを別立てしていた。
しかし、dnsdistをDNSロードバランサとして動かす事により、
DNSクエリの振り分けが出来る様になったので、権威DNSとGSLBの同居構成も可能となった。
という事でサーバ引越しの第一弾として、CloudGarageのVPSからGSLB切り離しを行いつつ、
“ns-lab BB”のInternet用権威DNSサーバに、グローバルロードバランサも合体させてみた。
全体の構成は下記の通り。ユーザクエリを待受ける一番外側にはdnsdistを採用してクエリログを採取。
クエリを都度分析してGSLB宛のクエリならばgdnsd、
それ以外のクエリはBINDに流し込む構成にしてみた。

構築手順はwikiに書いてあるので、この場では割愛。
この構成ならバックエンドへのクエリロードバランスが出来たり、
PowerDNSなど他の権威DNSサーバを組み合わせる事も出来るので重宝しそう。
試運転も兼ねて2週間ほど実クエリを捌き続けているのだが、
メモリ2GBの低スペックサーバでも問題無く稼働している。
クエリも、秒間100発程度なら余裕で捌けているので、
チューニング次第ではエンタープライズ用途でも利用出来そうだった。
dnsdistをエンタープライズで利用している事例はほぼ無いのだが、
BINDからの脱却として様々な権威DNSの研究が進んでいる昨今を考えると、
今後は上記の様なマルチアプリケーションを採用した権威DNSが出てくるのかもしれない。
« 続きを隠す