ルータ

  • ルータサーバの構築
  • Ubuntu 18.04 ベースの OS での構築手順
  • サーバには 2 つの NIC にそれぞれ有線 LAN ケーブルで接続する。
    • NIC1: 付属の LAN カード
    • NIC2: USB 3.0 経由で LAN に接続するデバイス (Plugable USB 3.0)
  • 内側のネットワークにその他の PC を接続する
デバイスIDIPアドレス説明
ゲートウェイ192.168.100.1
enp4s0192.168.100.23インターネット (付属の LAN カード)
enx8ca192.168.200.46LAN (内側のネットワーク)
  1. ネットワークの設定をするため、/etc/netplan/50-cloud-init.yaml をエディタで編集する。
    network:
        ethernets:
            enp4s0:
                addresses:
                - 192.168.100.23/24
                dhcp4: false
                gateway4: 192.168.100.1
                nameservers:
                    addresses:
                    - 8.8.8.8
                    - 8.8.4.4
                    search: []
            enx8ca:
                addresses:
                - 192.168.200.46/24
                dhcp4: false
                gateway4: 192.168.100.1
        version: 2
    • /24 はネットマスク
  2. 編集が終わったら、以下のコマンドで適用する。
    $ sudo netplan apply
  3. フォワーディングを許可するため、/etc/ufw/sysctl.conf を編集する。
    • 変更前
      #net.ipv4.ip_forward=1
    • 変更後
      net.ipv4.ip_forward=1
  4. 編集が終わったら、以下のコマンドで適用する。
    $ sudo sysctl -p
  5. ufw のデフォルトのポリシーを変更するため、/etc/default/ufw をエディタで編集する。
    • 変更前
      DEFAULT_FORWARD_POLICY="DROP"
    • 変更後
      DEFAULT_FORWARD_POLICY="ACCEPT"
  6. NAT のルールを追加するため、/etc/ufw/before.rules 末尾に以下を追加する。
    # NAT
    *nat
    :POSTROUTING ACCEPT [0:0]
    :PREROUTING ACCEPT [0:0]
    -A POSTROUTING -s 192.168.200.46/24 -o enp4s0 -j MASQUERADE
    COMMIT
  7. SSH の許可を追加する。
    $ sudo ufw allow ssh
  8. ufw を適用する。
    $ sudo ufw disable && sudo ufw enable
  9. DHCP サーバをインストールする。
    $ sudo apt install isc-dhcp-server
  10. DHCP で制御するインターフェースを登録するため、/etc/default/isc-dhcp-server をエディタで編集する。
  11. DHCP サーバの設定をするため、/etc/dhcp/dhcpd.conf をエディタで編集する。
    • 以下に変更する。
      option domain-name "local";
      option domain-name-servers 8.8.8.8, 8.8.4.4;
      default-lease-time 600;
      max-lease-time 7200;
    • 追加する。
      host dhcp-client{
              hardware ethernet xx:xx:xx:xx:xx:xx;
              fixed-address 192.168.200.46;
      }
      
      subnet 192.168.200.0 netmask 255.255.255.0{
              range dynamic-bootp 192.168.200.50 192.168.200.100;
              option broadcast-address 192.168.200.254;
              option routers 192.168.100.1;
              default-lease-time 600;
              max-lease-time 7200;
              option domain-name "local";
              option domain-name-servers 8.8.8.8, 8.8.4.4;
      }
    • hardware ethernet は、内側ネットワークの NIC のデバイス ID を入れる。
  12. DHCP デーモンを再起動する。
    $ sudo systemctl restart isc-dhcp-server