Ubuntu kot router + IPTV
Objavljeno: 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:
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
če še DNS strezniki niso bili nastavljeni, jih lahko nastavimo pri datoteki: /etc/resolv.conf
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:
da se izognemo pisanju teh komand vsakič ko bi se računalnik ponovno zagnal, uporabimo naslednji hack:
to shrani nastavitve v datoteko, sedaj pa še v /etc/rc.local pred return 0 dodamo:
še omogočimo ipv4 forwarding:
in kot zadnjo stvar, da bo računalnik deloval kot router v datoteko /etc/sysctl.conf dodamo:
tako, računalnik zdaj naprej posreduje internet. Vendar to še vseeno ne opravlja funkcije samodejnega naslavljanja ip (dhcp)
namestitev je zelo enostavna:
sedaj še popravimo nastavitve v: /etc/dnsmasq.conf
in še zaženemo dhcp strežnik:
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)
Evo zdaj pa samo še popravimo playlisto v tem smislu
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
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
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
Koda: Izberi vse
domain t-2.net
search t-2.net
nameserver 84.255.209.79
nameserver 84.255.210.79
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
Koda: Izberi vse
sudo iptables-save | sudo tee /etc/iptables.sav
Koda: Izberi vse
iptables-restore < /etc/iptables.sav
Koda: Izberi vse
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Koda: Izberi vse
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
namestitev je zelo enostavna:
Koda: Izberi vse
sudo apt-get install dnsmasq
sudo /etc/init.d/dnsmasq stop
Koda: Izberi vse
interface=eth1
dhcp-range=192.168.1.2,192.168.1.50,72h
Koda: Izberi vse
sudo /etc/init.d/dnsmasq start
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
Koda: Izberi vse
#EXTM3U
#EXTINF:0,Channel01
http://192.168.1.1:4022/udp/239.255.1.1:5000
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