+ -
当前位置:首页 → 问答吧 → 关于upnp的问题,网上查过,没查出什么资料,过来问问

关于upnp的问题,网上查过,没查出什么资料,过来问问

时间:2007-08-03

来源:互联网

首先安装upnp:
emerge -a linux-igd
同时会安装上net-libs/libupnp-1.4.6

然后安装shorewall,为了方便配置。

vi /etc/linuxigd/upnpd.conf
修改下面的
insert_forward_rules = yes
prerouting_chain_name = UPnP
forward_chain_name = forwardUPnP

vi /etc/shorewall/interfaces
加入
net ppp0 detect upnp

vi /etc/shorewall/rules
forwardUPnP net loc1:192.168.1.2 (这是我的内网需要upnp的地址)




然后启动upnp和shorewall

发现upnp监听端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:49152 0.0.0.0:* LISTEN
udp 0 0 127.0.0.1:32808 0.0.0.0:*


用讯雷下载软件,显示能检测到UPNP设备。用比特精灵发布的那个upnp查找也能找到设备。
但是用bitcomet,utorrent,ppstream则不行。


现在我的问题是:
1,为什么那个udp监听的端口是127.0.0.1的???
2,假设我upnp是成功了,那么我还需要开额外的端口么?因为我现在是端口过滤得,49152并不对外开放,那么如果我内网软件找到了支持upnp的设备,也影射端口成功,但是我在linux上不开那个端口的话,等于还是内网阿?是这样的么?我应该在防火墙打开49152端口么?
但是我发现,49152端口只是我内部用的,外部并不用。我在upnp的机器上,根本看不到影射的端口,是怎么回事呢??

问题可能说得不是很清楚,如果哪位有详细的upnp文档的话,请发给我,谢谢

作者: ibearz   发布时间: 2007-08-03

没用过UPNP,这类P2P软件在公司是禁止使用。

所以
1. 前面的127.0.0.1是本地地址
2. 你的netstat都说了,tcp 和udp的port都是*,就是所有port number

好好看看netstat的输出,只有第二个才是真正对外的地址,也就是能从本机以外连接的地址

作者: Steve3d   发布时间: 2007-08-04

你没看明白我的意思,或者我没让你看明白我的意思。。。

作者: ibearz   发布时间: 2007-08-04

用 upnp tester測結果如何?

http://noeld.com/programs.asp?cat=dstools

作者: semson   发布时间: 2007-08-08