メインコンテンツまでスキップ

ネットワーク構成 — ゲートウェイ配置ガイド

ゲートウェイは 2 個の NIC で PLC 網と WAN を物理的に分離するよう設計されています。アプライアンス / 産業用 PC の標準構成です。

NIC の役割 (2026.05+)
  • LAN1 = PLC (eth1 / enp1s0 など) — 単一 PLC または switch 配下の複数 PLC
  • LAN2 = WAN (eth2 / enp2s0 など) — インターネット / プラットフォーム / OTA
  • wlan0 / wwan0 / tun0 / usb0 — WiFi / GSM / VPN / 管理用 USB-Ethernet

NIC 名のマッピングは /etc/kopens/app.propertiesedge.net.lan1.iface などでボックスごとに調整できます (install.sh 実行時に LAN1_IFACE=enp1s0 ... bash install.sh env で override)。画面のモニタリングカード表示 専用 — IP 設定そのものは OS の NetworkManager / netplan の責任です。install.sh は nmcli による static IP 設定もオプションで 実行します (LAN1_IP=192.168.100.10/24 LAN2_IP=192.168.0.10/24 ... bash install.sh)。


1. 標準トポロジ

┌──────────────────────┐ ┌─────────────┐
│ 상위 플랫폼 / 클라우드 │ ◀─── HTTPS / MQTT ─── │ 게이트웨이 │
│ (PlantPulse / SCADA) │ └─────────────┘
└──────────────────────┘ enp1s0 │ enp2s0
│ │
┌───────────────┘ └────────────┐
│ │
WAN (외부) PLC 망 (내부)
│ │
│ ┌───┴────────────┐
│ │ │
PLC₁ PLC₂ PLC₃
(Modbus / S7 / OPCUA)
NIC名称 (Fedora 38 デフォルト)役割デフォルトゲートウェイ?
NIC 1enp1s0WAN — 外部インターネット / 上位プラットフォーム / NTP✅ Yes
NIC 2enp2s0PLC 網 — プライベート IP、PLC との通信専用❌ No (ipv4.never-default yes)

2. 推奨 IP 設計 (例)

領域CIDR用途
WANDHCP または社内網 / 192.168.0.0/24ゲートウェイの外部 IP — オフィスネットワーク
PLC 網192.168.100.0/24PLC 専用プライベート網 — WAN と隔離
ゲートウェイ自身WAN: 192.168.0.50 / PLC: 192.168.100.10
PLC192.168.100.20–254ライン別 / セル別

3. シナリオ別構成

3.1 シンプル構成 — 社内網 1 つ

PLC が社内網に直接つながっており、独立した PLC サブネットがない場合。2 個の NIC を同じ網に置く必要はありません:

  • enp1s0 (WAN) のみ使用 — DHCP または STATIC
  • enp2s0 は未使用 (または link down)

2026.05+ のインストールでは install.sh 実行時に LAN2_IFACE を省略するか、インストール後に OS の NetworkManager で 未使用 NIC を down 状態にしておけば十分です。legacy native の setup.sh では 2 番目の NIC の prompt が残っている場合があるため、 旧型ボックスに限り set-2.sh の無効化を検討してください。

3.2 標準分離構成 — WAN + PLC 網 (推奨)

上記 1. 標準トポロジ のとおりです。セキュリティ面では PLC 網を外部インターネットから完全に隔離できます — ゲートウェイが 2 つの網をつなぐ唯一の橋です。PLC はインターネットから見えません。

3.3 3 NIC — WAN + PLC + 管理

大規模サイト向け。setup.sh に追加ステップがあります (set-usb-mgnt.sh がコメントアウトされています — 有効化可能):

  • enp1s0 (WAN) — 外部
  • enp2s0 (PLC) — プライベート PLC 網
  • enp3s0 または USB-Ethernet (管理) — 診断 / 点検専用チャネル (社内 IT)

ホームカードの管理ポートにこの NIC の IP が表示されます。

3.4 クラウド / VM 1 NIC

VM 環境で NIC が 1 個のみの場合 — すべての通信が同じ仮想ネットワークになります。NIC の分離はホスト OS 側で vSwitch / VLAN により処理します。


4. 外部からゲートウェイへアクセスする

配備後、外部 (オフィス PC、モバイル) からゲートウェイの Web UI に接続するには:

シナリオ方法
同一社内網内https://<gateway-wan-ip>/ui/main で直接
社外 → 社内網VPN 接続後、上と同じ
社外 → インターネット (危険)ファイアウォールの NAT フォワーディング + REST API 認証必須 + HTTPS

ゲートウェイ v1 REST は X-API-Key / Bearer 認証を使用します。それでもインターネットへの直接公開は推奨しません。 社外アクセスは VPN または mTLS/API gateway のような追加の保護層を設けた上で許可してください。


5. ファイアウォール — 公開ポート

install.sh がコンテナモードに必要なポートを firewall に登録します。legacy native の詳細なポート表は (legacy) H/W 全体インストール 5.1 節 に残っています。

要点: 80 / 443 (Web UI) + 1880 (Node-RED) + 12000 / 12443 (OPC-UA) + 1883 / 8883 (MQTT、使用時)。

運用環境で外部アクセスが不要なポートはファイアウォールで閉じるか、WAN NIC でのみ遮断してください (firewall-cmd --remove-port)。


6. ネットワーク検証

インストール直後、または PLC 追加の直前にネットワーク到達性を確認します:

# 1) WAN — 외부 ping
ping -c 3 8.8.8.8
# 2) WAN — DNS
nslookup google.com
# 3) WAN — 플랫폼 / 다운로드
curl -I https://product.kopens.io/plantpulse-edge/install.sh

# 4) PLC 망 — 인터페이스 활성
ip a show enp2s0
# 5) PLC 망 — PLC 도달
ping -c 3 192.168.100.20 # 첫 PLC IP

# 6) PLC 포트 도달 (Modbus 502 예시)
nc -vz 192.168.100.20 502
# Connection succeeded ... 면 정상

# 7) 게이트웨이 자체 시스템 헬스 (컨테이너 모드)
sudo bash /opt/kopens/install/bin/status.sh
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool

7. よく陥る落とし穴

症状原因 / 対処
WAN は通るが PLC に ping が通らないNIC 2 の IP / マスク / PLC 側ゲートウェイ設定。ip route でルーティングを確認
PLC 網からインターネットに漏れているようだenp2s0ipv4.never-default yes が抜けている。nmcli con modify enp2s0 ipv4.never-default yes
ゲートウェイの外部 IP が変わった (DHCP)外部 SCADA が IP でアクセスしている場合は切断される — STATIC 推奨
2 つの NIC が相互にルートされる (ブリッジ)NIC 2 の ipv4.methodipv6.method を確認。ブリッジモードを解除
PLC 側のアラーム応答が遅いPLC 網 NIC の keepalive / パケットサイズを点検。tcpdump -i enp2s0 host <PLC-IP>
OPC-UA の外部クライアント接続が拒否されるファイアウォールで 12000 が遮断 / 証明書が信頼されていない。firewall-cmd --list-portsOPC-UA セキュリティ を確認

8. さらに詳しく