ルーターを自作する際に気をつけること

2019年6月29日

freebsdやdebianでルータを自作した経験から書き出し

本当に必要ですか?

自作するということに楽しみがあるからやりたいというのは、大切にしてください。

ただ、その後に使わなくなってしまうならお金の無駄になります。試したい、やってみたいだけなら、いらないPCや仮想環境でルーティングの勉強をしたほうが良いです。

私自身、スイッチングハブや改造目的で中古ルーターを買い漁ったことがありますが、新しいものを買った途端にダンボール行きになりました。

僕の考えた最強なルーターが手に入る

しかしながら、機能面から考えると、市販のルーターがゴミのように感じます。

基本的に次のような機能があります(もっとありますが)

  • ディストリビューションによる迅速なセキュリティ更新
  • VPN(IPsec・openvpn)・VLAN・LAGG
  • パケット監視 ・侵入検知(IDS・IPS)・ウイルス検出・メールチェック
  • webプロキシ
  • DNS(bindやunbound)
  • 仮想IP ・ルーター間の同期バックアップ
  • 認証局
  • ロードバランシング・リバースプロキシ
  • BGPルーティング

このように、ルーターの基本機能に加えて、一般家庭では使わない機能があります。

また、パッケージ管理システムがあるOSの場合、webサーバーなども一緒に動作させることができます。

侵入検知システムとは通信をすべて確認して不正な通信を検知・遮断を行う機能で情報漏えい対策に効果的ですが、家庭にそんな情報はあるんですか?(・∀・)

このサイトでは、SSLリバースプロキシと認証局によって暗号通信を全部行っています。それ以外にも、ホスト名から接続先サーバーを切り替えているので、443ポートで複数のサイトを稼働しています。

ホストしているwebページ以外はすべてルーターが行っています。すごいでしょ

ルータを購入するには何を基準にすればいい?

ルーターを作る上でハードウエアとソフトウエアを考えなければいけません。

ハードウエアの選び方

ハードウエアとは、機器そのものです。

ハードウエアで注目すべきなのは以下の項目です。

  • CPU等の処理速度
  • インタフェースの種類や数
  • 消費電力
  • 大きさ・稼働音
  • 価格

CPU等の処理速度

処理速度が速くれば動作がスムーズになるので高ければいいのに越したことはありませんが、パケット転送をするだけであればCeleronやATOMで十分です。

また、最近のCeleronでもAESアクセラレーション命令があるため、VPNが速いです。ATOMはついていない場合があるのでよく確認してください。

IDSなどのパケット監視をギガビットの通信速度で行うのであれば4コア以上が必要になると考えてください。

インタフェースの種類や数

インタフェースというのはLANポートやUSBポートのことです。

LANにも種類があり、LANケーブルと言われるツイストペアケーブルや、光ファイバーケーブルを利用するものもあります。

USBでLANポートを増幅できる点や、PCIEで10GbitのNICを追加することで、将来的に機能強化できるという点も考えましょう。

電気代

最初はATOMのminiitxでルーターを作成しました。

ATOMなので作成した時は、電気代なんて考えていませんでしたが、そんなことはなく40wほど使っていました。

自作ルーターは素体が自作PCな場合、消費電力が高いのか難点です

市販のルーターは最大で10w程度なので消費電力が多いことがわかります。

電気代は低いことに越したことはありません。

大きさ・稼働音

業務用ハードウエアあるあるですが、壊れないようにするために、冷却ガチ勢が多いです。

騒音被害を室内で受ける場合があるので、隔離できるスペースが有るか、ファンレスを選択することを考えましょう。

価格

自作するにあたってやはり市販のルーターよりは高価になってしまいます。

といっても6000~4万円がちょうどよい価格帯だと感じています。

ヤマハのように10万です!とか

市販のゲーミングルーターなんとCPU2コア!!

といったものよりは性能は圧倒的に高いので、値段相応かなとは思います。

ソフトウエアの選び方

ハードウエアの空想が膨らんだところで、どのようなソフトウェアを使うかを考えます。

構築方法として

  • フルスクラッチ
  • ルーターOS

があります。

フルスクラッチ

OSとして、windows serverや、debian,ubuntu,freebsdをインストールし、その後にHDCPやDNSの設定を手動で行い、ルーターとしての機能を構築する手法です。

細かく制御できる分、すべての設定を自身で把握していなければいけないので、難易度は高めですが、

raspberry pi ルーター」と検索すればlinux系列でどのようにすればいいかは出てきます。

ルーターの機能以外にも、サーバー機能などを構築することができます。

ルーターOS

これらは、OSとしてはunix系列で動作しています。

フルスクラッチと違って、webでポチポチすることで設定することができます。

実際にはwebでポチポチした設定を元に、内蔵されたプログラムがフルスクラッチと同じような操作を裏で行います。

開発が現在も活発に行われているOSの代表として以下があります。

ただし、その殆どがx86アーキテクチャでしか動作しません。

pfsense

freebsdがベースのOSです。

オープンソースですが、NETGEARがスポンサーです。

英語ですが、圧倒的な情報量があります。

opnsense

freebsdがベースのOSです。

pfsenseと m0n0wall (開発終了)から分岐したソフトウエアです。

pfsenseと比べてモダンな感じです。pfsenseの機能を引き継いでいるため、ある程度は情報を流用できます。

日本語に対応しています。

untangle

debianがベースのOSです。

シェアウェアですが、基本的な機能は無料で、パケット監視などの高度な機能は有料です。

こちらからデモ管理サイトを見ることができます

日本語に対応していますが、デモでは権限がないため変更することはできません。

openwrt

linuxカーネルがベースのOSです。

独自のレポジトリを持っていますが、debian系列と設定自体は同じです。

主に市販ルーターの非公式ファームウェアを公開していますが、x86ベースもあるので利用することができます。

日本語のパッケージをインストールすることで日本語にできます。

おすすめのハードウェア

現在流通しているコンピューターには大きく分けて以下の3つの種類があります。

  • MIPS 市販のルーターのCPU 消費電力が低い
  • ARM ラズベリーパイなど 較的高度な命令
  • x86  ほとんどのパソコン おそらく現行の王様(何でもできる)

PowerPC?なんのことだか。AVR?それマイコンだわ

この中でARMとx86のハードウエアのおすすめを紹介したいと思います。

(MIPSがほしければルーターのファームウェア書き換えたほうが早いです。推奨しませんが )

ARM系

SG-1100

NETGATEから発売されています。スペックは以下の通り

  • pfsense
  • ARMv8 Cortex A53 2コア
  • DDR4 1GB
  • ギガビット 3ポート
  • USB 2.0 3.0
  • 消費電力 3.48w
  • TCPスループット 740Mbits/sec
  • openvpnスループット  120Mbits/sec
  • 価格 約18 000円

VPNは、OS(pfsense)がarmの暗号命令に対応していないため対応するともっと速くなる可能性があります。

SG-3100

SG-3100 pfSense® Security Gateway Appliance

NETGEARが発売しています。

  • pfsense
  • ARM v7 Cortex-A9 2コア
  • DDR4 2GB
  • ギガビット 6ポート(4ポートはスイッチングハブ)
  • USB 3.0
  • 消費電力 約6w
  • TCPスループット 985Mbits/
  • openvpnスループット 約100Mbps/sec
  • 価格 約40000円

Nanopi Neo4

pfsenseでなくてもdebianが動けばどうにかなるのです。

偉い人にはそれがわからんのです。というわけで、こちら。

USB3.0に対応しているので、USBLANを増設する前提です。

  • debian
  • ARM8v Cortex-A72 2コア + Cortex-A53 4コア
  • DDR3 1GB
  • ギガビット 1ポート
  • USB3.0 
  • 消費電力 15w以下
  • 価格 約5000円

x86系

ファンレス6ポート

アマゾンでは上記で販売していますがコロコロ販売ページが変わるので、以下のように検索すると出てきます。

https://www.amazon.co.jp/s?k=pfsense

  • OSは自由
  • Celeron 3865U or i3 7100U or i5 7200U
  • DDR4 最大32GB
  • Inter ギガビット 6ポート
  • USB3.0 
  • openvpn 約350Mbps/s
  • 消費電力 アイドル10w程度
  • 価格 約35000円~

現在使用しているルーターです。

AES-INに対応しています。

組み立ては過去に書いていますのでどうぞ。

ファンレス4ポート

  • OSは自由
  • Celeron J1900
  • DDR3L 最大4GB(8GB報告あり)
  • Inter ギガビット 4ポート
  • USB3.0+2.0 
  • 消費電力 アイドル10w程度
  • 価格 約20000円~

アマゾン以外にも、aliexpressで販売しています。

探してみると上記の2つのデザイン違いや、販売元が違うだけです。

まとめ

手軽に扱えそうなハードウエアを紹介しましたが、結局の所ソフトウェアをどうにかしないとどうにもならないので、買ったからできるとは考えないほうが良いです。