Benutzer-Werkzeuge


igmpproxy

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.

Konfiguration

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.

Datei: /etc/igmpproxy.conf
#
#   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:

  • # red0.8 ist das Device welches die Multicasts empfängt. Dieses ist bei T-Home nach der Umstellung auf Zielnetz VLAN 8 am roten Interface.
  • phyint red0.8 upstream ratelimit 0 threshold 1
  • # IP's von T-Entertain festlegen
    • altnet 239.35.0.0/8
    • altnet 217.0.119.194/16;
    • altnet 193.158.35.0/24;
  • # LAN-Interface ist im IPFire green0. Es können auch blue0 oder orange0 sowie diverse VPN-Verbindungen verwendet werden.
  • phyint green0 downstream ratelimit 0 threshold 1

Hier wird der oder die Media Reciver angegeben.

  • altnet 192.168.40.200/32;
  • # andere nicht benötigte Devices werden deaktiviert, nicht vorhandene können auskommentiert werden.
  • phyint lo disabled
  • phyint blue0 disabled
  • phyint red0 disabled
  • phyint tun0 disabled
  • phyint ppp0 disabled
  • phyint imq0 disabled
  • phyint mast0 disabled
  • #phyint orange0 disabled

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:

Datei: /etc/sysconfig/firewall.local
#!/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

Datei: /etc/sysconfig/rc.local
#!/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 &

Besonderheiten

  • Die igmpproxy.conf ist hier speziell für T-Home Benutzer angepasst. Bei Anderen Anbietern (MaxDom, usw.) müßen die entsprechenden IP´s erst erfragt und angepasst werden.
  • Für einen Betrieb mit dem Proxy bzw. URL-Filter muß die IP des Recivers bei “Uneingeschränkte IP-Adressen“ bzw. “Ungefilterte IP-Adressen“ eingetragen werden.
  • Um unötige Fehler oder Probleme zu vermeiden, ist es Wichtig den VLAN´s verschiedene MAC-Adressen zuzuweisen, dies kann im Webinterface unter “Netzwerk/MAC Adressen zuweisen“ erfolgen.
  • Bei der Nutzung von IPTV sollte auf den clamav verzichtet werden, dieser stört den Stream erheblich.
  • Wenn das TV-Archiv nicht erreichbar ist diesen Eintrag:
    iptables -t nat -A POSTROUTING -o red0.8 -j MASQUERADE

    zu den start) iptables in /etc/sysconfig/firewall.local hinzufügen.


wiki.ipfire.org

The community-maintained documentation platform of IPFire