闲得没事干,突然看到一篇文章介绍 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(实战)相关推荐

  1. linux web 服务器性能,Linux系统Web服务器性能测试(2)

    2.系统内存的影响 在linux系统下,有一点需要注意:对于某些BIOS来说,如果超过64MB内存就需要在LILO.CONF中加入扩展内存的命令,否则服务器内存显示只有64MB.我们对64MB内存和1 ...

  2. linux装服务器系统,linux服务器系统安装

    linux服务器系统安装 内容精选 换一换 安装完操作系统后的临时云服务器需要进行相关配置,并安装原生的XEN和KVM驱动,才能保证后续创建的云服务器正常使用.该任务指导用户完成Linux云服务器的相 ...

  3. linux系统安装服务器过程,Linux系统服务器安装宝塔面板图文过程详解

    现在网站大多数都是用PHP开发的,特别是些CMS系统,例如织梦和wordpress这些. 既然用PHP开发,那么服务器用Linux系统是最合适不过(当然你用Windows也是可以的). linux系统 ...

  4. linux下服务器重定向,linux – DHCP服务器将任何URL重定向到登录页面

    我有一个Linux DHCP服务器,我需要将所有网络流量重定向到一个登陆页面,该登陆页面将提供有关如何在网络上注册计算机的说明. 无论用户输入什么URL,都需要将用户重定向到网页(在DHCP服务器上) ...

  5. linux web服务器故障,Linux Web服务器网站故障分析常用的命令

    http://www.ha97.com/4392.html PS:整理一些Linux Web服务器网站故障分析常用的命令,内容均来源于网络.如果你是老手,什么好的命令集或者必杀技欢迎留言,丰富此文! ...

  6. Linux采用服务器网址,Linux实现https方式访问站点

    超文本传送协议(HyperText Transfer Protocol,HTML)是一种通信协议,它允许将超文本标记语言文档从web服务器传送到wel浏览器. HTML的特点: 1.支持客户/服务器模 ...

  7. linux 邮件服务器pop3,linux下用pop3收web电子邮箱_邮件服务器

    FreePOPs是一个集成了POP3后台程序.LUA解译器和其他一些额外的HTTP及HTML分解库的实用工具,目前的最新版本是0.0.10版.现在FreePOPs有Windows.Linux和Mac ...

  8. linux 日历服务器,使用linux的cal命令显示日历

    使用linux的cal命令显示日历 发布时间:2020-07-11 11:29:09 来源:亿速云 阅读:85 作者:清晨 栏目:服务器 不懂使用linux的cal命令显示日历?其实想解决这个问题也不 ...

  9. linux语音服务器,搭建linux下teamspeak3多人语音服务器

    最近项目中新的需求,需要支持多人在线实时通话.就安装测试一下teamspeak. http://www.teamspeak.com/ 主页有服务器版本和客户端版本供下载安装. 软硬件环境: melot ...

最新文章

  1. 微软服务器sql server,解析:微软SQL Server 2008特性和功能
  2. systematic literature review how to write it?
  3. 浅谈缓存技术在ASP.NET中的运用
  4. hadoop 计算几点 主节点_01-Hadoop的介绍
  5. 成为顶尖架构师必须要面对的面试题
  6. 【298天】每日项目总结系列036(2017.11.30)
  7. mysql延迟写入概念_三分钟了解MySQL的简单概念
  8. PHP代码审计基础知识
  9. 易宝php测试账号和密匙,易宝php支付
  10. Java网络编程——客户端Socket
  11. html5画波形图,HTML5创建真实音乐波形图,使用 wavesurfer 快速实现
  12. CFA一级学习笔记--衍生品(一)--概念以及定义
  13. 曾用心并深度参与的一款游戏今天发布了关服通知,回顾一下我最初的工作日报
  14. 蓝桥杯 算法训练 幸运的店家
  15. “三无”大学生,就业真难
  16. 2022.02.11学习总结(kmp)
  17. 多标签分类算法的研究进展
  18. 小六六平时的开发小技巧一(公共属性填充))
  19. JAVA实现简易的图书管理系统(含过程)
  20. CodeCraft-20 (Div. 2)(C(本原多项式) D (BFS) E (状压+dp))

热门文章

  1. supervisor管理prometheus进程
  2. 第5章 高级函数和控制结构
  3. 围城 - 学业、事业、处世
  4. SSM+JSP+Bootstrap+Ajax小实例(员工CRUD系统)(五:员工查询前后端(请求返回json的方式))
  5. linux程序给图片打马赛克,iOS集成OpenCV,并实现图片马赛克
  6. Css font-family字体对照表
  7. 求求各位帮忙找个人,这个盾叔到底是谁?
  8. 联想真无线立体声蓝牙耳机TC550推荐
  9. CSS float浮动规则以及父元素高度塌陷的解决方法
  10. leadtools20版的功能,leadtools20医疗图像工具