web-dev-qa-db-ja.com

複雑でないファイアウォール(UFW)とUPNP

ホームネットワーク内のコンピューター間でUPNPを許可するようにUFWを構成することはできますか?

ファイアウォールをオフにすると、すべてが機能します。 Syslogでファイアウォールがブロックしていることがわかります。私は、open 1900、1901、5353のようなあらゆる種類のヒントを試しましたが、これらはすべてランダムな試みのように見えました。 UPNPがランダムなポートを要求し、UFWが単にそれをブロックしていることが問題であることは知っています。

7
Halsafar

あなたは答えに近いようです。最も簡単な方法は、ファイアウォールを一時的にオフにして、メディアボックスを数分間実行させてから、lsofからの出力を確認することです

lsof -i :1025-9999 +c 15

-iは、開いているポートに対応する「ファイル」を一覧表示します。-i4を使用して、IPv4のみに制限します。番号リストはこれをポート番号のリストに制限します-すべてが必要な場合は見逃してください。 + cビットは、ポートに関連付けられた完全なコマンド名を提供します

netstat -lptu --numeric-ports

これにより、すべてのアクティブなポートと、それらのプロトコルおよびソース/ターゲットアドレスが一覧表示されます。

この情報を使用して、スクリプトを作成してufwを正しく設定できます。ここに例として私のスクリプトがあります:

#!/bin/sh

# Set up local firewall using ufw (default install on Ubuntu)
# @see /etc/services for port names


# obtain server's IP address
SERVERIP=192.168.1.181

# Local Network
LAN="192.168.0.0/255.255.0.0"

# disable firewall
ufw disable

# reset all firewall rules
ufw reset

# set default rules: deny all incoming traffic, allow all outgoing traffic
#ufw default allow incoming
ufw default deny incoming
ufw default allow outgoing

# open port for SSH
ufw allow OpenSSH

# open port for Webmin
ufw allow webmin

# open ports for Samba file sharing
ufw allow from $LAN to   $SERVERIP app Samba
ufw allow to   $LAN from $SERVERIP app Samba

#ufw allow from $LAN to $SERVERIP 137/udp # NetBIOS Name Service
#ufw allow from $LAN to $SERVERIP 138/udp # NetBIOS Datagram Service
#ufw allow from $LAN to $SERVERIP 139/tcp # NetBIOS Session Service
#ufw allow from $LAN to $SERVERIP 445/tcp # Microsoft Directory Service

# open ports for Transmission-Daemon
ufw allow 9091
ufw allow 20500:20599/tcp
ufw allow 20500:20599/udp

# Mediatomb
## upnp service discovery
ufw allow 1900/udp
## Mediatomb management web i/f
ufw allow 49152

# Plex Media Server
## Manage
ufw allow 32400

# open port for MySQL
ufw allow proto tcp from $LAN to any port 3306

# open ports for web services
ufw allow 80
ufw allow 443
ufw allow 8000:9999/tcp
ufw allow 8000:9999/udp

# Deny FTP
ufw deny 21/tcp

# Webmin/usermin allow
ufw allow webmin
ufw allow 20000

# open port for network time protocol (ntpd)
ufw allow ntp

# Allow Firefly (DAAP)
ufw allow 3689

# enable firewall
ufw enable

# list all firewall rules
ufw status verbose

MediaPhonbセクションから、uPNPがUDPではなく(TCPではなく)標準ポート1900で動作しており、両方向で開いていることがわかります。これがメインポートです。しかし、特定のサービスに必要なポートが他にも多数あることもわかります。

3
Julian Knight