Der igmpproxy ist ein Addon um T-Home mit dem IPFire zu benutzen, ohne die providereigenen Hardware einzusetzen.
Älter Alix-Boards sind für Entertain nicht geeignet, da “via-rhine Ethernet ports“ verbaut sind und diese kein VLAN können. Desweiteren kann es mit RTL8101E/RTL8102E Netzwerkkarten zu Problemen kommen.
Nach erfolgreicher Installation über den Pakfire kann es nun ans Eingemachte gehen. Leider ist bei der Nutzung von IPTV noch ein wenig Handarbeit nötig, mittels Putty oder Winscp bekommten das aber jeder „Linux-Anfänger“ hin.
Als Erstes wird die Datei /etc/IGMPPROXY.CONF bearbeitet.
# # Example configuration file for the IgmpProxy # -------------------------------------------- # # The configuration file must define one upstream # interface, and one or more downstream interfaces. # # If multicast traffic originates outside the # upstream subnet, the "altnet" option can be # used in order to define legal multicast sources. # (Se example...) # # The "quickleave" should be used to avoid saturation # of the upstream link. The option should only # be used if it's absolutely nessecary to # accurately imitate just one Client. # ######################################################## ##------------------------------------------------------ ## Enable Quickleave mode (Sends Leave instantly) ##------------------------------------------------------ # quickleave # upstream = modem interface, red0.8 for vlan tagging (new infrastructure), ppp0 for red0.7 (vlan tagging, old infrastructure), red0 (no vlan tagging) phyint red0.8 upstream ratelimit 0 threshold 1 altnet 239.0.0.0/8 altnet 217.0.119.194/16; altnet 193.158.35.0/24; altnet 192.168.40.200/32; #durch die IP der eigenen Reciver ersetzen # lan interface of ipfire interacting with the iptv-device phyint green0 downstream ratelimit 0 threshold 1 altnet 192.168.40.200/32; #durch die IP der eigenen Reciver ersetzen # # disable all unused interfaces, especially the one connected to the dsl modem phyint lo disabled phyint blue0 disabled phyint red0 disabled phyint tun0 disabled phyint ppp0 disabled phyint imq0 disabled phyint mast0 disabled #phyint orange0 disabled
Erklärung der Einträge:
Hier wird der oder die Media Reciver angegeben.
Zusätzlich muss man dafür sorgen, dass der IGMPPROXY beim Starten mitgeladen wird und noch ein paar manuelle IPTABLES ausgeführt werden. Daher eignet sich die firewall.local (/etc/sysconfig) am Besten:
#!/bin/sh # Used for private firewall rules # See how we were called. case "$1" in start) ## add your 'start' rules here /sbin/iptables -I IPTVFORWARD -i red0.8 -d 224.0.0.0/4 -j ACCEPT /sbin/iptables -I IPTVINPUT -i red0.8 -d 224.0.0.0/4 -j ACCEPT # end for igmpproxy ;; stop) ## add your 'stop' rules here /sbin/iptables -D IPTVINPUT -i red0.8 -d 224.0.0.0/4 -j ACCEPT /sbin/iptables -D IPTVFORWARD -i red0.8 -d 224.0.0.0/4 -j ACCEPT # end for igmpproxy ;; reload) $0 stop $0 start ## add our 'reload' rules here ;; *) echo "Usage: $0 {start|stop|reload}" ;; esac
nun noch den Startbefehl für den IGMP-Proxy in die rc.local einbauen
#!/bin/sh ############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2007 Michael Tremer & Christian Schmidt # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see <http://www.gnu.org/licenses/>. # # # ############################################################################### # Used for private calls after boot # ############################################################################### # power button shutdown if grep -q '^button' /proc/modules ; then ( head -1 /proc/acpi/event | grep -q 'button/power PWRF' && poweroff ) & fi /usr/local/sbin/igmpproxy /etc/igmpproxy.conf &
iptables -t nat -A POSTROUTING -o red0.8 -j MASQUERADE
zu den start) iptables in /etc/sysconfig/firewall.local hinzufügen.