Ubuntu kot router + IPTV

Vse o T-2 IP televiziji
mulc
Novinec
Prispevkov: 12
Pridružen: 26. Jan 2010 ob 12:37
T-2: Že imam

Ubuntu kot router + IPTV

Odgovor Napisal/-a mulc » 16. Feb 2011 ob 15:21

Pozdravljeni, odločil sem se napisati vodič, za vse, ki imate doma prost računalnik z dvema mrežnima karticama.
Ta računalnik bo opravljal funkcijo Routerja, lahko pa mu namestite tudi še kake druge podatkovne ali spletne strežnike, ki spremeni vašo domačo mrežo v bolj uporabniško prijazno.

Testirano na Ubuntu Server 10.10

najprej napišemo komando, ki nam bo izpisala trenutne kartice in nastavitve:

Koda: Izberi vse

ifconfig
tukaj poiščemo imena kartic (eth1,eth0...)
v mojem primeru je na eth0 priklopljen internet, eth1 pa je prikljopljen na switch za omrežje

sedaj uredimo datoteko: /etc/network/interfaces

Koda: Izberi vse

auto eth0
#za staticni ip
iface eth0 inet static
    address 93.103.x.y
    netmask 255.255.0.0
    gateway 93.103.0.1
#dinamicni ip
iface eth0 inet dhcp

# The loopback network interface
auto lo
iface lo inet loopback

# The loopback network interface
#kartica za omrezje
auto eth1
iface eth1 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    network 192.168.1.0
če še DNS strezniki niso bili nastavljeni, jih lahko nastavimo pri datoteki: /etc/resolv.conf

Koda: Izberi vse

domain t-2.net
search t-2.net
nameserver 84.255.209.79
nameserver 84.255.210.79
evo, internet sedaj dobimo do tega računalnika, potrebno so še nastavitve za naprej

naslednji na vrsti je NAT, omogočimo ga z naslednjimi komandami:

Koda: Izberi vse

sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE 
da se izognemo pisanju teh komand vsakič ko bi se računalnik ponovno zagnal, uporabimo naslednji hack:

Koda: Izberi vse

sudo iptables-save | sudo tee /etc/iptables.sav
to shrani nastavitve v datoteko, sedaj pa še v /etc/rc.local pred return 0 dodamo:

Koda: Izberi vse

iptables-restore < /etc/iptables.sav
še omogočimo ipv4 forwarding:

Koda: Izberi vse

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
in kot zadnjo stvar, da bo računalnik deloval kot router v datoteko /etc/sysctl.conf dodamo:

Koda: Izberi vse

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
tako, računalnik zdaj naprej posreduje internet. Vendar to še vseeno ne opravlja funkcije samodejnega naslavljanja ip (dhcp)

namestitev je zelo enostavna:

Koda: Izberi vse

sudo apt-get install dnsmasq
sudo /etc/init.d/dnsmasq stop
sedaj še popravimo nastavitve v: /etc/dnsmasq.conf

Koda: Izberi vse

interface=eth1
dhcp-range=192.168.1.2,192.168.1.50,72h
in še zaženemo dhcp strežnik:

Koda: Izberi vse

sudo /etc/init.d/dnsmasq start
Tako, zdaj imamo postavljen router! Ko priklopimo računalnike v switch opazimo da dobijo internet, TV pa še ne deluje
no za to bomo uporabili UDPXY ki spremeni multicast v unicast in pošlje zahtevancu

iz strani http://sourceforge.net/projects/udpxy/ potegnemo udpxy (lahko z komando wget link)

Koda: Izberi vse

sudo tar xzf udpxy.tar.gz
cd udpxy
sudo .\configure
sudo make
sudo make install
sudo udpxy -a eth0 -p 4022 -m eth1
Evo zdaj pa samo še popravimo playlisto v tem smislu

Koda: Izberi vse

#EXTM3U
#EXTINF:0,Channel01
http://192.168.1.1:4022/udp/239.255.1.1:5000
in stvar deluje!

PS: problem multicasta sem rešil z udpxy, ki sicer ne more podpirati gledanja večih programov na enkrat...
trudim se postaviti igmpproxy, ki bo posredoval tudi multicast drugi mrežni kartici, ob uspehu dopolnim ta post z rešitvijo

Uporabniški avatar
KoMar
Administrator
Prispevkov: 3979
Pridružen: 17. Mar 2006 ob 11:43
T-2: Že imam
Paket: 100/10 FTTH

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a KoMar » 16. Feb 2011 ob 17:20

Pohvalno :plosk:

DSmidgy
Novinec
Prispevkov: 13
Pridružen: 19. Okt 2008 ob 08:31
T-2: Že imam
Paket: FTTH

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a DSmidgy » 17. Feb 2011 ob 17:46

Na kratko glede igmpproxy-ja.

Inštalacija

Koda: Izberi vse

wget http://downloads.sourceforge.net/project/igmpproxy/igmpproxy/0.1/igmpproxy-0.1.tar.gz?ts=1297960485&use_mirror=mesh
# Popravi ime datoteke na igmpproxy-0.1.tar.gz
sudo tar -xzf igmpproxy-0.1.tar.gz
cd igmpproxy-0.1
sudo make
sudo make install
Glede konfiguracije igmpprogy.conf je bilo že enkrat napisano na tem forumu - IPji so samo skopirani.
Verjetno bi bilo potrebno uporabiti kakšen port sniffer da se preveri, ali so vsi IPji spodaj še aktualni.

Popravi zapis za vhodni NIC v /usr/local/etc/igmpproxy.conf (eth1 pri meni predstavlja mrežno kartico, kamor je priklopljen internet) ter dodaj broadcast? naslove:

Koda: Izberi vse

phyint eth1 upstream  ratelimit 0  threshold 1
altnet 84.255.208.0/24
altnet 84.255.209.0/24
altnet 172.16.100.0/24
altnet 172.17.140.0/24
altnet 172.17.141.0/24
Popravi še zapis za izhodni NIC (eth1 je lokalna mreža):

Koda: Izberi vse

phyint eth0 downstream  ratelimit 0  threshold 1
Zagon (ki bi se ga dalo nekako dodati tudi kot service):

Koda: Izberi vse

igmpproxy -d /usr/local/etc/igmpproxy.conf 2>/dev/null &

DSmidgy
Novinec
Prispevkov: 13
Pridružen: 19. Okt 2008 ob 08:31
T-2: Že imam
Paket: FTTH

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a DSmidgy » 17. Feb 2011 ob 17:53

Pa še glede VLCja ter podnapisov in jezika - v datoteki C:\Users\IME\AppData\Roaming\vlc\vlcrc popravi:

Koda: Izberi vse

# Audio language (string)
audio-language=Slovenian,Slovenščina,English
# Subtitle language (string)
sub-language=Slovenian,Slovenščina,English
Lahko se doda še kakšen drug jezik, ki ga vpišeš v angleščini in lokalizirano.

gulikoza
Starešina
Prispevkov: 1646
Pridružen: 17. Mar 2006 ob 15:33
T-2: Že imam
Paket: 50/50 FTTH

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a gulikoza » 17. Feb 2011 ob 19:07

Včasih pomaga nastaviti net.ipv4.conf.all.force_igmp_version=2 v /etc/sysctl.conf ker drugače linux pošilja igmp v3 ki ga t-2 strežniki ne razumejo
Slika Optika od 30.5.2008

mulc
Novinec
Prispevkov: 12
Pridružen: 26. Jan 2010 ob 12:37
T-2: Že imam

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a mulc » 17. Feb 2011 ob 20:29

nastavitve za igmproxy sem pobral od FAQ pri MulticastTV, zalaufal, vendar nič, nastavil sem tudi igmp_verzijo, vendar ne pomaga
igmproxy pa sem do sedaj zaganjal z komando: igmpproxy -d -v /usr/local/etc/igmpproxy.conf (direktno izpisuje napake in porocila kaj se dogaja)

DSmidgy
Novinec
Prispevkov: 13
Pridružen: 19. Okt 2008 ob 08:31
T-2: Že imam
Paket: FTTH

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a DSmidgy » 18. Feb 2011 ob 00:44

Jaz sem deljenje povezave, ki ga opisuješ zgoraj, nastavil na naslednji način.

Koda: Izberi vse

ethext="eth1"
ethint="eth0"

###############################
# Internet Connection Sharing #
###############################

# Enable forwarding
file="/etc/ufw/sysctl.conf"
if [ ! -f $file.orig ]; then
  cp -p $file $file.orig
  sed "s/^#net\/ipv4\/ip_forward=1$/net\/ipv4\/ip_forward=1/" $file.orig > $file
  ics="1"
fi

file="/etc/default/ufw"
if [ ! -f $file.orig ]; then
  cp -p $file $file.orig
  sed "s/^DEFAULT_FORWARD_POLICY=\"DROP\"$/DEFAULT_FORWARD_POLICY=\"ACCEPT\"/" $file.orig > $file
  ics="1"
fi

# Enable NAT
file="/etc/ufw/before.rules"
if [ ! -f $file.orig ]; then
  cp -p $file $file.orig
  sed "10s/^$/\n# Internet connection sharing\n*nat\n:POSTROUTING ACCEPT [0:0]\n-A POSTROUTING -o $ethext -s 192.168.0.0\/24 -j MASQUERADE\nCOMMIT\n/" $file.orig > $file
  ics="1"
fi

# Restart UFW
if [ "$ics" == "1" ]; then
  ufw enable
  service ufw restart
fi

########
# DHCP #
########

file="/etc/dhcp3/dhcpd.conf"
if [ ! -f $file ]; then
  apt-get install dhcp3-server
fi

if [ ! -f $file.orig ]; then
  cp -p $file $file.orig
  sed "s/^#authoritative;$/authoritative;\n\n# Subnet for internet connection sharing\nsubnet 192.168.0.0 netmask 255.255.255.0 {\n  range 192.168.0.200 192.168.0.250;\n  option routers 192.168.0.101;\n  option domain-name \"blank.com\";\n  option domain-name-servers 84.255.209.79, 84.255.210.79;\n  default-lease-time 604800;\n}/" $file.orig > $file
  dhcp="1"
fi

file="/etc/default/dhcp3-server"
if [ ! -f $file.orig ]; then
  cp -p $file $file.orig
  sed "s/^INTERFACES=\"\"$/INTERFACES=\"$ethint\"/" $file.orig > $file
  dhcp="1"
fi

# Restart DHCP server
if [ "$dhcp" == "1" ]; then
  service dhcp3-server restart
fi

mulc
Novinec
Prispevkov: 12
Pridružen: 26. Jan 2010 ob 12:37
T-2: Že imam

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a mulc » 18. Feb 2011 ob 01:15

kaj pa si naredil za multicast deljenje?

DSmidgy
Novinec
Prispevkov: 13
Pridružen: 19. Okt 2008 ob 08:31
T-2: Že imam
Paket: FTTH

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a DSmidgy » 18. Feb 2011 ob 22:04

Za igmpproxy piše: IGMPproxy is a simple dynamic Multicast Routing Daemon using only IGMP signalling. It's intended for simple forwarding of Multicast traffic between networks.
Če prav razumem to pomeni, da VLC klient preko IGMP protokola "naroči" na igmpproxy-ju TV stream, ki ga ta nato iz internetnega priključka posreduje naprej klientu, na katerem teče VLC. Samo forwardira multicast iz ene mreže na drugo in posreduje naročanje preko IGMPja.

mulc
Novinec
Prispevkov: 12
Pridružen: 26. Jan 2010 ob 12:37
T-2: Že imam

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a mulc » 18. Feb 2011 ob 23:05

ni nujno da oddaja igmp, lahko je tudi kak drug stream, saj je le vlc vmes, preizkusil, ne deluje najbolje
udpxy deluje, a včasih krešne in čakaš nekaj časa...
igmpproxy pa naj bi deloval pri n hkrati televizijah/programih brez problemov

DSmidgy
Novinec
Prispevkov: 13
Pridružen: 19. Okt 2008 ob 08:31
T-2: Že imam
Paket: FTTH

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a DSmidgy » 19. Feb 2011 ob 18:57

Kaj pa nastavitve pri VLCju? Ko sem gledal TV na PC-ju, ki je bil priklopljen direktno na internet, sem moral nastaviti IP, preko katerega se sprejema.
Pri gledanju preko klienta, ki se poveže na strežnik z igmpproxy, pa sem moral namesto IP-ja (sedaj IP lokalnega strežnika oz. sem kaj nastavljal narobe, se ne spomnim več) pustiti prazno, drugače mi ni delovalo.
To postavitev uporabljam na optiki.

malek22
Začetnik
Prispevkov: 3
Pridružen: 22. Feb 2011 ob 17:15
T-2: Še nimam

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a malek22 » 8. Apr 2011 ob 09:22

Pozdravljeni,

Imam težavo z IPTV in linux Ubuntu na AMIS TV,
Vse lepo in prav posnifam IPna stbju, imam nastavljen IGMP_v2 zapisano mac adresso in
TV mi je deloval brez težav kratek čas cca 2 dni.
Ugotovil sem da če priklopim stb za kratek čas in potem spet nazaj na PC začne IPTV ponovno delovati.

ugotovil sem da mi deluje tudi če imam kartico na DHCP v takšnih primerih, torej takoj ko preklopim iz STB na PC.

poizkusil sem tudi z IGMP_v3 a ni efekta. Kaj pošilja STB ko PC ne?

flier
Model
Prispevkov: 287
Pridružen: 15. Sep 2006 ob 09:39
T-2: Še nimam

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a flier » 8. Apr 2011 ob 18:11

Bojda imajo na Amisu TV zaklenjen na MAC naslov STBja.

malek22
Začetnik
Prispevkov: 3
Pridružen: 22. Feb 2011 ob 17:15
T-2: Še nimam

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a malek22 » 8. Apr 2011 ob 21:52

Da to drži, ampak v tem ni težava, mac naslov je spremenjen na kartici.

flier
Model
Prispevkov: 287
Pridružen: 15. Sep 2006 ob 09:39
T-2: Še nimam

Re: Ubuntu kot router + IPTV

Odgovor Napisal/-a flier » 9. Apr 2011 ob 18:08

Potem pa mislim da ni druge kot posneti in analizirati promet da bos ugotovil kje je razlika med STB in PC.

Odgovori