首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>linux服务器>正文

Linux配置UPnP服务

http://www.oklinux.cn  2009-01-20  Linux社区    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

在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 ([email protected])
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已经完全工作起来了。


上一篇:可笑-评《Windows 7无法击败Ubuntu的7个原因》   下一篇:RHEL 5.2下vsftp配置全教程

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·RHEL 5.2下vsftp配置全教程
·Linux环境下php加载mbstring办法
·RHEL 5.2下SendMail dovecot邮件系统配置教程
·Ubuntu 8.10 Server 安装步骤及 web 服务配置
·在RHEL 5下通过Bind实现DNS功能
·安装和配置企业级 Web 服务器
·Linux服务器:设计高性能网站架构-LLMP
·Ubuntu下安装NetBeans 6.5时中文变成方块的解决办法
·Linux下jdmail邮件系统安装完成后的设置与启用
·在Linux下如何检查邮件系统已经安装成功
·金笛邮件服务器在Linux下的安装步骤
·Linux下Apache Sendmail Openwebmail配置详解
·在Linux下安装Web程序同样简单,一条命令搞定
·在RHEL 5中配置DHCP全指南
·Fedora安装php bcmath包的用处
·Ubuntu Apache 服务之 PHP 配置
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·RHEL 5.2下SendMail dovecot邮件系统配
·Linux环境下php加载mbstring办法
·RHEL 5.2下vsftp配置全教程
·Ubuntu 8.10 Server 安装步骤及 web 服
·在RHEL 5下通过Bind实现DNS功能
·安装和配置企业级 Web 服务器
·Linux服务器:设计高性能网站架构-LLMP
·Ubuntu下安装NetBeans 6.5时中文变成方
·Linux下jdmail邮件系统安装完成后的设
·在Linux下如何检查邮件系统已经安装成
·金笛邮件服务器在Linux下的安装步骤
·Linux下Apache Sendmail Openwebmail配
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·Linux系统下架设APACHE SVN服务器全过
·安装大型Linux集群(4):节点安装和 GPFS
·LVS集群学习笔记(NAT\DR\IP tunnel)
·Linux 下配置vsftp虚拟用户总结
·Linux服务器存储空间巧妙管理
·安装大型Linux集群(1): 简介和硬件配置
·Linux下用vsftp轻松搭建FTP服务器(修订
·Ubuntu下安装tftp服务器的步骤
·RedHat Linux AS4 LAMP经典网站搭建实
·安装大型Linux集群(2):配置管理服务器
·安装大型Linux集群(3):存储和共享文件
·Linux与Linux,Linux与Windows之间使用S
·Xen和虚拟化技术学习指南
·linux下文件服务Vsftp详细介绍
网摘收藏: