Portmapper-2.1.1( https://github.com/kaklakariada/portmapper )を使用して、ubuntu 16.04LTSマシンへのupnpマッピングを取得しようとしています。
すべての発信を許可し、着信をブロックするようにUFWを構成しました(いくつかの特定のポートを除く)。
私はubuntuボックスでポートマッパーを実行しているのでこれがうまくいくと思っていました(たとえば、発信)が、そうではありません。これは、クライアントを見つけるためのupnpのセットアップ方法によるものだと思います。明確にするために、UFWを無効にすると、ポートマッパーは期待どおりに機能します。
私の最初の考えは、upnpサービスが「応答」するポートのみを許可することでしたが、それはランダムなようです。例(私のUFWログから):
4月26日19:07:34 [UFWブロック] IN = enp2s0 OUT = SRC = 192.168.1.1 DST = 192.168.1.161 LEN = 411 TOS = 0x00 PREC = 0x00 TTL = 64 ID = 0 DF PROTO = UDP SPT = 1900 DPT = 41927 LEN = 391
4月26日19:33:32 [UFWブロック] IN = enp2s0 OUT = SRC = 192.168.1.1 DST = 192.168.1.161 LEN = 411 TOS = 0x00 PREC = 0x00 TTL = 64 ID = 0 DF PROTO = UDP SPT = 1900 DPT = 60212 LEN = 391
(192.168.1.1は私のルーター、192.168.1.161はubuntuボックスです)
私はこれのために着信UDPパケットへのほとんど/すべてのポートを開きたくないので、質問は次のとおりです:これは「すべてを許可する」だけでなく、これを機能させるUFW/iptablesルールがありますか?
許可する必要があるパケットには、次の特性があるようです。
したがって、必要なのは、192.168.1.1ポート1900からのすべての着信UDPパケットを許可することです。
このコマンドを使用して、ルールを追加します。
Sudo ufw allow from 192.168.1.1 port 1900 to any proto udp
追加されたルールを確認します。
me@ubuntu:~$ Sudo ufw status
Status: active
To Action From
-- ------ ----
Anywhere ALLOW 192.168.1.1 1900/udp
お役に立てれば!