<b>Linux配置UPnP服务</b>[服务器安全]
本文“<b>Linux配置UPnP服务</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Linux中布置UPnP支持
我们假定该Linux的内核版本是2.4.x,利用拨号上网,外网接口是ppp0,内网接口是eth0,并且已经启用iptables设定了 NAT.
在Linux中布置UPnP主要利用2个软件的配合:UPnP SDK for Linux和LinuxIGD.
下载地址:
UPnP SDK for Linux:http://sourceforge.net/projects/upnp/
LinuxIGD:http://linux-igd.sourceforge.net/
注意:要下载upnpsdk-1.0.4.tar.gz,1.0.4以上的版本不能和LinuxIGD很好的协同工作!
安装:
1. 解包UPnP SDK
# tar xzvf upnpsdk-1.0.4.tar.gz
2. 改正源代码
为了可以使Windows MSN Messenger在UPnP下正常通讯,所以必须改正源代码:
# cd upnpsdk-1.0.4
# vi src/ssdp/ssdplib.c
将第406行的:
SelfAddr.sin_addr.s_addr = inet_addr(SSDP_IP);
改成:
SelfAddr.sin_addr.s_addr = htonl(INADDR_ANY);
3. 编译安装UPnP SDK
# make
# make install
4. 解包Linux-IGD
# tar xzvf linuxigd-0.92.tgz
5. 编译安装Linux-IGD
# cd linux-igd
# make
# make install
配置:
1. 增添广播路由
# route add -net 239.0.0.0 netmask 255.0.0.0 eth0
2. 为iptables倡议一个软链接
# cd /usr/sbin
# ln -s /sbin/iptables ./
启动UPnP
# upnpd ppp0 eth0
诊断UPnP运行状况
# tail /var/log/messages
假如可以看到:
Dec 14 16:01:49 doorway -- MARK --
Dec 14 16:02:15 doorway upnpd: The Linux UPnP Internet Gateway Device Ver 0.92 by Dime (dime@gulfsales.com)
Dec 14 16:02:15 doorway upnpd: Special Thanks for Intel's Open Source SDK and original author Genmei Mori's work.
则阐明UPnP已经成功启动.
测试
以www.britepic.org支持UPnP的P2P网络电视PPLive为例,在PPLive中翻开UPnP支持选项,然后衔接一个频道.
在Linux中履行:
# tail /var/log/debug -f
假如能看到:
Dec 14 16:56:33 doorway upnpd: AddPortMap: RemoteHost: (null) Prot: 17 ExtPort: 3226 Int: 10.0.0.2.3226
Dec 14 16:56:33 doorway upnpd: AddPortMap: RemoteHost: (null) Prot: 6 ExtPort: 3226 Int: 10.0.0.2.3226
Dec 14 16:56:33 doorway upnpd: AddPortMap: RemoteHost: (null) Prot: 6 ExtPort: 3156 Int: 10.0.0.2.3156
Dec 14 16:56:33 doorway upnpd: AddPortMap: RemoteHost: (null) Prot: 6 ExtPort: 3156 Int: 10.0.0.2.3156
则阐明PPLive已经向UPnP恳求举行端口映射了.只要看到这样的字样,就阐明UPnP已经完好工作起来了.
以上是“<b>Linux配置UPnP服务</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |