由 aborigen 在 01-13-2004 20:37 发表:
让iptables网关支持upnp[经验交流]
相信这里好多兄弟是正管理着用iptables做的NAT网关,intel牵头的upnp能解决一部分相关问题,下面是我尝试的笔记,请各位兄弟也把你们的做法贴出来吧
#让iptables网关支持upnpd
#URL: http://linux-igd.sourceforge.net/
cd /usr/local/src/distfiles
#注意,igd目前尚不能与最新的upnpd 1.2.1a搭配使用;
wget http://umn.dl.sourceforge.net/sourc...dk-1.0.4.tar.gz
wget http://umn.dl.sourceforge.net/sourc...nuxigd-0.92.tgz
tar xfz upnpsdk-1.0.4.tar.gz -C ..
tar xfz linuxigd-0.92.tgz -C ..
cd ../upnpsdk-1.0.4
#vi src/ssdp/ssdplib.c
##goto line 406
SelfAddr.sin_addr.s_addr = inet_addr(SSDP_IP);
##change to
SelfAddr.sin_addr.s_addr = htonl(INADDR_ANY);
make && make install
ln -s /sbin/iptables /usr/sbin
cd /usr/local/src/linux-igd/
make && make install
#假设网关的外网口是pppoe拨号后的ppp0,eth0是内网卡。
route add -net 239.0.0.0 netmask 255.0.0.0 eth0
upnpd ppp0 eth0
#在内网,退出你的msn再登陆,会在网关看到如下信息:
#tail -f /var/log/debug
#172.16.100.254是我的linux网关的内网卡地址;
Jan 13 19:54:25 dbclone upnpd: Intializing UPnP with desc_doc_url=http://172.16.100.254:2869/gatedesc.xml
Jan 13 19:54:25 dbclone upnpd: ipaddress=172.16.100.254 port=2869
Jan 13 19:54:25 dbclone upnpd: conf_dir_path=/etc/linuxigd/
Jan 13 19:54:27 dbclone upnpd: UPnP Initialization Completed
Jan 13 19:54:27 dbclone upnpd: Setting webserver root directory -- /etc/linuxigd/
Jan 13 19:54:27 dbclone upnpd: Registering the root device