ルータ
概要
- ルータサーバの構築
- Ubuntu 18.04 ベースの OS での構築手順
ネットワーク環境
- サーバには 2 つの NIC にそれぞれ有線 LAN ケーブルで接続する。
- NIC1: 付属の LAN カード
- NIC2: USB 3.0 経由で LAN に接続するデバイス (Plugable USB 3.0)
- 内側のネットワークにその他の PC を接続する
デバイスID | IPアドレス | 説明 |
ゲートウェイ | 192.168.100.1 | |
enp4s0 | 192.168.100.23 | インターネット (付属の LAN カード) |
enx8ca | 192.168.200.46 | LAN (内側のネットワーク) |
手順
- ネットワークの設定をするため、
/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
はネットマスク
- 編集が終わったら、以下のコマンドで適用する。
$ sudo netplan apply
- フォワーディングを許可するため、
/etc/ufw/sysctl.conf
を編集する。- 変更前
#net.ipv4.ip_forward=1
- 変更後
net.ipv4.ip_forward=1
- 編集が終わったら、以下のコマンドで適用する。
$ sudo sysctl -p
- ufw のデフォルトのポリシーを変更するため、
/etc/default/ufw
をエディタで編集する。- 変更前
DEFAULT_FORWARD_POLICY="DROP"
- 変更後
DEFAULT_FORWARD_POLICY="ACCEPT"
- 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
- 初期状態の COMMIT より前に追加すると、エラーが出る ( Ubuntu UFW NAT: bad argument *nat | Lacyc3.eu)。
- SSH の許可を追加する。
$ sudo ufw allow ssh
- ufw を適用する。
$ sudo ufw disable && sudo ufw enable
- DHCP サーバをインストールする。
$ sudo apt install isc-dhcp-server
- DHCP で制御するインターフェースを登録するため、
/etc/default/isc-dhcp-server
をエディタで編集する。- 変更前
INTERFACESv4=""
- 変更後
INTERFACESv4="enx8ca"
- 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 を入れる。
- DHCP デーモンを再起動する。
$ sudo systemctl restart isc-dhcp-server