VyOS 仮想ルータとしての機能まとめ
1. VyOSとは?
VyOS はオープンソースのネットワークオペレーティングシステムで、x86ベースのハードウェアや仮想化環境上で動作します。
x86ベース: VyOSはx86およびx86_64(64ビット)アーキテクチャをサポートしています。これは、デスクトップPCやサーバなど、一般的なPCアーキテクチャに対応しています。VyOSは、Windows専用ではなく、Linuxサーバや仮想環境で動作します。
VyOSは、ルータ、ファイアウォール、VPNゲートウェイなど、多くのネットワーク機能を一つのパッケージに統合して提供します。エンタープライズレベルの機能を備えている一方で、オープンソースであるため、柔軟でコスト効率が高いのが特徴です。
2. VyOSを使うメリット
-
マイクローサービスアーキテクチャかつOSSブームに合致
昨今のOSSブームやマイクロサービスアーキテクチャブームに沿った利用しやすいOSです。
なぜならVyOSは、仮想マシン用のイメージとクラウドサーバ用のイメージが用意されています。仮想サーバ用のイメージを使用すれば、仮想環境(例えば、KVM、VMware、VirtualBoxなど)上にVyOSをベースに起動することができます。これによりサーバ間のネットワークルータやファイアウォールとして利用できます。
クラウド上のイメージを使うことで、主要なクラウドプラットフォーム(例: AWS、Google Cloud、Microsoft Azureなど)で動作します。これらのクラウド環境で、VyOSを仮想ルータとして利用することができます。クラウド上にVyOSをデプロイすることで、クラウドインフラ内のネットワーク管理やセキュリティポリシーの設定を柔軟に行えます。
AWSでいうTransit GatewayやVirtual Private Gatewayを使えば同じように構築できます。 -
ネットワークインターフェースごとに冗長構成を構築できる
ルータはL2スイッチを繋ぐ役割があります。VyOSではサーバの冗長構成を構築したとしてもインターフェースによっては冗長化しないこともできます。さらにあるインターフェースが2台構成の冗長化だとしても、特定のインターフェースだけ3台の冗長化をすることも可能です。
一般にサーバ台数で負荷分散をとるのでお勧めはしませんが、特定のインターフェースだけ通信が多い場合、障害を防ぐように追加することも可能です。
3. 構築に必要な資材
ハードウェア要件
- CPU: 1 GHz以上のx86プロセッサ
- メモリ: 512MB以上(推奨1GB以上)
- ディスク: 2GB以上のストレージ
- ネットワークインターフェース: 最低1つのNIC(複数のNICで冗長化や複雑なネットワーク構成が可能)
ソフトウェア要件
- 仮想化環境もしくはクラウド環境: VMware、VirtualBox、KVM、Hyper-V、AWS、GCP、Azureなど
- VyOS ISOファイル: 公式サイトからダウンロード可能
- SSHクライアント: 初期設定や管理に使用
3. 他の仮想ルータとの比較
VyOSの強み
- オープンソース: 商用製品に比べ、コストが非常に低い。
- 柔軟性: 様々なネットワーク機能がカスタマイズ可能。
- スクリプトのサポート: BashやPythonなどでのスクリプトによる自動化が可能。
- エンタープライズ機能: 大規模NW構築に用いるようなOSPF、BGP、MPLSなどの高度なルーティングプロトコルに対応。
- ルータ機能を設定するconfigをIaCで自動構築が可能
VyOSの弱み
- サポート体制: 商用製品に比べ、公式サポートが限られている。
- ドキュメントの質: 他の商用ルータに比べるとドキュメントが充実していないため、技術者の理解度が上がらない。
- ユーザーインターフェース: GUIが無く、CLIでの操作が必須となる。
4. 実際のルーティング設定方法
以下は、基本的なルーティング設定の手順です。
1. 初期設定
VyOSのインストール後、基本的なネットワーク設定を行います。
configure
set interfaces ethernet eth0 address 192.168.1.1/24
set system gateway-address 192.168.1.254
commit
save
exit
configureコマンドを打つことで、NW設定が可能な対話モードになります。
設定内容を記載したあとcommitすることでサーバに設定を反映させられます。
compareコマンドを打てば設定した内容の確認が可能です。
間違えて設定してしまった場合、commitしていないのであればdiscardコマンドを使い、設定をなかったことにできます。
万が一commitが完了してしまってもdeleteコマンドを使うことで設定の削除が可能です。
2. 静的ルーティングの設定
特定のネットワークへのルーティングを静的に設定します。
コマンド例:
set protocols static route 10.0.0.0/24 next-hop 192.168.1.254
commit
save
3. よく使うコマンド
- configure
- show configuration commands | no-more
- show interface
- show vrrp
- show ip route
- show nat destination translation
- set
- delete
- reboot
コメント