LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 928|回复: 3

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

[复制链接]
发表于 2007-8-3 14:12:00 | 显示全部楼层 |阅读模式
首先安装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文档的话,请发给我,谢谢
发表于 2007-8-3 22:05:48 | 显示全部楼层
没用过UPNP,这类P2P软件在公司是禁止使用。

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

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

使用道具 举报

 楼主| 发表于 2007-8-4 12:38:07 | 显示全部楼层
你没看明白我的意思,或者我没让你看明白我的意思。。。
回复 支持 反对

使用道具 举报

发表于 2007-8-7 23:49:58 | 显示全部楼层
用 upnp tester測結果如何?

http://noeld.com/programs.asp?cat=dstools
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表