闲得没事干,突然看到一篇文章介绍 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. AJAX服务器返回数据 连接数据库查询数据
  2. 详解音视频直播中的低延时
  3. 动态树与静态树显示——(一)
  4. Linux脚本获取日期,Shell脚本获取格式化日期与时间
  5. elasticsearch 根据条件更新数据
  6. python怎样打开加密的文件_python基础教程如何用Python 加密文件
  7. Axure下拉框级联操作
  8. jQuery事件绑定(一)
  9. 高效的企业测试-结论(6/6)
  10. U盘 制作 win 7 64bit 旗舰版 安装盘
  11. 循环序列模型 —— 1.8 带有神经网络的梯度消失
  12. IOT---(5)Android Things
  13. php设计模式 — 单例模式(singleton)
  14. Excel表格将多个单元格内容合并到一个单元格中_工作中使用记录_2021-03-29
  15. java 死循环排查_java2如何排查线上死循环
  16. 英文单词之说文解字(9)
  17. Unity3D——打飞碟游戏(2)
  18. java 龟兔赛跑预测_Java实现 蓝桥杯VIP 基础练习 龟兔赛跑预测
  19. 仍是在思过崖攀爬的人
  20. 微信小程序之如何获取输入框的内容

热门文章

  1. excel 不能分类汇总、分类汇总按钮是灰色的另一个原因
  2. 打开电脑文件扩展名,显示常用文件扩展名
  3. 论我个人对类与方法的理解
  4. Android AudioRecord录音功能实现并pcm转wav
  5. 列表的基本操作、列表方法、列表解析
  6. dlink路由器设置虚拟服务器,D-Link路由器端口转发设置图文教程
  7. 工程师职级胜任力框架
  8. 千元机,标杆门槛再提高 -- TCL 么么哒 3N 分享体验
  9. leetcode:495. 提莫攻击
  10. 对话冯·诺依曼理论奖得主叶荫宇:ChatGPT于行业智能,更像是全科医生对专科医生|数字思考者50人...