我正在尝试使用 portmapper-2.1.1 ( https://github.com/kaklakariada/portmapper ) 来获取到我的 ubuntu 16.04LTS 机器的 upnp 映射。
我已将 UFW 配置为允许所有传出并阻止传入(除了一些特定端口)。
我认为这会起作用,因为我正在 ubuntu 盒子上运行 portmapper(例如,传出),但事实并非如此。我认为这是由于 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 长=391
(192.168.1.1是我的路由器,192.168.1.161是ubuntu盒子)
我不想为此打开大多数/所有端口以接收传入的 udp 数据包,所以问题是:是否有 UFW/iptables 规则允许其工作,而不仅仅是“允许一切”?