自宅のルータをlinuxに置き換える計画

スポンサード リンク

ネットワーキングの勉強を兼ねて,自作のルータを Linuxで構築したい。どうやったらできるのか,計画をする。

概要

目的:自宅のBuffaloのルータをLinuxサーバで置換する
構成:[インターネット] --- eth0:[linuxルータ]:eth1 --- [LANハブ] --- [自宅PC]
                                    |
                                    +----- :eth2 --- [無線LAN] --- [ノートPC]

物理構成

ルータ: thinkpad x61 NIC0 (eth0): 組み込みNIC NIC1 (eth1): cardbusあるいはUSB経由のNIC NIC2 (eth2): mini pcie接続の無線NIC

eth0: インターネット <-> ルータ

集合住宅であるので,部屋の壁にあるLANケーブルの穴に 接続するとDHCPでIPアドレスが割り当てられる。

したがって, eth0は単にDHCPでIPアドレスを取得するだけでよい。

eth1: ルータ <-> 自宅LAN

ルータ上ではeth1に固定IPとして 192.168.12.1/24 を割り当てる。 その上で,自宅LANが機能するように

  • ルータにDHCPサーバを立てて, 192.168.12.2-254/24 をリースする

  • ルータにNATを設定して, 192.168.12.2-254/24 からインターネットへ接続できるようにする

    • NATはiptablesの設定で実施

DHCPサーバとNATはDockerで構築する。

  • インターネット側はdokcerのデフォルトbridge設定である docker0 を使う
  • LAN側はルータのeth1に直結したブリッジ ovs-vbr1 に接続する
  • LAN側からルータに接続できるように,可能であればルータの物理ホストにも192.168.12.0/24のIPアドレスを割り当てたい
eth0 -- docker0 -- [DHCP_NAT-docker] -- ovs-vbr1 -- eth1

IPアドレスの割当予定は以下の通り。

192.168.12.1 : DHCPサーバ,NAT用 dockerコンテナ
192.168.12.2 : ルータ物理ホスト
192.168.12.3-49 : ルータ物理ホスト上のdockerコンテナ(WebサービスやNAS等)
192.168.12.50-99 : DHCPで払い出す。MACに対して固定のIPアドレス
192.168.12.100-254 : DHCPで払い出す。可変のIPアドレス

eth2: 無線LANアクセスポイント

eth1と同じ 192.168.12.1/24 をDHCPで配布する。

付加的な機能

せっかくLinuxでルータを立てるのだから,付加的な機能を付けたい。

  • DHCPでMACに応じた固定IPアドレスを配布する
  • NAS: USBでHDDを接続し,sambaで共有
  • sshサーバ
    • 外部からのアクセスは,EC2のsshポートフォワーディング経由で行う。
  • Webサーバ (wordpress)
    • dockerコンテナとして起動
    • 外部からのアクセスは,EC2のsshポートフォワーディング経由で行う。
      • 常にルータからEC2インスタンスへsshを貼る
      • 独自ドメインのDNSはEC2へ向ける
  • DNSサーバ (nginxのリバースプロキシかも)
  • Mailサーバ
  • owncloudサーバ
  • webdavサーバ
  • vpnサーバ

作業予定

  1. OK: インターネット -- 既存ルータ --- eth0:[linuxルータ]:eth1 -- LANハブ として接続
  2. OK: eth0でDHCPクライアント化。既存ルータから 192.168.11.0/24 のIPアドレスを取得する
  3. OK: eth1でDHCPサーバを立てる。192.168.12.0/24の払い出しを可能にする
  4. OK: linuxルータ物理マシンとコンテナ <--> 192.168.12.0/24 の物理マシン の疎通を確認
  5. eth2で無線LANアクセスポイント化
  6. インターネット -- eth0:[linuxルータ]:eth1 -- LANハブ として接続。実運用開始
  7. web,nas,sshサーバを実装

課題

  • Thinkpad x61を利用すると,ファンの音と消費電力に難がある
    • とはいえ他に良いハードウェアがあるわけでもない
    • raspberry pi系ではNICもHDDも遅い。ARM系なので仮想化も不十分
  • 録画サーバも統一したい - pt3を別途購入する必要がある

Comments !

social