Ubuntu 26.04 でLinuxルーター構築
November 05, 2026
はじめに
PCで使用するデータはNASで管理しているが、そのNASが(どこのメーカーとは言えないが)IPアドレスでのアクセス制御ができない。
なので自分以外のPCからアクセスしようと思えば可能。
当然、ID/PWで管理しているがMFA機能もないのでちょっと不安。
そして、心配なのは管理画面用の80/tcpとSMBの445/tcp以外にもNAS内部用として動作しているSSHやMySQLなどのポートが開いているが、NASの設定ではそれを閉じられない。
なので、LANとNASとの間にMiniPCで構築したLinuxルーターを挟み、NASは完全プライベートのネットワーク(192.168.)上で動かし、自分のPC(172.16.1.201)からのみのアクセスを受け付けるようにした。
今回構築したLinuxルーターの概要は以下のとおり
- WAN→LAN: NAS01のWebとSMBのみ、指定した送信元IPから転送
- LAN→WAN: UFWの転送許可ルールでLAN発の通信を許可し、MASQUERADEで送信元を変換
- DHCP: LAN内の指定した範囲でアドレスを配布
- アクセス制御: WAN側からの転送先・ポートを限定
+------------+
| 確認用PC |
| Windows 11 |
+------------+
172.16.1.201
↓↑
WAN: enp2s0 / 172.16.1.200
+------------------------------------+
| Mini PC |
| Ubuntu 26.04 ルーター |
| IPフォワーディング/DNAT/MASQUERADE |
| DHCP: 192.168.200.101~120 |
+------------------------------------+
LAN: enp3s0 / 192.168.200.1
↓↑
192.168.200.11
+-------------+
| NAS01 | Web: 外部 51080 → 内部: 80
| 共有:/share | SMB: 外部 445 → 内部: 445
+-------------+
下準備
今回使用した MiniPC は、2つのLANの口(RJ45)を持っている。それぞれのデバイス名はMACアドレスは「ip link show」で確認可能。
$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
altname enx00e04c5b8000
3: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
altname enx00e04c5b8001
4: wlp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
altname wlxe094679fae98
※MACアドレスは念のためマスクしている。
今回 WAN側(といってもプライベート 172.16.1.200)を enp2s0、LAN側(192.168.200.1)を enp3s0 に割り当てる
- WAN側IP: 172.16.1.200、dev: enp2s0
- LAN側IP: 192.168.200.1、dev: enp3s0
Ubuntuのインストール時に、WAN側のネットワークは設定しており、施設内ネットワークを経由してインターネットにアクセス可能な状態である。
$ ip route show table main
default via 172.16.1.254 dev enp2s0 proto static
172.16.1.0/24 dev enp2s0 proto kernel scope link src 172.16.1.200
私は、AlmaLinux や Rocky Linux などの RHEL 系を普段利用しているので、NetworkManager (nmcli) を使った管理が慣れている。しかし、Ubuntuは、Desktop や Server の形態で異なるが、基本 systemd-networkd と Netplan でネットワークを管理するようだ。
- Netplan
- ネットワーク設定の定義を行う
/stc/netplan/*.yamlに、IPアドレス、Gateway、DNSサーバのIPアドレスなどを記載する- それ自体がネットワーク接続を管理するデーモンではない
- systemd-networkd
- ネットワークを実際に管理(インターフェースの接続・切断等)するサービス
- Netplanでの設定をもとに動作する
- networkctl コマンドなどで確認
- NetworkManager
- systemd-networkd 同様、こちらもネットワークを実際に管理・制御する
- nmcli はこれを操作するコマンド
Netplan を使わずに、NetworkManager にてコマンド nmcli connection modify netplan-enp2s0 ... のように直接変更することも可能だが、Netplan と NetworkManager の両方で設定を管理しようとすると、設定の競合や上書きが起こりやすくなってしまう。
(参考) NetworkManager default configuration - Netplan documentation
ということで、まずは NetworkManager を導入し、nmcli コマンドにて各種設定を確認してみる。
$ sudo apt install network-manager
$ sudo systemctl restart NetworkManager
インストール時に NetworkManager のサービスが起動されているかもしれない。
$ nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN METERED
切断済み なし 有効 有効 missing 有効 不明
コネクションを認するが、まだ設定されていない。
$ nmcli connection show
デバイスの状態を確認する。
$ nmcli device status
DEVICE TYPE STATE CONNECTION
wlp1s0 wifi 切断済み --
enp2s0 ethernet 管理無し --
enp3s0 ethernet 管理無し --
lo loopback 管理無し --
p2p-dev-wlp1s0 wifi-p2p 管理無し --
各 nmcli コマンドを実行しても、管理無しとなっている。
$ sudo NetworkManager --print-config
:
[main]
# rc-manager=auto
# migrate-ifcfg-rh=false
# auth-polkit=true
# dhcp=internal
# iwd-config-path=
firewall-backend=iptables
plugins=ifupdown,keyfile
configure-and-quit=no
[ifupdown]
managed=false
:
ここで、[ifupdown] の項目で managed=false となっている点に注意する。
これは、主に /etc/network/interfaces で管理されるインターフェースを NetworkManager が管理対象にする(true)か否(false)を制御するもの。
ただこれは、以下の Netplan の設定にて renderer: NetworkManager を指定することで、enp2s0、enp3s0 両方のインターフェースが NetworkManage に認識されるようになるため、managed=false を変更する必要はない。
設定
ネットワークインターフェースの設定
それでは、「/etc/netplan」配下の設定ファイル、今回はデフォルトで作成されている「00-installer-config.yaml」に、まだ未設定のLAN側IP(enp3s0)の設定を含めて修正する。
$ sudo cp -p /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml_20261020
$ sudo vi /etc/netplan/00-installer-config.yaml
[/etc/netplan/00-installer-config.yaml]
# This is the network config written by 'subiquity'
network:
renderer: NetworkManager
ethernets:
enp2s0:
addresses:
- 172.16.1.200/24
match:
macaddress: xx:xx:xx:xx:xx:xx
nameservers:
addresses:
- 172.16.1.1
- 172.16.1.2
search: []
routes:
- to: default
via: 172.16.1.254
set-name: enp2s0
enp3s0:
dhcp4: false
dhcp6: false
accept-ra: true
addresses:
- 192.168.200.1/24
version: 2
wifis: {}
修正(追記)した箇所はこちら。
$ sudo diff -u /etc/netplan/00-installer-config.yaml_20261020 /etc/netplan/00-installer-config.yaml
--- /etc/netplan/00-installer-config.yaml_20261020 2026-10-15 10:02:33.922206965 +0900
+++ /etc/netplan/00-installer-config.yaml 2026-10-20 15:30:53.063131017 +0900
@@ -1,5 +1,6 @@
# This is the network config written by 'subiquity'
network:
+ renderer: NetworkManager
ethernets:
enp2s0:
addresses:
@@ -16,6 +17,10 @@
via: 172.16.1.254
set-name: enp2s0
enp3s0:
+ dhcp4: false
+ dhcp6: false
accept-ra: true
+ addresses:
+ - 192.168.200.1/24
version: 2
wifis: {}
「renderer: NetworkManager」と追記することで、Netplan でのネットワーク設定が、systemd-networkd ではなく、NetworkManager の管理下で制御できるようになる。
それでは設定を有効にする。
$ sudo netplan generate
$ sudo netplan try --timeout 120
Netplanの設定の適用は「sudo netplan apply」だが、「sudo netplan try --timeout 120」とすることで、設定を仮適用し、120秒以内に正常に動作するかを確認できる。問題がなければ設定が適用される。
$ ip route show table main
default via 172.16.1.254 dev enp2s0 proto static metric 100
172.16.1.0/24 dev enp2s0 proto kernel scope link src 172.16.1.200 metric 100
192.168.200.0/24 dev enp3s0 proto kernel scope link src 192.168.200.1 metric 101
もう1個のデバイス enp3s0 が有効になった。各 nmcli コマンドを確認してみる。
$ nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN METERED
接続済み 完全 有効 有効 missing 有効 いいえ (推測)
コネクションの確認
$ nmcli connection show
NAME UUID TYPE DEVICE
netplan-enp2s0 7ea6f90b-3495-3533-948a-xxxxxxxxxxxx ethernet enp2s0
netplan-enp3s0 6effa1b1-280b-3785-9b52-xxxxxxxxxxxx ethernet enp3s0
lo 0f24589a-a54f-4873-abb6-xxxxxxxxxxxx loopback lo
※UUIDは念のためマスクしている。
デバイスの確認
$ nmcli dev status
DEVICE TYPE STATE CONNECTION
enp2s0 ethernet 接続済み netplan-enp2s0
enp3s0 ethernet 接続済み netplan-enp3s0
lo loopback 接続済み (外部) lo
wlp1s0 wifi 切断済み --
p2p-dev-wlp1s0 wifi-p2p 切断済み --
「接続済み」と表示されるようになり、NetworkManager の管理下になった。なお、Netplan を NetworkManager のバックエンドとして使用する場合は、Netplan が接続プロファイルを生成・管理するため、「netplan-enp2s0」のような名前になる。
一方、systemd-networkd については unmanaged になっていることが確認できる。
$ networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp2s0 ether routable unmanaged
3 enp3s0 ether routable unmanaged
4 wlp1s0 wlan no-carrier unmanaged
4 links listed.
NAT (マスカレード、LAN→WAN)
まずは現在のファイアウォール(UFW)の設定状況から確認
$ sudo ufw status verbose
状態: アクティブ
ロギング: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
新しいプロファイル: skip
To Action From
-- ------ ----
22022/tcp ALLOW IN Anywhere
224.0.0.1 DENY IN Anywhere # Allhosts multicast
22022/tcp (v6) ALLOW IN Anywhere (v6)
- すべてのホストからのsshd (ポート番号変更済: 22 → 22022) を許可
- すべてのホストからのマルチキャスト通信を拒否
現在のIPフォワーディング設定を確認
$ cat /proc/sys/net/ipv4/ip_forward
0
現在のNATの設定状況を確認
$ sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
IPフォワーディングも有効でないし、NATも設定されていない。すべてのチェーンポリシーはACCEPTになっている。
まずはシステム全体のsysctl設定として、IPフォワーディングを永続化する。
[/etc/sysctl.d/99-router.conf]
net.ipv4.ip_forward=1
有効化
$ sudo sysctl --system
確認
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
続いて、UFW にて NAT を設定する。直接 /etc/ufw/before.rules を編集するのでオリジナルをバックアップしておく。
$ sudo cp -p /etc/ufw/before.rules /etc/ufw/before.rules.ORG
オリジナルとの差分は次のとおり。
$ sudo diff -U 1 /etc/ufw/before.rules.ORG /etc/ufw/before.rules
--- /etc/ufw/before.rules.ORG 2025-12-06 20:04:40.000000000 +0900
+++ /etc/ufw/before.rules 2026-10-21 14:51:04.818518374 +0900
@@ -10,2 +10,14 @@
+# NAT
+
+*nat
+-F
+:PREROUTING ACCEPT [0:0]
+:POSTROUTING ACCEPT [0:0]
+
+# LAN -> WAN Internet access
+-A POSTROUTING -s 192.168.200.0/24 -o enp2s0 -j MASQUERADE
+
+COMMIT
+
# Don't delete these required lines, otherwise there will be errors
@@ -75 +86,2 @@
COMMIT
+
まだ、DNATの設定はしていないが、:PREROUTING ACCEPT [0:0] を入れている。
-A POSTROUTING -s 192.168.200.0/24 -o enp2s0 -j MASQUERADE
にて、LAN側ネットワーク (192.168.200.0/24) から出るパケットのソースIPを enp2s0 のインターフェースIP (172.16.1.200) に変換している。
「*nat」の次の行に「-F」を入れないと、sudo ufw reload の度に「-A」のエントリが重複されてしまう。
次にファイアウォール (UFW) にて転送許可設定を行う。
OS再起動時も、UFWの設定を保持するためには /etc/ufw/ufw.conf にて ENABLED=yes になっている必要がある。
これは「sudo ufw enable」を実行することで、ENABLED=yes つまり UFW は有効になる。
ufwのデフォルトのポリシーは次のとおりである。転送通信(FORWARD)のポリシーはデフォルトで拒否のままにしておく。
$ grep -E 'DEFAULT' /etc/default/ufw
DEFAULT_INPUT_POLICY="DROP"
DEFAULT_OUTPUT_POLICY="ACCEPT"
DEFAULT_FORWARD_POLICY="DROP"
DEFAULT_APPLICATION_POLICY="SKIP"
ここで、LAN(enp3s0)側 192.168.200.0/24 からのパケットの、WAN(enp2s0)側への転送を許可するルールを設定する。
$ sudo ufw route allow in on enp3s0 out on enp2s0 from 192.168.200.0/24
ここで、UFW の設定を有効(再読み込み)する。
$ sudo ufw reload
ファイアウォールを再読込しました
iptables コマンドにてNATのルールを確認する。 管理・適用は UFW によるものだが、実際にパケット変換を行っているのは Linux カーネルの NAT 機能(iptables/nftables)である。
$ sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -s 192.168.200.0/24 -o enp2s0 -j MASQUERADE
POSTROUTING(ルーティングの後処理)にて、LAN側ネットワーク (192.168.200.0/24) から出るパケットのソースIPを enp2s0 のインターフェースIP に変換する、というルールが設定されている。
次に ufw コマンドにて転送許可設定を確認する。
$ sudo ufw status verbose
状態: アクティブ
ロギング: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
新しいプロファイル: skip
To Action From
-- ------ ----
22022/tcp ALLOW IN Anywhere
224.0.0.1 DENY IN Anywhere # Allhosts multicast
22022/tcp (v6) ALLOW IN Anywhere (v6)
Anywhere on enp2s0 ALLOW FWD 192.168.200.0/24 on enp3s0
LAN側インターフェース enp3s0 のネットワーク (192.168.200.0/24) からWAN側インターフェース enp2s0 へのパケットの転送を許可されている。
以上、「IPフォワーディング有効」、「UFWの転送許可」、「NAT(MASQUERADE)」の3つが揃って初めて、192.168.200.0/24 の LAN クライアントが enp2s0 側 172.16.1.200 のインターフェースを通ってインターネット等へアクセスできるようになった。
DNAT (ポートフォワーディング、WAN→LAN)
NATの設定によって、NAS01がLinuxルーター介してインターネットに接続できるようになったので、ファームウェアのアップデートがこれで可能になった。
次に、WAN側PC (172.16.1.201) にて、LAN側にある NAS01 (192.168.200.11) の共有フォルダに接続(ネットワークドライブ接続)できるようにするには、LinuxルーターにDNAT(ポートフォワーディング)の設定をする必要がある。
つまり、WAN側から、172.16.1.200 の特定のポートにアクセスすることで、192.168.200.11 の特定のポートにアクセスできるようにする設定である。
NAS01 (192.168.200.11) へのアクセスで必要なポートは
- 80/tcp … NAS01のWeb管理画面
- 445/tcp … Windowsファイル共有(SMB)
の2つである。結果的に次のようなポート転送を設定する。
- 172.16.1.200 の 51080/tcp → 192.168.200.11 の 80/tcp
- 172.16.1.200 の 445/tcp → 192.168.200.11 の 445/tcp
この2つを PREROUTING(ルーティング前処理)ルールとして、/etc/ufw/before.rules に追記する。
[/etc/ufw/before.rules]
:
# NAT
*nat
-F
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# WAN PC -> NAS Web
-A PREROUTING -i enp2s0 -s 172.16.1.201/32 -d 172.16.1.200/32 -p tcp --dport 51080 -j DNAT --to-destination 192.168.200.11:80
# WAN PC -> NAS SMB
-A PREROUTING -i enp2s0 -s 172.16.1.201/32 -d 172.16.1.200/32 -p tcp --dport 445 -j DNAT --to-destination 192.168.200.11:445
# LAN -> WAN Internet access
-A POSTROUTING -s 192.168.200.0/24 -o enp2s0 -j MASQUERADE
COMMIT
# Don't delete these required lines, otherwise there will be errors
*filter
:
新しく追加したルールを有効化する。
$ sudo ufw reload
ファイアウォールを再読込しました
確認
$ sudo iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -s 172.16.1.201/32 -d 172.16.1.200/32 -i enp2s0 -p tcp -m tcp --dport 51080 -j DNAT --to-destination 192.168.200.11:80
-A PREROUTING -s 172.16.1.201/32 -d 172.16.1.200/32 -i enp2s0 -p tcp -m tcp --dport 445 -j DNAT --to-destination 192.168.200.11:445
-A POSTROUTING -s 192.168.200.0/24 -o enp2s0 -j MASQUERADE
NATの時同様、ファイアウォール (UFW) にて許可設定も行う。 ここでは、WAN側ネットワークの全ホストではなく、1台のPC 172.16.1.201 だけが NAS01 (192.168.200.11) の 80/tcp と 445/tcp へのアクセス(Linuxルータを経由したアクセス)を許可しておく。
$ sudo ufw route allow in on enp2s0 from 172.16.1.201 to 192.168.200.11 port 80 proto tcp comment "NAS01 Web"
ルールを追加しました
$ sudo ufw route allow in on enp2s0 from 172.16.1.201 to 192.168.200.11 port 445 proto tcp comment "NAS01 SMB"
ルールを追加しました
確認
$ sudo ufw status verbose
状態: アクティブ
ロギング: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
新しいプロファイル: skip
To Action From
-- ------ ----
22022/tcp ALLOW IN Anywhere
224.0.0.1 DENY IN Anywhere # Allhosts multicast
22022/tcp (v6) ALLOW IN Anywhere (v6)
Anywhere on enp2s0 ALLOW FWD 192.168.200.0/24 on enp3s0
192.168.200.11 80/tcp ALLOW FWD 172.16.1.201 on enp2s0 # NAS01 Web
192.168.200.11 445/tcp ALLOW FWD 172.16.1.201 on enp2s0 # NAS01 SMB
ここまでの結果として、それぞれNATテーブルを確認してみる。
POSTROUTINGチェインの表示
$ sudo iptables -t nat -S POSTROUTING
-P POSTROUTING ACCEPT
-A POSTROUTING -s 192.168.200.0/24 -o enp2s0 -j MASQUERADE
→ POSTROUTING の MASQUERADE、つまり出ていくパケットの送信元のアドレス (192.168.200.x) を書き換える(送信元アドレス変換 SNAT)
PREROUTINGチェインの表示
$ sudo iptables -t nat -L PREROUTING -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 172.16.1.201 172.16.1.200 tcp dpt:51080 to:192.168.200.11:80
DNAT tcp -- 172.16.1.201 172.16.1.200 tcp dpt:445 to:192.168.200.11:445
→ PREROUTING の DNAT、つまり入ってきたパケットの宛先IPアドレス/ポートを書き換える
WAN側PCからNASが利用可能か確認
NASの設定
今までPCと一緒のネットワーク 172.16.1.0/24 にいた NAS01 をLinuxルーター配下のLAN側に移動するためにネットワークの設定変更をする。
- IPアドレス: 192.168.200.11
- ネットマスク: 255.255.255.0
- デフォルトゲートウェイ: 192.168.200.1
WAN側PCのブラウザから http://172.16.1.200:51080 にアクセスすることで、NAS01のWeb管理画面にアクセスできるようになる。
また、WAN側PCからネットワークドライブ \\172.16.1.200\Share でNAS01の共有フォルダ「Share」に接続できる。
注意
10080番ポートとSMBポートの問題
当初、ポートの変換を、
- 172.16.1.200 の 10080/tcp → 192.168.200.11 の 80/tcp
- 172.16.1.200 の 10445/tcp → 192.168.200.11 の 445/tcp
のように考えていたが、これではうまくいかなかった。
まず、NAS01のWeb管理画面に http://172.16.1.200:10080 でアクセス可能と考えていたがNGだった。ポート 10080 はブラウザ自身がブロックするようだ。(恥ずかしながら今まで知らなかった。。。)
(参考) Web Application開発に10080番ポートは使ってはいけない
あと、WAN側PCからネットワークドライブ先をポート番号も指定して \\172.16.1.200:10445\Share でアクセスできると思ったが、このようなポートの設定はできない(445番固定)みたい。
OS起動時における NetworkManager と systemd-networkd の競合問題
Reboot すると。。。
起動中、「systemd-networkd-wait-online.service」の起動で時間がかかりタイムアウトして失敗してしまう。
$ sudo journalctl -b -p warning --no-pager
:
... systemd-networkd-wait-online[1225]: Timeout occurred while waiting for network connectivity.
... systemd[1]: systemd-networkd-wait-online.service: Failed with result 'exit-code'.
... systemd[1]: Failed to start systemd-networkd-wait-online.service - Wait for Network to be Online.
... systemd-networkd-wait-online[1760]: Timeout occurred while waiting for network connectivity.
確認すると
$ systemctl is-active NetworkManager
active
$ systemctl is-active systemd-networkd
active
$ systemctl is-active systemd-networkd-wait-online
failed
NetworkManager と systemd-networkd 両方がアクティブになってしまっている。 実際は NetworkManager で管理しているので、「「systemd-networkd」、「systemd-networkd-wait-online」は無効にしなければならない。 これら、
- systemd-networkd.service
- systemd-networkd-wait-online.service
を無効 (disable) にしておく
$ sudo systemctl disable systemd-networkd-wait-online.service
Removed '/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service'.
$ sudo systemctl disable systemd-networkd.service
Removed '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service'.
Removed '/etc/systemd/system/sockets.target.wants/systemd-networkd.socket'.
DHCPサーバ
今回、LAN側のNASのIPアドレスは固定にしたが、このLAN側ネットワークにつなぐそれ以外のPC等デバイスについては、IPアドレスを動的に割り振ることにする。
ということで、このLinux PCに「kea DHCP」をインストールし、DHCPサーバ機能を設定する。
$ sudo apt install kea
インストール後、既に kea-dhcp4-server.service は動いているもよう。
設定ファイルは、/etc/kea/kea-dhcp4.conf 、予めバックアップは取っておく。
$ sudo cp -p /etc/kea/kea-dhcp4.conf /etc/kea/kea-dhcp4.conf.ORG
設定ファイルの中身は、デフォルトで色々ごちゃごちゃしているが、"DHCP4": "subnet4":[...] 内に必要事項を記載しておけばとりあえずOK。
[/etc/kea/kea-dhcp4.conf]
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "enp3s0" ]
},
:
"subnet4": [
{
"id": 1,
"subnet": "192.168.200.0/24",
"pools": [ { "pool": "192.168.200.101 - 192.168.200.120" } ],
"option-data": [
{
"name": "routers",
"data": "192.168.200.1"
},
{
"name": "domain-name-servers",
"data": "172.16.1.1, 172.16.1.2"
}
],
"reservations": [
]
}
],
:
}
}
- “subnet” にLAN側ネットワークアドレス
"192.168.200.0/24" - “option-data”
- “name”: “routers” として、LinuxルータのLAN側NICのIPアドレスを設定、LAN側に接続するPCにとってはデフォルトゲートウェイになる
- “name”: “domain-name-servers” として、DNSサーバのIPアドレスを設定
今回、動的に割り当てるIPの範囲を 192.168.200.101 ~ 120 の 20台とするため
"pools": [ { "pool": "192.168.200.101 - 192.168.200.120" } ],
と設定した。
あとは、サービスの自動起動を有効にし、サービスの再起動を行う。
$ sudo systemctl enable --now kea-dhcp4-server
$ sudo systemctl restart kea-dhcp4-server
$ sudo systemctl status kea-dhcp4-server
UFWにて、LAN側からのブロードキャストを許可する設定をしておかなければならない。
$ sudo ufw allow in on enp3s0 to 255.255.255.255 port 67 proto udp