ファイアウォール設定

miniprem-firewall

ファイアウォール設定 早見表

MiniPremホスト側

項目
共通
P2P追加
TURN/STUN追加
SSH
✅ TCP 22
-
-
デジタルヒューマン プラットフォーム、Azure TTS / ElevenLabsなど
✅ TCP 443 OUT
-
-
DNS
✅ UDP/TCP 53 OUT
-
-
HTTP/HTTPS
✅ TCP 80/443 OUT
-
-
P2P接続
-
✅ UDP 49152-65535 IN from 表示端末IP
-
STUN/TURN
-
-
✅ UDP 3478 OUT/IN
TURN TLS
-
-
⚠️ TCP 5349 OUT
WebRTC(TURN)
-
-
⚠️ UDP 49152-65535 OUT/IN

表示端末側

項目
共通
P2P追加
TURN/STUN追加
デジタルヒューマン プラットフォーム
✅ TCP 443 OUT
-
-
DNS
✅ UDP/TCP 53 OUT
-
-
HTTP/HTTPS
✅ TCP 80/443 OUT
-
-
P2P接続
-
✅ UDP 49152-65535 OUT(通常は既に許可済み)
-
STUN/TURN
-
-
✅ UDP 3478 OUT
TURN TLS
-
-
⚠️ TCP 5349 OUT
WebRTC(TURN)
-
-
⚠️ UDP 49152-65535 OUT
 

1. 共通設定(基本インフラ)

すべての構成で必要な基本設定

 

1.1 MiniPremホスト側(Rennyサーバー)

プロトコル
ポート
方向
宛先/送信元
用途
優先度
TCP
22
IN
管理端末IP
SSH管理アクセス
必須
TCP
443
OUT
*.uneeq.io *.digitalhumans.ne.jp *.hosted-experience.jp
デジタルヒューマン プラットフォームシグナリング WebSocket接続確立
必須
TCP
443
OUT
japaneast.tts.speech.microsoft.com *.tts.speech.microsoft.com api.elevenlabs.io
Azure TTS や ElevenLabs などの音声合成を使用する場
必須
UDP
53
OUT
DNSサーバー
DNS名前解決
必須
TCP
53
OUT
DNSサーバー
DNS名前解決(TCP fallback)
必須
TCP
80
OUT
Anywhere
HTTP(パッケージ更新など)
推奨
TCP
443
OUT
Anywhere
HTTPS(汎用)
推奨

UFW設定例(共通部分)

#!/bin/bash
# 共通設定(すべての構成で必須)

# SSH(管理端末からのみ許可を推奨)
sudo ufw allow 22/tcp comment 'SSH management'
# または特定IPからのみ: sudo ufw allow from <管理端末IP> to any port 22 proto tcp

# デジタルヒューマン プラットフォーム(WebSocketシグナリング)
sudo ufw allow out 443/tcp comment 'デジタルヒューマン プラットフォーム + Azure TTS'

# DNS
sudo ufw allow out 53/udp comment 'DNS query'
sudo ufw allow out 53/tcp comment 'DNS query TCP'

# HTTP/HTTPS(汎用)
sudo ufw allow out 80/tcp comment 'HTTP'
# 443は既に設定済み

# デフォルトポリシー(推奨)
sudo ufw default deny incoming
sudo ufw default allow outgoing
 

1.2 表示端末側(クライアント)

プロトコル
ポート
方向
宛先/送信元
用途
優先度
TCP
443
OUT
*.uneeq.io *.digitalhumans.ne.jp *.digitalhumans-demo.jp *.hosted-experience.jp
デジタルヒューマン プラットフォームシグナリング WebSocket接続確立 静的コンテンツ
必須
UDP
53
OUT
DNSサーバー
DNS名前解決
必須
TCP
53
OUT
DNSサーバー
DNS名前解決(TCP fallback)
必須
TCP
80
OUT
Anywhere
HTTP
推奨
TCP
443
OUT
Anywhere
HTTPS
推奨

UFW設定例(共通部分)

表示端末がWindowsやmacOSなどの場合は読み替えて設定してください。

#!/bin/bash
# 共通設定(表示端末側)

# デジタルヒューマン プラットフォーム(WebSocketシグナリング)
sudo ufw allow out 443/tcp comment 'デジタルヒューマン プラットフォーム'

# DNS
sudo ufw allow out 53/udp comment 'DNS query'
sudo ufw allow out 53/tcp comment 'DNS query TCP'

# HTTP/HTTPS(汎用)
sudo ufw allow out 80/tcp comment 'HTTP'
sudo ufw allow out 443/tcp comment 'HTTPS'

# デフォルトポリシー(推奨)
sudo ufw default deny incoming
sudo ufw default allow outgoin2. P2P接続時の追加設定
 

 

2. 同一ネットワーク内または直接接続(P2P)可能な環境

2.1 MiniPremホスト側(Rennyサーバー)

必須ポート

プロトコル
ポート
方向
送信元
用途
優先度
UDP
49152-65535
IN
表示端末IP
WebRTC P2Pメディアストリーム音声・映像・データチャネル
必須

実際の動作

表示端末                                    MiniPremホスト
UDP 53872(動的割り当て) ←―直接接続/P2P―→ UDP 49152(動的割り当て)
                                          ↑この範囲への接続許可が必須
                                          
直接接続/P2P接続が出来るのは、MiniPremと表示端末が、同一端末であること、あるいは同じネットワーク(間にNATやVLAN等で区切られておらず、互いにプライベートIPアドレスで直接通信できるネットワーク)である事が条件です。
 

UFW設定例(P2P追加分)

#!/bin/bash
# P2P接続時の追加設定(MiniPremホスト側)

# 表示端末のIPアドレスを設定
CLIENT_IP="192.168.200.100"  # ← 実際の表示端末IPに変更

# 方法1: 表示端末からのすべての通信を許可(推奨・最もシンプル)
sudo ufw allow from ${CLIENT_IP} comment "P2P from client ${CLIENT_IP}"

# 方法2: 高位動的ポート範囲のみ許可(より厳格)
# sudo ufw allow from ${CLIENT_IP} to any port 49152:65535 proto udp comment "P2P WebRTC from client"

# IPv6の場合も同様に設定(必要に応じて)
# CLIENT_IPV6="fddf:6257:ea18:94b5:86ef:4cce:1dbf:2cee"  # ← 実際のIPv6に変更
# sudo ufw allow from ${CLIENT_IPV6} comment "P2P from client IPv6"

sudo ufw reload
 

注意事項

  • STUN/TURN(UDP 3478, TCP 5349)ならびに UDP 22000-23000は不要(TURNサーバー側のポート)は不要
  • ✅ 表示端末のIPアドレスを正確に指定すること
  • ✅ IPv6使用時はIPv6アドレスも許可すること
 

2.2 表示端末側(クライアント)

必須ポート

プロトコル
ポート
方向
宛先
用途
優先度
UDP
49152-65535
OUT
MiniPremホストIP
WebRTC P2Pメディアストリーム
必須
 

UFW設定例(P2P追加分)

表示端末がWindowsやmacOSなどの場合は読み替えて設定してください。

#!/bin/bash
# P2P接続時の追加設定(表示端末側)

# 通常、Outboundはデフォルトで許可されているため、追加設定不要
# ただし、デフォルトポリシーがDENYの場合は以下を追加:

# MiniPremホストのIPアドレスを設定
SERVER_IP="192.168.200.200"  # ← 実際のMiniPremホストIPに変更

# MiniPremホストへのUDP通信を許可
sudo ufw allow out to ${SERVER_IP} proto udp comment "P2P to MiniPrem"

# IPv6の場合も同様
# SERVER_IPV6="fddf:6257:ea18:94b5:4ce:b204:305f:a541"  # ← 実際のIPv6に変更
# sudo ufw allow out to ${SERVER_IPV6} proto udp comment "P2P to MiniPrem IPv6"

sudo ufw reload
 

注意事項

  • ✅ ほとんどの環境でOutboundはデフォルト許可のため、追加設定不要
  • ✅ 接続元のためInbound開放は不要
  • STUN/TURN(UDP 3478, TCP 5349)は不要

3. TURN/STUN使用時の追加設定

異なるネットワーク間またはNAT越え接続が必要な環境

3.1 MiniPremホスト側(Rennyサーバー)

必須ポート

プロトコル
ポート
方向
宛先/送信元
用途
優先度
UDP
3478
OUT
*.turn.uneeq.io turn.us.uneeq.io
STUN/TURNNAT Traversal、ICE候補収集
必須
UDP
3478
IN
*.turn.uneeq.io turn.us.uneeq.io
STUN/TURN応答
必須
TCP
5349
OUT
*.turn.uneeq.io turn.us.uneeq.io
TURN over TLSセキュアなフォールバック
推奨
UDP
49152-65535
OUT
*.turn.uneeq.io
WebRTCメディア(TURN経由)
必須
UDP
49152-65535
IN
*.turn.uneeq.io
WebRTCメディア受信(TURN経由)
必須

実際の動作(TURN経由)

MiniPremホスト              TURNサーバー                表示端末
UDP 49152-65535   ←―→   UDP 22000-23000   ←―→   UDP 49152-65535
   (動的)                   (TURN側)                 (動的)
    │                         │                       │
    └─ UDP 3478でSTUN/TURN接続確立 ─────────────────────┘
インダイレクト / 間接接続が必要なのは、MiniPremと表示端末が別のネットワークに属しており、NAT越えを行うって通信する場合に使用します。通常のサービスにおける通信方式はこちらです。
 

UFW設定例(TURN/STUN追加分)

#!/bin/bash
# TURN/STUN使用時の追加設定(MiniPremホスト側)

# STUN/TURN(最重要)
sudo ufw allow out 3478/udp comment 'STUN/TURN - NAT Traversal'
sudo ufw allow in 3478/udp comment 'STUN/TURN response'

# TURN over TLS(フォールバック)
sudo ufw allow out 5349/tcp comment 'TURN over TLS'

# WebRTCメディア(TURN経由)
# 注意: すべてのIPから許可するとセキュリティリスクがあります
# 可能であれば、TURNサーバーのIPアドレスを指定してください
sudo ufw allow out 49152:65535/udp comment 'WebRTC media via TURN (out)'
sudo ufw allow in 49152:65535/udp comment 'WebRTC media via TURN (in)'

sudo ufw reload
 

注意事項

  • UDP 22000-23000は開放不要(TURNサーバー側のポート)
  • ✅ P2P接続が優先され、TURN/STUNはフォールバックとして使用される
 

3.2 表示端末側(クライアント)

 

必須ポート

プロトコル
ポート
方向
宛先
用途
優先度
UDP
3478
OUT
*.turn.uneeq.io turn.us.uneeq.io
STUN/TURNNAT Traversal
必須
TCP
5349
OUT
*.turn.uneeq.io turn.us.uneeq.io
TURN over TLS
推奨
UDP
49152-65535
OUT
*.turn.uneeq.io
WebRTCメディア(TURN経由)
必須
 

UFW設定例(TURN/STUN追加分)

表示端末がWindowsやmacOSなどの場合は読み替えて設定してください。

#!/bin/bash
# TURN/STUN使用時の追加設定(表示端末側)

# 通常、Outboundはデフォルトで許可されているため、追加設定不要の場合が多い
# ただし、厳格なファイアウォールの場合は以下を追加:

# STUN/TURN
sudo ufw allow out 3478/udp comment 'STUN/TURN'

# TURN over TLS(フォールバック)
sudo ufw allow out 5349/tcp comment 'TURN over TLS'

# WebRTCメディア(TURN経由)
sudo ufw allow out 49152:65535/udp comment 'WebRTC media via TURN'

sudo ufw reload
 

注意事項

  • ✅ ほとんどの環境でOutboundはデフォルト許可のため、追加設定不要
  • ✅ Inbound開放は不要(接続元のため)
  • ✅ TURNサーバーへの接続が必要なため、STUN/TURNポートは必須

4. 設定スクリプト

4.1 完全な設定スクリプト(P2P接続)

 

MiniPremホスト側

#!/bin/bash
# MiniPrem P2P接続 - 完全なファイアウォール設定

set -e

# 設定値
CLIENT_IP="192.168.200.100"  # ← 表示端末のIPに変更
ADMIN_IP="192.168.200.10"   # ← 管理端末のIPに変更(SSH用)

echo "MiniPrem P2P接続 - ファイアウォール設定開始"

# 既存ルールのバックアップ
sudo ufw status numbered > /root/ufw_backup_$(date +%Y%m%d_%H%M%S).txt

# デフォルトポリシー
sudo ufw default deny incoming
sudo ufw default allow outgoing

# === 共通設定 ===

# SSH(管理端末からのみ)
sudo ufw allow from ${ADMIN_IP} to any port 22 proto tcp comment 'SSH from admin'

# デジタルヒューマン プラットフォーム + Azure TTS(TCP 443)
sudo ufw allow out 443/tcp comment 'デジタルヒューマン プラットフォーム + Azure TTS'

# DNS
sudo ufw allow out 53/udp comment 'DNS query'
sudo ufw allow out 53/tcp comment 'DNS query TCP'

# HTTP(オプション)
sudo ufw allow out 80/tcp comment 'HTTP'

# === P2P接続用設定 ===

# 表示端末からのP2P接続を許可
sudo ufw allow from ${CLIENT_IP} comment "P2P from client ${CLIENT_IP}"

# 設定を反映
sudo ufw reload

# 状態確認
echo ""
echo "========================================="
echo "設定完了 - 現在の状態:"
echo "========================================="
sudo ufw status numbered

echo ""
echo "✅ P2P接続用のファイアウォール設定が完了しました"
 

表示端末側

表示端末がWindowsやmacOSなどの場合は読み替えて設定してください。

#!/bin/bash
# 表示端末 P2P接続 - 完全なファイアウォール設定

set -e

echo "表示端末 P2P接続 - ファイアウォール設定開始"

# 既存ルールのバックアップ
sudo ufw status numbered > /root/ufw_backup_$(date +%Y%m%d_%H%M%S).txt

# デフォルトポリシー
sudo ufw default deny incoming
sudo ufw default allow outgoing

# === 共通設定 ===

# デジタルヒューマン プラットフォーム(TCP 443)
sudo ufw allow out 443/tcp comment 'デジタルヒューマン プラットフォーム'

# DNS
sudo ufw allow out 53/udp comment 'DNS query'
sudo ufw allow out 53/tcp comment 'DNS query TCP'

# HTTP/HTTPS
sudo ufw allow out 80/tcp comment 'HTTP'

# === P2P接続用設定 ===
# 通常、Outboundはデフォルトで許可されているため、追加設定不要

# 設定を反映
sudo ufw reload

# 状態確認
echo ""
echo "========================================="
echo "設定完了 - 現在の状態:"
echo "========================================="
sudo ufw status numbered

echo ""
echo "✅ P2P接続用のファイアウォール設定が完了しました"
 

4.2 完全な設定スクリプト(TURN/STUN使用)

 

MiniPremホスト側

#!/bin/bash
# MiniPrem TURN/STUN使用 - 完全なファイアウォール設定

set -e

# 設定値
ADMIN_IP="192.168.200.10"   # ← 管理端末のIPに変更(SSH用)
# TURN_SERVER_IP="203.0.113.10"  # ← TURNサーバーIPが分かる場合は設定

echo "MiniPrem TURN/STUN使用 - ファイアウォール設定開始"

# 既存ルールのバックアップ
sudo ufw status numbered > /root/ufw_backup_$(date +%Y%m%d_%H%M%S).txt

# デフォルトポリシー
sudo ufw default deny incoming
sudo ufw default allow outgoing

# IPv6サポート
sudo sed -i 's/IPV6=no/IPV6=yes/' /etc/default/ufw

# === 共通設定 ===

# SSH(管理端末からのみ)
sudo ufw allow from ${ADMIN_IP} to any port 22 proto tcp comment 'SSH from admin'

# デジタルヒューマン プラットフォーム + Azure TTS(TCP 443)
sudo ufw allow out 443/tcp comment 'デジタルヒューマン プラットフォーム + Azure TTS'

# DNS
sudo ufw allow out 53/udp comment 'DNS query'
sudo ufw allow out 53/tcp comment 'DNS query TCP'

# HTTP(オプション)
sudo ufw allow out 80/tcp comment 'HTTP'

# === TURN/STUN使用時の設定 ===

# STUN/TURN
sudo ufw allow out 3478/udp comment 'STUN/TURN'
sudo ufw allow in 3478/udp comment 'STUN/TURN response'

# TURN over TLS
sudo ufw allow out 5349/tcp comment 'TURN over TLS'

# WebRTCメディア(TURN経由)
# 注意: セキュリティリスクがあるため、可能であればTURNサーバーIPを指定
if [ -n "${TURN_SERVER_IP}" ]; then
    # TURNサーバーIPが設定されている場合
    sudo ufw allow from ${TURN_SERVER_IP} to any port 49152:65535 proto udp comment 'WebRTC from TURN'
    sudo ufw allow out to ${TURN_SERVER_IP} port 49152:65535 proto udp comment 'WebRTC to TURN'
else
    # TURNサーバーIPが不明な場合(すべて許可)
    sudo ufw allow out 49152:65535/udp comment 'WebRTC media via TURN (out)'
    sudo ufw allow in 49152:65535/udp comment 'WebRTC media via TURN (in)'
    echo "⚠️  警告: UDP 49152-65535をすべてのIPから許可しています"
fi

# 設定を反映
sudo ufw reload

# 状態確認
echo ""
echo "========================================="
echo "設定完了 - 現在の状態:"
echo "========================================="
sudo ufw status numbered

echo ""
echo "✅ TURN/STUN使用時のファイアウォール設定が完了しました"
 

表示端末側

表示端末がWindowsやmacOSなどの場合は読み替えて設定してください。

#!/bin/bash
# 表示端末 TURN/STUN使用 - 完全なファイアウォール設定

set -e

echo "表示端末 TURN/STUN使用 - ファイアウォール設定開始"

# 既存ルールのバックアップ
sudo ufw status numbered > /root/ufw_backup_$(date +%Y%m%d_%H%M%S).txt

# デフォルトポリシー
sudo ufw default deny incoming
sudo ufw default allow outgoing

# IPv6サポート
# sudo sed -i 's/IPV6=no/IPV6=yes/' /etc/default/ufw

# === 共通設定 ===

# デジタルヒューマン プラットフォーム(TCP 443)
sudo ufw allow out 443/tcp comment 'デジタルヒューマン プラットフォーム'

# DNS
sudo ufw allow out 53/udp comment 'DNS query'
sudo ufw allow out 53/tcp comment 'DNS query TCP'

# HTTP/HTTPS
sudo ufw allow out 80/tcp comment 'HTTP'

# === TURN/STUN使用時の設定 ===

# STUN/TURN
sudo ufw allow out 3478/udp comment 'STUN/TURN'

# TURN over TLS
sudo ufw allow out 5349/tcp comment 'TURN over TLS'

# WebRTCメディア(TURN経由)
sudo ufw allow out 49152:65535/udp comment 'WebRTC media via TURN'

# 設定を反映
sudo ufw reload

# 状態確認
echo ""
echo "========================================="
echo "設定完了 - 現在の状態:"
echo "========================================="
sudo ufw status numbered

echo ""
echo "✅ TURN/STUN使用時のファイアウォール設定が完了しました"

5. 検証方法

 

5.1 設定確認

# UFW状態確認
sudo ufw status numbered

# 特定ポートの確認
sudo ufw status numbered | grep -E "(3478|5349|49152|443)"

# ログ確認
sudo tail -f /var/log/ufw.log
 

5.2 接続テスト

P2P接続の確認

# 表示端末からMiniPremホストへのUDP接続テスト
nc -u -v -z <MiniPremホストIP> 49152

# MiniPremホストで待ち受け確認
ss -unap | grep -E "49[0-9]{3}|5[0-9]{4}|6[0-5]{4}"
 

TURN/STUN接続の確認

# STUNサーバーへの接続テスト
nc -u -v -z turn.uneeq.io 3478

# TURNサーバーへの接続テスト(TCP)
nc -v -z turn.uneeq.io 5349

5.4 chrome://webrtc-internals/での確認

ブラウザで デジタルヒューマンを表示した状態でchrome://webrtc-internals/ を開いて確認:

// P2P接続の場合
"googLocalCandidateType": "host"
"googRemoteCandidateType": "host"
"iceConnectionState": "connected"

// TURN経由の場合
"googLocalCandidateType": "relay"
"googRemoteCandidateType": "relay"
"iceConnectionState": "connected"

// 使用ポート確認
"googLocalAddress": "192.168.200.200:49152"
"googRemoteAddress": "192.168.200.100:53872"
 
お役に立ちましたか?
😞
😐
🤩

最終更新日 November 22, 2025