CentOS8 StreamでES460をルータにする①

ES460というNICがたくさん生えてるおもちゃを手に入れたので、ルータにしてみようと思います。

今回は普段使いのネットワークが手狭になってきたので、サーバを置くイントラネットを構築しようと思います。ネットマスク24だと狭くなってきたので22にしてみます。さすがに4桁台のIPを置くことはないと思うので、これで十分だと思います。

今回のES460ですが、セキュリティ監視サーバらしく、NICが4ポートついています。CPUはAtom E3825、RAMはDDR3L 4GB、ストレージは64GB SSDが載っていました。

これをルータとしてセッティングしていこうと思います。メインのネットワークはRTX1200の配下で192.168.1.0/24ですが、ES460に192.168.8.1/22のネットワークをぶら下げようという算段です。

+------------------------------+
| CentOS Stream 8              |
| gateway                      |
| ES460(Atom E3825)            |
| 192.168.1.250/24 (enp1s0)    |
| 192.168.8.1/22   (enp3s0)    |
+-enp1s0----------------enp3s0-+
   |                       |    
   |                       |
  RTX1200(Internet)     Intranet

とりあえず、設定の前のES460のHWをちょろっと見ていきます。

# lshw -short
H/W path           Device     Class          Description
========================================================
                              system         ES460 (To be filled by O.E.M.)
/0                            bus            ES460
/0/0                          memory         64KiB BIOS
/0/15                         memory         4GiB System Memory
/0/15/0                       memory         4GiB DIMM DDR3 1600 MHz (0.6 ns)
/0/15/1                       memory         DIMM [empty]
/0/1f                         memory         112KiB L1 cache
/0/20                         memory         1MiB L2 cache
/0/21                         processor      Intel(R) Atom(TM) CPU  E3825  @ 1.33GHz
/0/100                        bridge         Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register
/0/100/2           card0      display        Atom Processor Z36xxx/Z37xxx Series Graphics & Display
/0/100/12                     generic        Atom Processor Z36xxx/Z37xxx Series SDIO Controller
/0/100/13          scsi1      storage        Atom Processor E3800 Series SATA AHCI Controller
/0/100/13/0.0.0    /dev/sda   disk           64GB 2.5" SATA SSD 3M
/0/100/13/0.0.0/1             volume         600MiB Windows FAT volume
/0/100/13/0.0.0/2             volume         1GiB Linux filesystem partition
/0/100/13/0.0.0/3  /dev/sda3  volume         31GiB Linux LVM Physical Volume partition
/0/100/14                     bus            Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI
/0/100/14/0        usb1       bus            xHCI Host Controller
/0/100/14/1        usb2       bus            xHCI Host Controller
/0/100/1a                     generic        Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine
/0/100/1c                     bridge         Atom Processor E3800 Series PCI Express Root Port 1
/0/100/1c/0        enp1s0     network        I210 Gigabit Network Connection
/0/100/1c.1                   bridge         Atom Processor E3800 Series PCI Express Root Port 2
/0/100/1c.1/0      enp2s0     network        I210 Gigabit Network Connection
/0/100/1c.2                   bridge         Atom Processor E3800 Series PCI Express Root Port 3
/0/100/1c.2/0      enp3s0     network        I210 Gigabit Network Connection
/0/100/1c.3                   bridge         Atom Processor E3800 Series PCI Express Root Port 4
/0/100/1c.3/0      enp4s0     network        I210 Gigabit Network Connection
/0/100/1f                     bridge         Atom Processor Z36xxx/Z37xxx Series Power Control Unit
/0/100/1f/0                   system         PnP device PNP0b00
/0/100/1f/1                   system         PnP device PNP0c02
/0/100/1f/2                   system         PnP device PNP0c02
/0/100/1f/3                   communication  PnP device PNP0501
/0/100/1f/4                   input          PnP device PNP0303
/0/100/1f/5                   system         PnP device PNP0c02
/0/100/1f.3                   bus            Atom Processor E3800/CE2700 Series SMBus Controller
/1                 input0     input          Power Button
/2                 input1     input          Sleep Button
/3                 input2     input          Power Button
/4                 input23    input          Video Bus
/5                 input25    input          Intel HDMI/DP LPE Audio HDMI/DP,pcm=0
/6                 input26    input          Intel HDMI/DP LPE Audio HDMI/DP,pcm=1
/7                 input27    input          PC Speaker

ネットワークはI210が4つですね。電源ボタンがあることになっていますが、外見にはありません。電源をつないだら勝手に電源が入るようにBIOSの設定がしてあります。

ディスクはInnodiskの3ME4というのが載っていました。MLCなフラッシュなので、ちょっと嬉しいですね。

それでは設定をしていきます。インターフェイスの諸々の設定は冒頭の図のようにenp1s0=192.168.1.250/24、enp3s0=192.168.8.1/22で設定しています。ここの手順は省略します。

enp3s0の配下は192.168.8.1~192.168.11.255が使用できます。このうち192.168.11.10~ 192.168.11.254のレンジをDHCPで使用するようにします。

サクッとDHCPをインストールし、サーバ設定をしていきます。

# dnf -y install dhcp-server
# vi /etc/dhcp/dhcpd.conf
#以下を追記
option domain-name             "homelab.gurees.net";
option domain-name-servers     192.168.8.1;
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.8.0 netmask 255.255.252.0 {
    range dynamic-bootp 192.168.11.10 192.168.11.254;
    option broadcast-address 192.168.11.255;
    option routers 192.168.8.1;
}

設定ファイルを作ったら、ファイアウォールの解放と、DHCPサーバの自動起動設定と起動を行っていきます。

# firewall-cmd --add-service=dhcp --permanent
success
# firewall-cmd --reload
success
# systemctl enable dhcpd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpd.service → /usr/lib/systemd/system/dhcpd.service.
# systemctl start dhcpd
# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-12-17 05:07:30 EST; 8s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 15376 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1 (limit: 22916)
   Memory: 4.9M
   CGroup: /system.slice/dhcpd.service
           mq15376 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

これでDHCPサーバの設定ができました。パソコンをETH3につなげると192.168.11.10のIPが貰えると思います。

次にIPフォワードを有効にします。

# vi /etc/sysctl.conf
#以下を追記
net.ipv4.ip_forward=1

IPフォワードの有効を反映させます。

# sysctl -p
net.ipv4.ip_forward = 1

とりあえず、内部のネットワークのルータなので、全部通す形でtrustedにしちゃいます。

# firewall-cmd --permanent --zone=trusted --change-interface=enp1s0
# firewall-cmd --permanent --zone=trusted --add-masquerade
# firewall-cmd --permanent --zone=trusted --change-interface=enp3s0
# firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o enp3s0 -j MASQUERADE
# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i enp3s0 -o enp1s0 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp3s0 -j ACCEPT
# firewall-cmd --reload

最後に192.168.1.0/24側のネットワークから通信できるようにRTX1200にルーティングを入れておきます。

# ip route 192.168.8.0/22 gateway 192.168.1.250

これで192.168.1.0/24側からアクセスできるようになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)