朝日ネットで業務システムを開発しているkakoです。前回の記事では、AsahiNet内のプライベートASになんちゃってISP(KakoNet)を構築する、という目標の全体構想を述べました。今回はそれを実現するための検証・構築手順を提案したいと思います。また最初の検証として、VirtualBoxの内部ネットワークにVyOSとUbuntuを構築した手順を記載します。
全体構想を実現するための検証・構築手順
最終的な目標は、KakoNetとAsahiNetでBGPピアを張り、KakoNetのPPPoEクライアントがインターネットへ接続することです。しかし、サービス稼働中のAsahiNetの本番環境でいきなり検証を行うわけにいきません。そのため、まずはローカルPCの仮想環境にKakoNetおよびAsahiNetを模したHogeNetを構築し、BGPピアを張ってAS間で通信できるシステムの検証・構築を行います。その上でHogeNetとAsahiNetを差し替えるようにして、KakoNetとAsahiNetの本番環境でBGPピアを張るという下記のような手順を提案します。
①HogeNetを構築します。コアルータはVyOS、HogeNet内のホストはUbuntuを採用します。
②KakoNetのコアルータをVyOSで構築し、HogeNetのコアルータとBGPピアを張ります。
③KakoNetにPPPoEクライアントとPPPoEサーバを構築し、PPPoE通信を行います。どのようなソフトウェアを使って実現するかは今後検討します。
④KakoNetにRADIUSサーバをUbuntuとFreeRADIUSで構築します。PPPoEサーバがRADIUSサーバに対してRADIUS認証を行い、RADIUSサーバがIPアドレスを払い出し、PPPoEクライアントにIPアドレスを割り当てます。
⑤KakoNetのPPPoEクライアントがHogeNetのホストへIPの到達性があることを確認します。
⑥HogeNetのコアルータとAsahiNetのコアルータを差し替える形で、KakoNetとAsahiNetの本番環境でBGPピアを張ります。AsahiNetの管理しているIPアドレスを、KakoNetのRADIUSサーバに払い出し可能なIPアドレスとして登録します。KakoNetのPPPoEクライアントがインターネットへ接続できることを確認します。
VirtualBoxの内部ネットワークにVyOSとUbuntuを構築
検証・構築手順①としてローカルPCの仮想環境にソフトウェアルータとゲストOSを下記のように構築し、それをHogeNetとしました。各種ソフトウェアは下記のものを採用しています。
- ホストOS:Windows10
- 仮想化ソフト:VirtualBox 5.2.12(ゲストOS間のみでネットワークを構築できる「内部ネットワーク」を利用するため)
- ソフトウェアルータ:VyOS 1.1.8
- ゲストOS:Ubuntu 16.04.4 Server
VirtualBoxのインストール
下記URLからWindows 64-bit用のインストーラーをダウンロードし、ローカルPCにインストールします。
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
VyOSをVirtualBoxへインストール
下記URLからVyOSのisoファイル(vyos-1.1.8-amd64.iso)をダウンロードします。
https://downloads.vyos.io/?dir=release/1.1.8
VirtualBoxに新規仮想マシンを下記のように作成します。
- 名前:hoge-rt
- タイプ:Linux
- バージョン:Debian (64bit)
- メモリーサイズ:256MB
- ハードディスク:仮想ハードディスクを作成する
- ハードディスクのファイルタイプ:VDI (VirtualBox Disk Image)
- 物理ハードディスクにあるストレージ:可変サイズ
- ファイルの場所とサイズ:hoge-rt、1.00GB
仮想マシンを起動し、起動ハードディスクにVyOSのisoファイルを選択します。ユーザーガイド - VyOS jpを参考にVyOSをVirtualBoxにインストールします。
VyOSの仮想マシンを終了し、VirtualBoxで仮想マシンのネットワーク設定を行います。下画像のように、仮想マシンの設定画面からアダプター1で内部ネットワークを選択し、名前を「hogenet」とします。
再度VyOSの仮想マシンを起動し、下記のように設定を変更します。1
- eth0のIPアドレス:192.0.2.1/24
- ホスト名:hoge-rt
コマンドは下記のようになります。
$ configure # set interfaces ethernet eth0 address 192.0.2.1/24 # set system host-name hoge-rt # commit # save # exit $ reboot
UbuntuをVirtualBoxへインストール
下記URLからUbunutuのisoファイル(ubuntu-16.04.4-server-amd64.iso)をダウンロードします。
http://releases.ubuntu.com/16.04.4/
VirtualBoxに新規仮想マシンを下記のように作成します。
- 名前:hoge-host
- タイプ:Linux
- バージョン:Ubuntu (64bit)
- メモリーサイズ:512MB
- ハードディスク:仮想ハードディスクを作成する
- ハードディスクのファイルタイプ:VDI (VirtualBox Disk Image)
- 物理ハードディスクにあるストレージ:可変サイズ
- ファイルの場所とサイズ:hoge-host、2.50GB
仮想マシンを起動し、起動ハードディスクにUbuntuのisoファイルを選択しインストールします。
Ubuntuの仮想マシンを終了し、VirtualBoxで仮想マシンのネットワーク設定を行います。下画像のように、仮想マシンの設定画面からアダプター1で内部ネットワークを選択し、名前を「hogenet」とします。
再度Ubuntuの仮想マシンを起動し、設定を変更します。2
- enp0s3のネットワークインターフェースのIPアドレス:192.0.2.2/24
/etc/networks/interfaces
のenp0s3の設定を下記のように変更し、networking
のサービスを再起動します。
auto enp0s3 iface enp0s3 inet static address 192.0.2.2 netmask 255.255.255.0 gateway 192.0.2.1
コアルータとホスト間でIPの到達性があることを確認
例えばhoge-hostからhoge-rtに対してpingコマンドを打ってみると下記のようになります。
kako@hoge-host:~$ ping 192.0.2.1 PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data. 64 bytes from 192.0.2.1: icmp_seq=1 ttl=64 time=0.301 ms 64 bytes from 192.0.2.1: icmp_seq=2 ttl=64 time=0.691 ms 64 bytes from 192.0.2.1: icmp_seq=3 ttl=64 time=0.658 ms
おわりに
次回は検証・構築手順②として挙げた、VyOS間でBGPを張る検証に取り組みたいと思います。
採用情報
朝日ネットでは新卒採用・キャリア採用を行っております。