2023-07

技術ブログ

業務基盤のネットワーク構築

今回の学習目的 1.用語の理解を再確認 専門学校で学んだ内容や現在の仕事で出会う用語について、自分が理解しているか再確認したいと考えています。 2.ネットワーク構築の学習 自宅にESXiサーバーが複数台あるので、用語の理解を再確認しながらネットワーク構築の要件を書く練習を行い、 複数の環境を構築したいと思っています。 3.これから勉強する人のための情報発信 ネットワークをお金をかけずに勉強したいと考えている方々の参考になるような情報を発信したいと思っています。 注意点 あくまで自己学習のため、誤っている可能性もあることをご理解ください。 全体の構成図 1.実現方法 ESXi上で仮想マシンとして仮想ルーターを作成し、独自のプライベートネットワークを構築することができます。 今回はその実現方法として、「VyOS」というソフトウェアを利用して仮想ルーターを構築します。 ※VyOSのダウンロードは「https://vyos.io/」から行うことができます。 今回の対象範囲(第一弾) 今回の対象は「業務基盤」に限定されます。 ◆基本的な通信の流れ PC → 仮想ルーター#1 → 別のネットワーク ※第一段階として記載しておりますが、第二弾については検討中です。 ネットワーク要件 以下の要件を満たすように設定します。 ・接続端末から業務基盤にリモートデスクトップで接続できること。 ・仮想マシンからインターネットにアクセスでき、Windows Updateが機能すること。 ・時刻同期が正しく行われていること。 ただし、以下の要件については今回の対象外とします。 認証基盤の踏み台サーバーへのリモートデスクトップ接続。 セキュリティ要件 不正アクセスを防止するため開発基盤からのSSHへのアクセスは遮断する その他要件 最小規模かつ自宅環境を想定しているため、「可用性要件」「性能要件」「運用保守要件」は対象外とします 詳細設計(参考例) 1.ネットワーク回線 閲覧者が利用しているネットワーク回線でも問題ないと思いますが、私の自宅のネットワーク回線については Nuroの光回線を利用しております。 (1)既存のネットワークの範囲 ・既存ネットワーク  192.168.3.0/255 (2)既存ネットワークのIPアドレス 接続元端末(ノートPC):192.168.3.X 提供ルーター:192.168.3.X 2.独自のプライベートネットワーク設定 各基盤(「業務基盤」と「認証基盤」と「開発基盤」)を用意しますが、今回は「業務基盤」のネットワークを構築します (1)業務基盤の範囲 10.26.3.0/25(自分で決めることができるネットワーク範囲) (2)仮想ルーターに設定するIP ・Ethe0:192.168.3.252 ・Ethe1:10.26.3.252 (3)NAT情報登録(接続端末から接続先) 項目No      :310 接続元の範囲   :192.168.3.0/24 ネットワーク切替え:10.26.3.252 インターフェイス :eth1 (4)NAT情報登録(接続先から外部インターネット) 項目No      :320 接続元の範囲   :10.26.3.0/24 ネットワーク切替え:192.168.3.252 インターフェイス :eth0 (5)既存NWから業務基盤への通信 接続元から業務基盤への接続を行うため以下のルーティングテーブル登録 接続元       10.26.3.0 接続できる範囲   255.255.255.0 既存ネットワーク  192.168.3.252 3.NTP Ntp1.jst.mfeed.ad.jp Ntp2.jst.mfeed.ad.jp 仮想マシンの場合 仮想ルーター専用の仮想マシン作成 仮想マシン起動後のログイン ユーザー名は「vyos」を入力した上でEnterを押下する パスワードは「vyos」を入力した上でEnterを押下する VyOSのインストール vyos@vyos:~$ install image Would you lile to coninue? (Yes/No) [Yes]:yes Partition (Auto/Parted/Skip) [Auto]: [Enter] Install the image on? [Sda]: [Enter] Continue? (Yes/No) [No]:yes How big of a root partition should I create? : [Enter] What would you like to name this image? [1.1.3-rollin-202009160118]: [Enter] Which one should I copy to sda?[/vyos/vyatta/etc/config/config.boot]: [Enter] Enter password for user ‘vyos’: パスワード入力[Enter] Enter password for user ‘vyos’: パスワード入力[Enter] Which drive should GRUB modify the boot partition on? [sda]: [Enter] vyos@vyos:~$ poweroff Proceed with poweroff? (Yes/No) [No] y 仮想ルーターのホスト名の設定 <説明> 今回の例では自宅では「業務基盤」「認証基盤」「開発基盤」をあったとする 業務基盤では「nw01.sasio.jp」とします 認証基盤では「nw02.sasio.jp」とします 開発基盤では「nw03.sasio.jp」とします <コマンドの実行例> set system host-na me nw01.corona.net commit save 接続先(既存NW)のIPを設定 <説明> 自宅のネットワークIPを設定する <コマンドの実行例> show interfaces set interfaces ethernet eth0 address 192.168.3.252/24 commit save show interfaces SSHサービスの有効化 <説明> 設定以降にsshコマンドもしくはツールで仮想ルーターに接続するためにSSH有効にする必要がある <コマンドの実行例> set service ssh commit save SSHでの仮想ルーターログイン <前提> ・仮想マシンが起動できていること ・ログインのパスワードが変更できていること ・Eth0が「192.168.3.252」になっていること ・SSHのサービスが有効になること ユーザー名は「vyos」を入力した上でEnterを押下する パスワードは「設定したパスワード」を入力した上でEnterを押下する 業務基盤NWの設定 <説明> 接続先のIPを設定 →10.26.3.252 <コマンドの実行例> show interfaces set interfaces ethernet eth0 address 10.26.3.252/24 commit save show interfaces 作業端末から業務基盤へのルーティングテーブル追加 <説明> 接続元のPCから接続先のVMに接続できるようにするため疎通またリモートデスクトップが接続できするようにする <コマンドの実行例> set nat source rule 310 source address 192.168.3.0/24 set nat source rule 310 translation address 10.26.3.252 set nat source rule 310 outbound-interface eth1 commit save 業務基盤から外部インターネットに向けてルーティングテーブル追加 <説明> 接続先のVMから外部接続(インターネット)への接続 <コマンドの実行例> set nat source rule 320 source address 10.26.3.0/24 set nat source rule 320 translation address 192.168.3.252 set nat source rule 320 outbound-interface eth0 commit save ルーティングテーブルの登録 <説明> 接続元端末から業務基盤に配置されているVMに対して接続できるよう <コマンドの実行例> set protocols static route 0.0.0.0/0 next-hop 192.168.3.1 commit save DNSの登録 <コマンドの実行例> set system name-server ‘8.8.8.8’ commit Save NTPの登録 [変更前の確認] show system ntp [NTP参照先の削除の設定] del system ntp server ‘0.pool.ntp.org’ del system ntp server ‘1.pool.ntp.org’ del system ntp server ‘2.pool.ntp.org’ commit save [NTP参先の変更の設定] set system time-zone Asia/Tokyo set system ntp server ‘ntp1.jst.mfeed.ad.jp’ set system ntp server ‘ntp2.jst.mfeed.ad.jp’ commit save [変更後の確認] show system ntp date