Linux upnp 服务器,让 Linux 支持 UPnP(实战)
闲得没事干,突然看到一篇文章介绍 Linux 的 UPnP 的,于是也想做一下
所需软件:libupnp-1.3.1.tar.gz、linuxigd-1.0.tar.gz,sourceforge 上都有,下最新版的
先安装 libupnp,按照 INSTALL 做就可以
后安装 linuxigd,也就是 Linux 下的 daemon 程序,upnpd
根据 INSTALL 的提示,可以选择有 libiptc 的情况,我的系统也确实有,是在编译 iptables 的时候生成的一个动态链接库,但编译后发现创建 PortMap 错误,于是去掉了 libiptc 的支持
另,INSTALL 里提示要加组播路由并在 INPUT 里允许组播地址进入,这个是一定要做的,否则有的软件无法通过。# tail -f /var/log/upnpd
Aug 28 12:47:21 platinum upnpd[13713]: IGD root device successfully registered.
Aug 28 12:47:23 platinum upnpd[13713]: Advertisements Sent. Listening for requests ...
Aug 28 12:47:49 platinum upnpd[13720]: AddPortMap: DevUDN: uuid:75802409-bccb-40e7-8e6c-fa095ecce13e ServiceID: urn:upnp-org:serviceId:WANIPConn1 RemoteHost: (null) Prot: TCP ExtPort: 36881 Int: 192.168.39.170.36881
Aug 28 12:47:50 platinum upnpd[13720]: AddPortMap: DevUDN: uuid:75802409-bccb-40e7-8e6c-fa095ecce13e ServiceID: urn:upnp-org:serviceId:WANIPConn1 RemoteHost: (null) Prot: UDP ExtPort: 36881 Int: 192.168.39.170.36881
Aug 28 12:58:08 platinum upnpd[13720]: DeletePortMap: Proto:UDP Port:36881
Aug 28 12:58:08 platinum upnpd[13720]: DeletePortMap: Proto:TCP Port:36881
Aug 28 13:06:54 platinum upnpd[13720]: Failure in GateDeviceDeletePortMapping: DeletePortMap: Proto:UDP Port:36881
Aug 28 13:06:55 platinum upnpd[13720]: Failure in GateDeviceDeletePortMapping: DeletePortMap: Proto:TCP Port:36881
Aug 28 13:06:55 platinum upnpd[13720]: AddPortMap: DevUDN: uuid:75802409-bccb-40e7-8e6c-fa095ecce13e ServiceID: urn:upnp-org:serviceId:WANIPConn1 RemoteHost: (null) Prot: TCP ExtPort: 36881 Int: 192.168.39.170.36881
Aug 28 13:06:56 platinum upnpd[13720]: AddPortMap: DevUDN: uuid:75802409-bccb-40e7-8e6c-fa095ecce13e ServiceID: urn:upnp-org:serviceId:WANIPConn1 RemoteHost: (null) Prot: UDP ExtPort: 36881 Int: 192.168.39.170.36881
root@platinum /data/KERNEL
## iptables -vnL FORWARD
Chain FORWARD (policy ACCEPT 57M packets, 31G bytes)
pkts bytes target prot opt in out source destination
22973 24M ACCEPT tcp -- * * 0.0.0.0/0 192.168.39.170 tcp dpt:36881
3803 375K ACCEPT udp -- * * 0.0.0.0/0 192.168.39.170 udp dpt:36881
root@platinum /data/KERNEL
# iptables -t nat -vnL PREROUTING
Chain PREROUTING (policy ACCEPT 678K packets, 90M bytes)
pkts bytes target prot opt in out source destination
654 58197 DNAT udp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:36881 to:192.168.39.170:36881
340 24283 DNAT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:36881 to:192.168.39.170:36881
root@platinum /data/KERNEL
#其中 nat 表 PREROUTING 链里面以及 filter 表 FORWARD 链里面的内容是 upnpd 自动添加的。
经过测试,迅雷软件必须在有组播路由的情况下才能使用,比特精灵则怎么都无法通过,而 eMule 是能力最强的,无论是否加组播路由都可以识别并使用 IGD 的 UPnP。# tail /var/log/upnpd
Aug 28 212248 platinum upnpd[32204] Advertisements Sent. Listening for requests ...
Aug 28 212404 platinum upnpd[32277] UPnP SDK Successfully Initialized.
Aug 28 212404 platinum upnpd[32277] Succesfully set the Web Server Root Directory.
Aug 28 212404 platinum upnpd[32277] IGD root device successfully registered.
Aug 28 212407 platinum upnpd[32277] Advertisements Sent. Listening for requests ...
Aug 28 212412 platinum upnpd[32285] AddPortMap DevUDN uuid75802409-bccb-40e7-8e6c-fa095ecce13e ServiceID urnupnp-orgserviceIdWANIPConn1 RemoteHost (null) Prot TCP ExtPort 14540 Int 192.168.39.170.6115
Aug 28 212422 platinum upnpd[32285] DeletePortMap ProtoTCP Port14540root@platinum /data/KERNEL
#
Linux upnp 服务器,让 Linux 支持 UPnP(实战)相关推荐
- linux web 服务器性能,Linux系统Web服务器性能测试(2)
2.系统内存的影响 在linux系统下,有一点需要注意:对于某些BIOS来说,如果超过64MB内存就需要在LILO.CONF中加入扩展内存的命令,否则服务器内存显示只有64MB.我们对64MB内存和1 ...
- linux装服务器系统,linux服务器系统安装
linux服务器系统安装 内容精选 换一换 安装完操作系统后的临时云服务器需要进行相关配置,并安装原生的XEN和KVM驱动,才能保证后续创建的云服务器正常使用.该任务指导用户完成Linux云服务器的相 ...
- linux系统安装服务器过程,Linux系统服务器安装宝塔面板图文过程详解
现在网站大多数都是用PHP开发的,特别是些CMS系统,例如织梦和wordpress这些. 既然用PHP开发,那么服务器用Linux系统是最合适不过(当然你用Windows也是可以的). linux系统 ...
- linux下服务器重定向,linux – DHCP服务器将任何URL重定向到登录页面
我有一个Linux DHCP服务器,我需要将所有网络流量重定向到一个登陆页面,该登陆页面将提供有关如何在网络上注册计算机的说明. 无论用户输入什么URL,都需要将用户重定向到网页(在DHCP服务器上) ...
- linux web服务器故障,Linux Web服务器网站故障分析常用的命令
http://www.ha97.com/4392.html PS:整理一些Linux Web服务器网站故障分析常用的命令,内容均来源于网络.如果你是老手,什么好的命令集或者必杀技欢迎留言,丰富此文! ...
- Linux采用服务器网址,Linux实现https方式访问站点
超文本传送协议(HyperText Transfer Protocol,HTML)是一种通信协议,它允许将超文本标记语言文档从web服务器传送到wel浏览器. HTML的特点: 1.支持客户/服务器模 ...
- linux 邮件服务器pop3,linux下用pop3收web电子邮箱_邮件服务器
FreePOPs是一个集成了POP3后台程序.LUA解译器和其他一些额外的HTTP及HTML分解库的实用工具,目前的最新版本是0.0.10版.现在FreePOPs有Windows.Linux和Mac ...
- linux 日历服务器,使用linux的cal命令显示日历
使用linux的cal命令显示日历 发布时间:2020-07-11 11:29:09 来源:亿速云 阅读:85 作者:清晨 栏目:服务器 不懂使用linux的cal命令显示日历?其实想解决这个问题也不 ...
- linux语音服务器,搭建linux下teamspeak3多人语音服务器
最近项目中新的需求,需要支持多人在线实时通话.就安装测试一下teamspeak. http://www.teamspeak.com/ 主页有服务器版本和客户端版本供下载安装. 软硬件环境: melot ...
最新文章
- AJAX服务器返回数据 连接数据库查询数据
- 详解音视频直播中的低延时
- 动态树与静态树显示——(一)
- Linux脚本获取日期,Shell脚本获取格式化日期与时间
- elasticsearch 根据条件更新数据
- python怎样打开加密的文件_python基础教程如何用Python 加密文件
- Axure下拉框级联操作
- jQuery事件绑定(一)
- 高效的企业测试-结论(6/6)
- U盘 制作 win 7 64bit 旗舰版 安装盘
- 循环序列模型 —— 1.8 带有神经网络的梯度消失
- IOT---(5)Android Things
- php设计模式 — 单例模式(singleton)
- Excel表格将多个单元格内容合并到一个单元格中_工作中使用记录_2021-03-29
- java 死循环排查_java2如何排查线上死循环
- 英文单词之说文解字(9)
- Unity3D——打飞碟游戏(2)
- java 龟兔赛跑预测_Java实现 蓝桥杯VIP 基础练习 龟兔赛跑预测
- 仍是在思过崖攀爬的人
- 微信小程序之如何获取输入框的内容
热门文章
- excel 不能分类汇总、分类汇总按钮是灰色的另一个原因
- 打开电脑文件扩展名,显示常用文件扩展名
- 论我个人对类与方法的理解
- Android AudioRecord录音功能实现并pcm转wav
- 列表的基本操作、列表方法、列表解析
- dlink路由器设置虚拟服务器,D-Link路由器端口转发设置图文教程
- 工程师职级胜任力框架
- 千元机,标杆门槛再提高 -- TCL 么么哒 3N 分享体验
- leetcode:495. 提莫攻击
- 对话冯·诺依曼理论奖得主叶荫宇:ChatGPT于行业智能,更像是全科医生对专科医生|数字思考者50人...