小規模(5〜20人)ベンチャーオフィスのネットワーク構築例

Network & Infrastructure

背景

  • 事業規模の拡大に伴いオフィスの移転がありました。それに伴い社内ネットワークインフラの構築を行いました。
  • 中小ベンチャーのネットワーク構築の記事は5年前の@wadapさんの記事が詳しいです。まぁ、5年前なので細かいアップデートが色々あるので記事にしておきます。

要求定義

  • ゲスト用ネットワークの分離(インターネット回線、LAN回線)
    • 将来のシステム監査で指摘されるであろうことなので。
    • トラフィックのQoS制御のため。
  • 役割(部署)毎にLANの分離
    • ウィルス感染した場合に被害を減らすため。
    • 重要情報を扱うエンジニアのネットワークを守るため。
  • 安定
    • ストリーミングを扱うプロダクトを扱っているので安定性を高める。
    • 特にWiFiは安定してほしい。
    • WiFiと有線を用意してL1レイヤの冗長性を確保しておく。
  • 低レイテンシー
  • 初期費用、固定費は安く
  • 20人ぐらい (平均3台/人で計算して60端末同時接続) ぐらいには耐えられるように。

要件

  • ISPは2回線用意する。固定IPとゲスト用。
  • 物理ネットワークに自由度を持たすためにVLANにする。
  • WiFiが安定していること。
  • オフィス外からネットワークに入れる。
  • 各席に有線。

設計

タグVLANが絡むと設計書を書くのが難しかったです。物理レイヤ(L1)と論理レイヤ(L2)を同時に考えて1つの図にする必要が有りました。これが結構難しかったです。

論理レイヤで考えて、それを物理レイヤに落として。その逆を行ったりと。L1、L2、L3を行ったり来たりして考えていました。vlan使わなければL1だけ考えれば済むので超楽だなぁと思いました。

VLANを使わなければ、L1とL2は完全に分離して考えられるので非常に簡単ですが、VLANが絡み出すと難易度がかなり上がります。本来は、論理と物理を分けて考えられて便利にするためのVLANなのに。。。

一部にVLAN非対応機器が居たり、tag, untagを同一ネットワークに混ぜたり出来ちゃうので論理と物理が混ざってしまう原因でした。(この辺、想定した動作と各ベンダーの実装が若干違うので検証が大変でした。例えば、ルーターはvlanの設定しかしていないのに、vlanじゃないパケットも普通にvlan1として扱われたりする。まぁ、そうじゃないとvlanを設定した途端untagのパケットが到達出来なくなったりするのを回避するためなのかと思いますが。)

どのツールで設計書を書くのが良いのかよくわからないのでとりあえずcacooで設計しました。

次に、図にある各エンティティについて詳細を書きます。

キャリア

  • フレッツ光ネクストで最高速1Gbpsです。
  • 最近評判が良いと聞くNURO 光を検討しましたが導入をやめました。
  • NURO光は個人と法人(Nuro Biz)で内容が全然違います。根本的なところで運営している会社自体が違います
    • NURO光の個人の利用料は6,000円ぐらい。(大人気らしく敷設に2ヶ月待ちとのこと)
    • NURO光の法人(NURO biz)の利用料は月額20,000円ぐらい。サポート充実。固定IPあり。2個 +6,000円とか。

ISP

  • Webの管理画面にアクセス制限をつけるために、アクセス元のネットワークによってアクセス制限をしたいというユースケースがあります。それを代替出来るアプローチが今のところないので、IPv4の固定IPアドレスが必要です。
    • サーバサイドからの視点では、やはりIPアドレス制限を入れる事でリスクをL3以下は気にしないで良くなる利点は大きい
    • IPv6の固定レンジでの割り当てをするISPはほとんど存在指定無い
  • 固定IPアドレスを提供するISPは安いしいままで大きな問題が無かったGMO BBを引き続き使います。1,100円/月。(夜20時以降は少し遅い感じがします)
  • ゲスト用のネットワークは適当なISPで良いので、キャリアとISPの申し込みを同時にすると安いので適当に選びました。とりあえずIPv6に対応しているso-netにしました。家で使っていたときは下りで400Mbps出ていたので

ルーター

  • 安く済ますためにYAMAHA RTX1200です。10年近く前の機種ですが、1Gbps対応、L2TP対応、SNMP対応など十分な機能です。
  • 定価125,000円ですが、保守終わりの中古機材が7,000円ぐらいで大量に流通しています。保証はないですが、壊れたら買えば良いのです。自宅でも使っていますが2年以上全く落ちませんでした。スループットも1Gbps近くまでは出ます。
  • 同系統の最新であるYAMAHA RTX1210か、RTX1200とほぼ同性能の現行品であるRTX830も考えたのですが、中古のRTX1200にコスパでかないませんでした。
  • IPv6の様々な接続方式に対応するために、新しいモデルであるRTX1210かRTX830をおすすめします。
ヤマハ ギガアクセスVPNルーター RTX1200
中小規模のネットワークに最適なギガアクセスVPNルーターです。ギガビットイーサネットインタフェース(10BASE-T/100BASE-TX/1000BASE-T)を合計10ポート備え、スループット値は最大1Gbit/s、VPNスループット値...

スイッチ

  • 全部YAMAHAで揃えて一元管理したいのが理想ですが、いかんせんVLAN対応のYAMAHAのインテリジェントスイッチは高いです。中古でも出回ってないです。
  • 安いVLAN対応のスイッチを選択。Netgear GS108eを2台。約5,000円/台
  • 参考のために、8ポートのYAMAHA SWX2200-8Gは実売で約23,000円。Netgearの4倍!
NETGEAR スイッチングハブ 8ポート ギガビット 金属筐体 壁掛け対応 静音ファンレス VLAN QoS アンマネージプラス 法人向け GS108E
ギガビット8ポートアンマネージプラス・スイッチ。デスクトップ型。VLAN、 QoS、 ブロードキャスト制御、 ポートミラーリング、 Ping死活監視などの機能を実装。電源アダプター同梱。RoHS、WEEE対応など、環境保護に配慮した製品です...

WiFi AP(アクセスポイント)

  • YAMAHA WLX313で。実売約6万円。定価69,800円(税抜)
  • ここはケチらず。
  • WLC(Wireless LAN Controller)とVLANにも対応。
  • 市販の家庭用アクセスポイントはよく壊れます。コンシューマ向けのWiFiアクセスポイントはすぐに詰まったり、電波飛ばなかったり、動作が怪しい物が多いです。今まで家のAPは1〜2年おきに買い換えています。電波は目に見えなくてトラブルシューティングしづらいので、ここはケチらず良い物を買いましょう。
  • WLX313はかなりいろんな機能があって良いのですが、自動制御が不安定です。なので、便利な機能はOFFにしまくってシンプルな設定にして運用する必要がありました。自動チャネル選択、自動出力変更などなど便利そうな機能を一通りOFFにしました。
  • PoE対応なので、PoEスイッチに接続して使おうしたのですが電源容量が足りなくて動きませんでした。WiFi APは消費電力が大きいので対応したPoEスイッチを選択する必要があります。
ヤマハ WLX413 WLX402 WLX313 専用 電源アダプター YPS-12V3A
WLX402専用のACアダプタです。定格出力DC12V 3A、DC コード長:1.8m、電源コード長: 1.8m

LANケーブル

  • 今回は小規模だしケチりたいので自前で行います。ケーブルと圧着機材一式を揃えました。
  • 最近は、楽天で1本200円でいろいろな長さのcat6ケーブルが売っているので圧着する時間を考えると買った方が安いと思うのですが、ケーブルの品質が悪くて断線が頻繁に起きました。
  • かといって市販のケーブルは1m500円とかするので、10本買うと5,000円ぐらいかかったりする。また、長い距離になると5m単位や10m単位のロットしかなくて配線の余りが出てきてしまいます。
  • 下のリンクにあるエレコムのLANケーブルはローダー付きのRJ45じゃないとコネクタへのケーブルの挿入の難易度高すぎて無理でした。
エレコム LANケーブル 100m 自作用 RoHS指令準拠 CAT6 ブルー LD-CT6/BU100/RS
エレコム LANケーブル 100m 自作用 RoHS指令準拠 CAT6 ブルー LD-CT6/BU100/RS
lan コネクタ,CableCreation RJ45コネクタ 100個入り LANコネクタ Cat6/Cat5e対応 単線ヨリ線対応 つめ折れ防止
ブランド保証 CableCreationはよりよい品質のケーブルを作るため、科学的な設計を注目しています。 CableCreationはただのブランドではなく、自分の製造工場も持っているクリエーティブ・チームです。 CableCreatio...
SIBO RJ45 RJ11ネットワークケーブルテスターツールセット 多機能LANケーブル 自作工具 10点セットマスターとリモートネットワークケーブルテスター電話ケーブルテスターツールキット SB-NS468
このセットの紹介: この機器は、断熱材に損傷を与えることなく、電線やケーブルを識別し、トレースするために設計されています。 スキャンおよびテスト電話回線、アラームケーブル、コンピュータケーブル、インターコム回線、スピーカワイヤ、サーモスタッ...

実装

L1

どこに何を通すか設計します。業者からもらった室内の設計図では不十分なので、結局は現況を見てからちゃんと作りました。意外と図面は抽象的なので要注意です。

現場では、図面に載っていない配線があったりしました。天井裏の配線は謎で、ケーブル通しを使って業者と2人がかりで捜索し、現場の作業員を勝手にお借りしてケーブル通しを手伝ってもらいました。頭数が2人は最低必要な状況でした。

ケーブリングが終わったら、引き継ぎやすいようにAs-Isを残しておきます。モザイクばかりでよくわかりませんが。

機材の設定は、設置してしまうと物理的に移動したり、付け替えたり、動作確認が面倒なので事前に一通り設定して動作確認をしておきます。

VLANの場合は特に、設定確認を行うポイントが多いので事前にやっておくべきです。このために50cmのケーブルをたくさん作る事になって辛かった。。。

フリーアクセスなのでカーペットを剥がして床を見て見ると結構堅い締め付けでネジが締められていて、外すのが大変でした。インパクトドライバーが無いと堅くて緩まないので取りに帰りました。。。

完了

WiFi Sannerで帯域をチェック。これを見て利用するチャネルを決めます。2GHz帯は外から回り込んでくるのか、他社のが入ってきます。。

電波が届きにくいところや、外への漏れ具合を確認するときには、WiFiミレルを使ってチェックします。PCを持ち歩いてうろうろしないで良いので楽です。

AM2時頃。業者もまだやってる。。。お互い大変だ。

ルーターの設定

RTX1200の設定の要点をいくつか書いておきます。

4つのvlanを作ります。

  • 社内リソース用
  • エンジニア用
  • biz用
  • ゲスト用
vlan lan1/4 802.1q vid=4
vlan lan1/5 802.1q vid=5
vlan lan1/6 802.1q vid=6
vlan lan1/7 802.1q vid=7

次に、どこからどこに何を通したいかを設定します。ネットワーク間は全てデフォルトではpassなので、一旦全てrejectした上で必要なパケットを通していきます。

ルール自体はとても複雑なので、使うか使わないかは別にしてルールは一旦全部作って起きます。その後、このルールをip pp secure filterで適用していきます。

ip filter 600000 reject 192.168.4.0/24 192.168.5.0/24
ip filter 600001 reject 192.168.4.0/24 192.168.6.0/24
ip filter 600002 reject 192.168.4.0/24 192.168.7.0/24
ip filter 600011 reject 192.168.5.0/24 192.168.4.0/24
ip filter 600012 reject 192.168.5.0/24 192.168.6.0/24
ip filter 600013 reject 192.168.5.0/24 192.168.7.0/24
ip filter 600021 reject 192.168.6.0/24 192.168.4.0/24
ip filter 600022 reject 192.168.6.0/24 192.168.5.0/24
ip filter 600023 reject 192.168.6.0/24 192.168.7.0/24
ip filter 600031 reject 192.168.7.0/24 192.168.4.0/24
ip filter 600032 reject 192.168.7.0/24 192.168.5.0/24
ip filter 600033 reject 192.168.7.0/24 192.168.6.0/24
ip filter 600045 reject 192.168.4.0/24 192.168.5.0/24
ip filter 600046 reject 192.168.4.0/24 192.168.6.0/24
ip filter 600047 reject 192.168.4.0/24 192.168.7.0/24
ip filter 600054 reject 192.168.5.0/24 192.168.4.0/24
ip filter 600056 reject 192.168.5.0/24 192.168.6.0/24
ip filter 600057 reject 192.168.5.0/24 192.168.7.0/24
ip filter 600064 reject 192.168.6.0/24 192.168.4.0/24
ip filter 600065 reject 192.168.6.0/24 192.168.5.0/24
ip filter 600067 reject 192.168.6.0/24 192.168.7.0/24
ip filter 600074 reject 192.168.7.0/24 192.168.4.0/24
ip filter 600075 reject 192.168.7.0/24 192.168.5.0/24
ip filter 600076 reject 192.168.7.0/24 192.168.6.0/24
ip filter 600145 pass 192.168.4.0/24 192.168.5.0/24 icmp
ip filter 600146 pass 192.168.4.0/24 192.168.6.0/24 icmp
ip filter 600147 pass 192.168.4.0/24 192.168.7.0/24 icmp
ip filter 600154 pass 192.168.5.0/24 192.168.4.0/24 icmp
ip filter 600156 pass 192.168.5.0/24 192.168.6.0/24 icmp
ip filter 600157 pass 192.168.5.0/24 192.168.7.0/24 icmp
ip filter 600164 pass 192.168.6.0/24 192.168.4.0/24 icmp
ip filter 600165 pass 192.168.6.0/24 192.168.5.0/24 icmp
ip filter 600167 pass 192.168.6.0/24 192.168.7.0/24 icmp
ip filter 600174 pass 192.168.7.0/24 192.168.4.0/24 icmp
ip filter 600175 pass 192.168.7.0/24 192.168.5.0/24 icmp
ip filter 600176 pass 192.168.7.0/24 192.168.6.0/24 icmp
ip filter 600245 pass 192.168.4.0/24 192.168.5.0/24 * 631
ip filter 600246 pass 192.168.4.0/24 192.168.6.0/24 * 631
ip filter 600247 pass 192.168.4.0/24 192.168.7.0/24 * 631
ip filter 600254 pass 192.168.5.0/24 192.168.4.0/24 * 631
ip filter 600256 pass 192.168.5.0/24 192.168.6.0/24 * 631
ip filter 600257 pass 192.168.5.0/24 192.168.7.0/24 * 631
ip filter 600264 pass 192.168.6.0/24 192.168.4.0/24 * 631
ip filter 600265 pass 192.168.6.0/24 192.168.5.0/24 * 631
ip filter 600267 pass 192.168.6.0/24 192.168.7.0/24 * 631
ip filter 600274 pass 192.168.7.0/24 192.168.4.0/24 * 631
ip filter 600275 pass 192.168.7.0/24 192.168.5.0/24 * 631
ip filter 600276 pass 192.168.7.0/24 192.168.6.0/24 * 631
ip filter 610047 pass 192.168.4.0/24 192.168.7.0/24 icmp
ip filter 610048 pass 192.168.7.0/24 192.168.4.0/24 icmp

ipv6の設定。社員用はIPv4のアクセス制限があるので、IPv6の利用はゲストネットワークのみにします。lan1/6がゲストネットワークのvlanです。

ipv6 prefix 1 ra-prefix@lan2::/64

ipv6 lan1/6 address ra-prefix@lan2::1/64
ipv6 lan1/6 rtadv send 1 o_flag=on
ipv6 lan1/6 dhcp service server

ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200085 200086 200098 200099
ipv6 lan2 dhcp service client ir=on

ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject * *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200085 * * submission
ipv6 filter dynamic 200086 * * https
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp

ゲストネットワークのQoSを最初は設定していましたが、ユーザが少ないので撤廃しました。

queue lan1 type shaping
queue lan1 class filter list 1 2
queue lan1 class property 1 bandwidth=100M
queue class filter 1 1 ip 192.168.6.0/24 * * * *
queue class filter 2 1 ip * 192.168.6.0/24 * * *

うるさいログをoffにしたり。

ip filter dynamic 200080 * * ftp syslog=off
ip filter dynamic 200081 * * domain syslog=off
ip filter dynamic 200082 * * www syslog=off
ip filter dynamic 200083 * * smtp syslog=off
ip filter dynamic 200084 * * pop3 syslog=off
ip filter dynamic 200085 * * submission syslog=off
ip filter dynamic 200098 * * tcp syslog=off
ip filter dynamic 200099 * * udp syslog=off

統計情報はこんな感じです。まぁ、キャパまでまだまだ余裕です。

とある日のCPU使用率
とある日のトラフィック

スイッチの設定

ブラウザ上でvlanの設定をポチポチと。

簡単な統計は出ます

WiFi APの設定

周波数とSSIDが分離されていて設定しやすいです。このご時世、2.4GHzをオフにしていてもクレームは出ませんでした。

WiFi APは見通しの良い高い所に設置するのが理想なので、上に設置します。配線も綺麗に整備しました。マルチカッターがないと切るのが辛かったです。

実際に設置してみてわかったのですが、コンクリの壁を挟んだ向こう側はWiFiの電波がかなり減衰しました。距離にして5mなのですが、Chromecastの感度が悪くて、Chromecastだけ繋がらないという現象が起きました。

今回わかったのは、5GHzはコンクリを全然通過しないし、回り込みもほとんど無いです。仕方が無いのでAPを1つ追加しました。(確かに自宅の5GHzも見通しじゃないとかなり減衰するなぁと思いました)

Chromecastを設置

  • 会議室のテレビにはChromecastを設置しました。ゲストネットワークに参加させておきます。
  • 来訪者がWiFiに繋げれば会議室のテレビをワイヤレスで投影出来るので便利です。

設定管理

APIで制御は出来ないので、Infrastructure as Codeの理想に近づけるためにも設定ファイルをダンプしてgithubで管理。

結果

  • 初期コスト
    • 約11万円
内訳
  • ランニングコスト
    • 1万円未満/月

ベンチマーク

無線LAN
有線LAN

IPv6の設定テスト

まとめ

  • オフィスの引っ越しに伴いネットワークを構築しました。
  • 工数は10人日ぐらい使いました。(キャリア選定、機器選定、L1,L2設計、施工、設定、テスト、ケーブル作成などなど)

コメント