分类: LINUX
2005-07-23 07:28:29
|
To
use the audio/video functionality of MSN Messenger (or Windows
Messenger, but I will use the former term in the rest of this article)
through a firewall, you need UPnP on your firewall. This article
explains how to add UPnP to your Linux kernel 2.4 based firewall (for
example SmoothWall 2). It took us some beers and a substantial amount of frustrating hours to collect the proper information and set it up. This article will turn frustrating hours into a handfull of happy minutes... Well, if you like beer. Some knowlegde about networking and Linux is required. We used WindowsXP and MSN Messenger beta-5, build 527, but it should also work with other Messenger versions. We're not sure if UPnP will work with other Windows versions (probably not, maybe there is an UPnP update available). |
mkdir /etc/linuxigd cp gateconnSCPD.xml /etc/linuxigd cp gatedesc.skl /etc/linuxigd cp gatedesc.xml /etc/linuxigd cp gateicfgSCPD.xml /etc/linuxigd cp gateinfoSCPD.xml /etc/linuxigd |
cp upnpd /usr/bin |
cp libupnp.so /usr/lib cp libstdc++-libc6.2-2.so.3 /usr/lib |
ln -s /sbin/iptables iptables |
route add -net 239.0.0.0 netmask 255.0.0.0 int_if |
upnpd ext_if int_if |
killall upnpd |
ps -x | grep upnpd |
cat /var/log/messages | grep upnp |
Dutch E-mail from Maxim Baars De opzet die in je HOWTO staat is goed. Ik betwijfel of die Optional Network Components aangepast moet worden in XP. Volgens mij is de default instelling waarbij Internet Gateway Device Discovery and Control Client aan staat voldoende. Maar ik heb dit verder niet getest. Mijn omgeving is RH7.1 en ik heb zowel met Windows Messenger 4.7 als MSN Messenger 6.1 getest. Wat je nog mist zijn de rules voor het packet filter. Het volgende scriptje zou je als test kunnen gebruiken. Je kunt nog wat meldingen krijgen (als je logt), waarschijnlijk voor packets die geen RELATED of ESTABLISHED state hebben. (Dit veronderstelt de aanwezigheid van een rules als "... INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT" en "... FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT".) ## Test script # Check if UPnP daemon is already running # Note: daemon only inserts DNAT rules to client # Note: "/usr/bin/upnpd extif intif" can be added to /etc/rc.d/rc.local #if !(pidof upnpd); then if !( ps -ef | grep upnpd | grep -v grep >/dev/null ) ; then upnpd extif intif fi # Allow forwarding of UPnP packets (if policy is DROP) iptables -A FORWARD -p udp -i extif -o intif -j ACCEPT iptables -A FORWARD -p tcp -i extif -o intif -j ACCEPT # Allow multicast for UPnP # Note: "intif net 239.0.0.0 netmask 255.0.0.0" can be added to # /etc/sysconfig/static-routes route add -net 239.0.0.0 netmask 255.0.0.0 intif 2> /dev/null iptables -A INPUT -i intif -s intnet -d 239.255.255.250 -j ACCEPT # SSDP Discovery Service (SSDP protocol) iptables -A INPUT -i intif -p udp --dport 1900 -j ACCEPT # SSDP Discovery Service (SSDP event notification protocol) # Universal Plug and Play Device Host (UPNP protocol) iptables -A INPUT -i intif -p tcp --dport 2869 -j ACCEPT ## EOF Ik ben nog aan het overwegen of ik de upnpd-code zal aanpassen, want ik vind met name de forward rules te "open". Met vriendelijke groet, Maxim |
Last update notes
Update: Added a Dutch E-mail of Maxim Baars.