2019年10月13日(日) - 21:27 | カテゴリ:
Network
自宅の仮想ホスト刷新に合わせて、自宅とVPSを接続するWAN構成も見直しする事に。
以前から、サービス用にBGP・ループバックにOSPFを使う構想があり、
技術習得と構成検証を1年程行っていた。
今回の構成では、VPS上でルータを動かす必要があるのでルータOSはVyOSを採用。
とは言っても、自宅では仮想ルータを動かすリソースが無かった為、
サーバを新規購入するか、別ルータを用いてVyOSとトンネルを張る必要が出てきた。
折角、トンネルにVyOSを利用してBGP・OSPFを使う構想を練った中、
最初から別機種を使うのもどうかと思いつつ、良いハードウェアが無いか情報収集していた所、
UbiquitiNetworksの出しているEdgeRouterが多機能で要件を満たせそうなのが判った。
実は1年程前に話を聞いた事はあったのだが、
当時の自宅ネットワークはCisco・Juniperで固めていた事もあり気にしていなかった。
今回を機に再調査すると、EdgeRouterで利用しているEdgeOSはVyattaが元になっていた。
という事は『VyOSにも互換性があるだろう』とアタリを付けてIYHしてみた。

購入したのは、廉価モデルとなる「EdgeRouter X」
Amazon価格で1万円の割に、BGP含めダイナミックルーティングを色々喋れたり、
一応はIPsecもハードウェア処理で100Mbps超えが出来るナイスな逸品。


梱包は紙製の緩衝材のみで小さく纏まっていた。
ルータとしては、設定変更用にGUIを備えているのだが、細かい設定にはCLIが必須となる。
PPPoEも喋れるので、一般の御家庭で使う事も出来るのだが、
どちらかというと、逸般の誤家庭に向けた製品だと思う。


製品にはCタイプっぽい電源が付属していた。ただ、日本ではAタイプが必要となる。
Amazonで購入するとAタイプ電源が別途付属する物もある為、こちらを購入すれば問題無い。
もしもAタイプ電源が付属していない場合、秋月とかで互換電源を購入すれば良いと思う。


ポートは小さく纏まっており、NICなどTCP/IP通信に必要なポートは全部搭載している。
コンソールポートは出ていないが、蓋を開けるとUSB-TTLで接続出来るシリアルポートがある。
通常はそんな事をやっていられないので、デフォルト付与されるIPアドレスにWebアクセスを行い、
GUIの管理コンソールを開いて設定を弄る。

廉価版な事もあり筐体は小型。比較用にMR05LNを置いてみたが、ほぼ同じ大きさだった。
この小ささの中に業務用ルータの様々な機能が詰め込まれているのだから凄い。
………
実際に使ってみた所、設定面だとVyOSと微妙に違う所が出てきた。
影響のありそうな所としては、MSS-Clampingの設定がVyOSの様なインターフェース指定なのか、
インターフェースと通信方向の両方を指定する必要があるのかなど。
ただ、筆者が危惧していたダイナミックルーティングの設定は同じ様になっており、
違和感無く、VyOS・EdgeOSの両方に設定を行えた。
軽く確認した所、インターフェースなど物理装置に紐付く設定に違いがある模様。
恐らく、該当する設定を細かく制御するか否かで使い勝手も変わってくる様に感じた。
まだ、トラフィックを大量に流していないのでCPU負荷は測れていないが、
サンプルで『show configuration commands | no-more』をすると、CPU負荷は10%程度だった。
トラフィック処理負荷については、そのうち実トラフィックを流す予定なので、
その時にCPU負荷を計測しようと思う。
« 続きを隠す
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マーケットプレイスでも提供されている位なので、今後は利用シーンが増えていくかも。