ファイアウォール設定
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 outgoing1.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.log5.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 53495.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