Tadas Šubonis aka Danker
GALA linijos srauto panaudojimas
1. Įžanga
Vartotojai nusipirkę GALA paslaugą paprastai gauna galimybę žiūrėti TV per jiems skirtą TV priedėlį ir naudotis internetu kitais kompiuteriais Optimalaus plano greičiu. Visa tai paskirstoma per suteikiamą modemą-maršrutizatorių. Paprastai TV priedėlis ir kompiuteris jungiami prie maršrutizatoriaus taip, kad jie veiktų vienas nepriklausomai nuo kito ir vienas kito srauto jie negali naudoti. Perskaitę šį straipsnį jūs sužinosite, kaip pakeisti suteikia modemą-maršrutizatorių savo Linux tarnybine stotim ir kaip GALA linijos srautą (protarpiais pasiekia net apie 900kB/s!, o vidutinis greitis yra apie 700kB/s) panaudoti kitiems kompiuteriams. Taip pat bus galima kitiems kompiuteriams žiūrėti TV. Visi šie veiksmai bus atliekami Debian GNU\Linux Etch distribucijoje.
1.1. Techninė realizacija
TEO interneto ir GALA srautas yra tiekami per dvi atskiras ATM linijas. 8.35 linija - paprasto interneto linija, o 8.36 - GALA linija. Šias dvi linijas suteikiamas maršrutizatorius paprastai paskirsto per du atskirus VLAN tinklus (šiuo atveju tai yra panaudojama RJ-45 Ethernet tinklo "skylės" dalinimo įrenginyje). Ant pirmos skylės sujungtos su ATM 8.35 linija yra užjungta PPP Relay funkcija, kuri paverčia tą "skylę" PPP serveriu per kurį galima jungtis į "paprastą" internetą, o 4 "skylė" yra tiesiog tiltas su ATM 8.36 linija, kurioje yra DHCP serviso prieiga per kurią TV priedėlis pasiima savo adresą ir naudoja TV rodymui. Taip pat reikėtų pastebėti, kad GALA linija veikia tik TCP protokolas, tad galimės naudotis tik tokiais servisais, kurie juo naudojasi (HTTP, HTTPS) ir neveiks jokios kitos programos naudojančios tokius prokolus kaip UDP ar ICMP (ed2k tinklai, žaidimai).
1.2. Reikiama įranga
Jūsų Linux serveriui svarbiausia reikės dviejų dalykų: ADSL PCI ar USB modemo (modemai turintys tik PPPoE prieigą netinka!) ir vienos standartinės Ethernet tinklo plokštės. Šiuo atveju bus naudojama Micronet SP3300C modemas. Šis įrenginys lspci komanda atpažįstamas taip:
00:0b.0 System peripheral: Conexant ADSL AccessRunner PCI Arbitration Device (rev 01) 00:0b.1 ATM network controller: Conexant AccessRunner PCI ADSL Interface Device (rev 01)
2. Eiga
2.1. Linux paruošimas
Kad paruoštume serverį darbui, mums reikės įsidiegti šiuos paketus:
apt-get install linux-source-2.6.18 bzip2 libncurses5-dev br2684ctl libatm1-dev libatm1 build-essential iproute kernel-package dhcpd
2.2. Branduolio paruošimas
Taip pat bus reikalingi atitinkami nustatymai branduolyje, kad veiktų ADSL modemas ir kiti su ATM ir IP susiję dalykai. config byloje nustatymai turi būti tokie:
CONFIG_ATM=y CONFIG_PPP=y CONFIG_PPPOATM=y # CONFIG_REGPARM is not set
Paprastai pirmieji du numatytame Debian Etch branduolyje (2.6.18) yra įjungti, tačiau trečiasis nėra išjungtas.
2.2.1. Kompiliuojame branduolį ant Debian
cd /usr/src rm linux tar -xjf linux-source-2.6.18.tar.bz2 ln -s linux-source-2.6.18 linux cd linux cp /boot/config-2.6.18-6-486 .config make menuconfig
Atsivėrusiame branduolio nustatymų lange einame į Processor type and features ---> [ ] Use register arguments ir išjungiame šią reikšmę. Taip pat pasinaudokite gera proga išjungti nereikalingus branduoliui dalykus, jei jis bus naudojamas serveryje, tokius kaip V4L2, SOUND, įvairiausių nereikalingų video plokščių palaikymas ir panašiai - viskas kas nebus naudojama tame serveryje. Išjungite tik tas parinktis dėl kurių jūs esate tikri, kad nereiks ir neįtakos sistemos veikimo! Toliau eina sekantys veiksmai:
make-kpkg clean ; fakeroot make-kpkg --revision=3:galaBox.1.0 kernel_image dpkg -i ../linux-image-2.6.18_galaBox.1.0_i386.deb cd /boot ; mkinitrd -o initrd.img-2.6.18 2.6.18
Taip pat nepamirštame patikrinti ar teisingi GRUB nustatymai.
2.3. ADSL modemo tvarkyklių kompiliavimas
Parsisiunčiame tvarkykles:
mkdir -p ~/build/conexant cd ~/build/conexant wget -c http://patrick.spacesurfer.com/adsl/driver-2.6-latest.tar.bz2
Kompiliuojame:
tar -xjf driver-2.6-latest.tar.bz2 cd CnxADSL-6.1.2.007-PIM-2.6-1.7/ make make install cd KernelModule
Užkrauname modulį:
insmod CnxADSL.ko CnxtDslVendorId=0x14F1 CnxtDslArmDeviceId=0x1610 CnxtDslAdslDeviceId=0x1611 CnxtDslPhysicalDriverType=1
Jeigu modulis užsikrovė tvarkingai, tai paleidę komandą
dmesg | tail -n 2
turėtumėte matyti šias eilutes:
CnxADSL: module license 'unspecified' taints kernel. CnxADSL: CnxtDsl_init Starting
Paruošiame, kad branduolys būtų užkraunamas su sistema:
cp CnxADSL.ko /lib/modules/$(uname -r)/extras depmod -a echo "CnxADSL" > /etc/modules
Taip pat reikės įkelti programinę įrangą į modemą šia komanda:
/etc/Conexant/cnxadslload /etc/Conexant/
Jeigu viskas įvyko tvarkingiai, tai dmesg turėtumėte matyti tokią išvestį:
CnxADSL: calBusCtlP46RegisterInterrupt CnxADSL: ARMALIoctl TIG_LOAD_START Prepare device for download command=1074537729 CnxADSL: ARMALIoctl TIG_LOAD_DONE Device finished download OK? command=1074537731 CnxADSL: ARMSyncRoutine Resp2=0x107a4 CnxADSL: ARMSyncRoutine Resp2=0x0 CnxADSL: init_kthread name "cardALDeviceBGThread" too long CnxADSL: init_kthread name truncated to "cardALDeviceBGT" CnxADSL: init_kthread name "cardALDeviceSIThread" too long CnxADSL: init_kthread name truncated to "cardALDeviceSIT" CnxADSL: init_kthread name "cardALDeviceTmrThread" too long CnxADSL: init_kthread name truncated to "cardALDeviceTmr
Padarome, kad modemo programinė įranga būtų įkeliama startuojant sistemai:
echo "install CnxADSL /sbin/modprobe --ignore-install CnxADSL ; /etc/Conexant/cnxadslload /etc/Conexant" >> /etc/modprobe.d/aliases
Jeigu telefono linija yra įkišta į modemą ir viskas tvarkingai suveikė, tai po kurio laiko paleidę komandą
cat /proc/net/atm/CnxAdsl\:0
turėtumėte matyti panašią išvestį į šią:
Conexant AccessRunner PCI ADSL Modem Adapter Status ---------------------------------- ADSL Line Connected Line Rates: Receive 7104 kbps Transmit 640 kbps ADSL Modulation:G.DMT, Rate Unlimited / Full Rate ATM Virtual Channel IDs: no connections open Physical Layer Stats: Receive Transmit Noise Margin 17.44/ 10.82: 215 127.99/127.99: 0 Attenuation 25.89 17.50 Power -38 ATM Link Stats: Receive Transmit Bytes 0 53 Cells 0 1 Management Cells 0 1 CLP=0 Cells 0 0 CLP=1 Cells 0 1 HEC Errors 0 Alignment Errors 0 Unroutable Cells 0 AAL Link Stats: Receive Transmit Good Bytes 0 0 Good Frames 0 0 Discarded Bytes 0 Discarded Frames 0 CRC Errors 0 Invalid Length Errors 0 Timeout Errors 0 Driver version - 6.1.2.007-PIM-2.6-1.4 (14072005) EE PROM Mac Address 00.05.b4.11.3c.2d
Mano atveju buvo naudojamas P1 100Mhz 32RAM kompiuteris, tad branduolį teko kompiliuoti ant kitos debian sistemos, tad jeigu pas jus ta pati situacija, tai ADSL modemo tvarkykles taip pat kompiliuokite ant to kompiuterio, kur kompiliavote branduolį, nes kitu atvejus TVARKYKLĖS NEVEIKS. Taip pat reikėtų pastebėti, kad šios tvarkyklės yra labai jautrios branduolio nustatymams - jei per daug visko išjungsite jos gali neveikti. Yra tikrai žinoma, kad jos veikia su standartine Debian Etch branduolio konfigūracija.
2.4. ATM į Ethernet
Kad mes galėtume naudotis internetu, kuris eina per ATM liniją, mums reikės jį "paversti" į paprastą Ethernet įrenginį. Tam mes naudosime br2684ctl komandą. Kad viską tai automatizuotume, mes padarysime paleisties programėlę /etc/init.d/br2684teo su turiniu:
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
set -e
start_g () {
echo -n "Uzkraunama ATM -> Ethernet tiltai"
br2684ctl -c 0 -a 8.35 -b
br2684ctl -c 1 -a 8.36 -b
}
stop_g () {
echo -n "ATM->Ethernet tiltai panaikinami"
kill $(cat /var/run/nas1.pid) $(cat /var/run/nas0.pid)
}
case "$1" in
start)
start_g
;;
stop)
stop_g
;;
restart|force-reload)
stop_g
start_g
;;
*)
N=/etc/init.d/br2684teo
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0Padarome, kad visa tai užsikrautų pasileidžiant sistemai:
chmod u+x /etc/init.d/br2684teo update-rc.d br2684teo start 37 S .
2.5. Tinklo nustatymai
Teo turbūt nepalaiko PPPoATM prisijungimų (bent jau man nepavyko jų priversti veikti ant Linux, o ant Windows neturėjau dar progos patikrinti), tad mes turėsime naudotis tokiu principu: ATM->Ethernet->PPP . Paleidę br2684teo (/etc/init.d/br2684teo start), paleiskite pppoeconf programą, kuris ant nas0 įrenginio suras PPP paslaugą ir patogiai leis nustatyti visus atinkamus parametrus (vartotojo vardas, slaptažodis). Nepamirškite pažymėti, kad tai būtų numatytasis jūsų kelias (route) tinklo srautui.
Užvadiname maršrutų lentelę, kuri bus naudojama kiek vėliau:
echo "1 galaLine" >> /etc/iproute2/rt_tables
Tam kad, nustatymai būtų užkraunami automatiškai pasileidžiant sistemai, /etc/network/interfaces bylos turinys turi būti toks:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet static address 192.168.0.2 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 auto dsl-provider iface dsl-provider inet ppp pre-up /etc/network/teo/nas0prepare provider dsl-provider auto nas1 iface nas1 inet dhcp post-up /etc/network/teo/nas1post
Kad mums dhclient nenustatinėtų dar vieno nereikalingo "kelio" maršrutizavimo lentelėse dėl kurio gali vėliau kilti daug problemų, tai reikia pasirūpinti, kad /etc/dhclient.conf byloje turi būti ši eilutė (taip mes atsisakysime, kad dhclient nereikalautų routers užklausos, kuri ir nustato tą kelią):
interface "nas1" {
request subnet-mask, broadcast-address, time-offset, domain-name, domain-name-servers, host-name;
}/etc/network/options bylos turinys:
ip_forward=yes spoofprotect=yes syncookies=no
eth0 yra mūsų vietinio tinklo įrenginys, o dsl-provider, tai jūsų nustatytas PPP susijungimo vardas. Taip pat reikės kelių papildomų bylų, kurios sutvarkys kitus tinklo nustatymus (tinklo maršrutai, ugniasienės nustatymai):
/etc/network/teo/nas0prepare
#!/bin/sh /sbin/ifconfig nas0 up
/etc/network/teo/nas1post
#!/bin/sh /sbin/ip rule add fwmark 3 table galaLine /bin/echo 0 > /proc/sys/net/ipv4/conf/nas1/rp_filter
/etc/ppp/ip-up.d/teo-route
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
if ["$PPP_IFACE" = "ppp0"]; then
ip route add default table galaLine nexthop dev ppp0 weight 1 nexthop via 10.197.255.254 dev nas1 weight 12
iptables-restore < /etc/network/teo/iptablesRules
fi/etc/network/teo/iptablesRules
*filter :INPUT ACCEPT [49:3700] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [51:5132] -A INPUT -j ACCEPT -A FORWARD -j ACCEPT -A OUTPUT -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [472766:40394008] :POSTROUTING ACCEPT [1962:125402] :OUTPUT ACCEPT [2414:145674] -A POSTROUTING -o ppp0 -j MASQUERADE -A POSTROUTING -o nas1 -j MASQUERADE COMMIT # Completed on Wed Jun 11 16:46:19 2008 # Generated by iptables-save v1.3.6 on Wed Jun 11 16:46:19 2008 *mangle :PREROUTING ACCEPT [34022565:38521245986] :INPUT ACCEPT [24388507:32562138971] :FORWARD ACCEPT [33835853:38497042885] :OUTPUT ACCEPT [163723:15726407] :POSTROUTING ACCEPT [34007345:38513006920] -A PREROUTING -p tcp -m tcp --dport 80 -j MARK --set-mark 0x3 -A PREROUTING -p tcp -m tcp --dport 443 -j MARK --set-mark 0x3 COMMIT
Visoms šioms byloms (išskyrus /etc/network/teo/iptablesRules) reikia suteikti vykdymo teises (chmod u+x byla). Paaiškinsiu kai kurias šių bylų eilutes. Kadangi GALA linija gali eiti tik tcp paketai, tad mes gali ta linija naudotis, tik tokiais servisais ir programomis, kuriuos naudoja TIK juos. iptables komanda:
-A PREROUTING -p tcp -m tcp --dport 80 -j MARK --set-mark 0x3
pažymi nurodytus paketus (šiuo atveju HTTP ir HTTPS; pagal poreikį su tokia komanda prisidėkite kitus protokolus, kurie naudoja TIK TCP) 3 reikšme ir vėliau pagal tą žymę, paketų kelias bus nurodomas per GALA liniją. Tai atlieka galaLine maršrutizavimo lentelė su taisykle:
ip rule add fwmark 3 table galaLine
Taip pat, kad visą laiką nebūtų naudojama GALA liniją nurodytiems paketams, nepriklausant nuo apkrovos, mes panaudojame šią komandą, kad apkrova būtų paskirstyta tarp interneto ir GALA linijų:
ip route add default table galaLine nexthop dev ppp0 weight 1 nexthop via 10.197.255.254 dev nas1 weight 12
Parametrai weight nurodo santykinį linijos prioritetą - šiuo atveju paketai per GALA liniją bus siunčiami 6 kart dažniau negu per paprasto interneto. Šiuos parametrus galima keisti savo nuožiūra, bet reikėtų prisiminti ir tai, kad GALA linija yra naudojama ir žiūrėti TV, kuris jo veikimo metu, išnaudoja labai didelę dalį srauto (apie 600kB/s). Reikėtų įvertinti kaip dažnai bus žiūrima TV ir rinktis weight parametrą - jei dažniau tai rinktis mažesnį, jei rečiau - didesnį.
Jeigu dėl paskirstomo srauto yra problemų, galite tiesiog nustatyti, kad visas 3 žymės srautas eitų per GALA liniją (vietoje komandos su nexthop):
ip route add default via 10.197.255.254 dev nas1 table galaLine
Taip pat šiose ugniasienės taisyklėse nėra jokių apribojimų dėl saugumo. Tai padaryta sąmoningai, nes kiekvieno poreikiai yra skirtingi ir bandyti rašyti universalias taisykles nėra prasmės. Dabar visi srautai yra leidžiami todėl, kad būtų išvengta nenumatytų problemų bandant šį interneto dalinimą. Jas bus galima (ir rekomenduojama!) pakeisti savo nuožiūra tiesiog pridedant į /etc/networkTeo/iptablesRules bylą.
2.6. DHCP tarnyba
DHCP tarnyba yra reikalinga TV priedeliui, kuris adresą gauna naudojantis DHCP. Taip pat yra rekomenduojame naudoti DHCP servisą, kad nereikėtų vargti vis nustatinėjant kompiuterių IP ir kitus tinklo parametrus. /etc/dhcpd.conf nustatymų bylos turinys:
option subnet-mask 255.255.255.0;
default-lease-time 6000;
max-lease-time 7200;
option broadcast-address 192.168.0.255;
option routers 192.168.0.2;
option domain-name-servers 212.59.2.2;
option domain-name "mydomain.org";
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.40;
host GalaTVBox {
hardware ethernet 00:02:9b:33:xx:xx;
fixed-address 192.168.0.6;
}
}
subnet 10.197.0.0 netmask 255.255.0.0 {
}TV priedeliui mes suteikiame atskirą, nekintantį adresą, kad jam galėtume reguliuoti srautą. Šio priedelio MAC adresas paprastai būna užrašytas ant jo apačios. 10.197.0.0 potinklis yra reikalingas tam, kad DHCP serveris galėtų tvarkingai veikti su nas1 įrenginiu.
2.7. IGMP Proxy
Šis servisas bus reikalingas, kad būtų galime persiuntinėti multicast tipo adresus ir srautą, iš mūsų tarnybinės stoties, vietinio tinklo kompiuteriams. Trumpai tariant, tai bus reikalinga, kad būtų galima žiūrėti GALA TV vietiniame tinkle. Tam panaudosime igmpproxy servisą.
2.7.1. Diegimas
mkdir -p ~/build/igmpproxy ; cd ~/build/igmpproxy wget -c http://mesh.dl.sourceforge.net/sourceforge/igmpproxy/igmpproxy-src-0.1-beta2.tar.gz tar -xzf igmpproxy-src-0.1-beta2.tar.gz cd igmpproxy/src make make install
Kad servisas būtų paleidžiames kartu su sistema, sukuriame bylą /etc/init.d/igmpproxy su turiniu:
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/igmpproxy
NAME=igmpproxy
DESC=igmpproxy
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0Taip pat nustatome:
chmod u+x /etc/init.d/igmpproxy update-rc.d igmpproxy defaults
2.7.2. Nustatymai
/etc/igmpproxy.conf turinys:
quickleave
# nas1 - įrenginys per kurį gaunamas TV srautas
phyint nas1 upstream ratelimit 0 threshold 1
#tinklo nustatymai
altnet 150.158.231.0/24
altnet 10.0.0.0/8
altnet 192.168.0.0/24
# eth0 mūsų vietinio tinklo įrenginys, kur ir bus siunčiamas TV srautas
phyint eth0 downstream ratelimit 0 threshold 1
# išjungiame visus nenaudojamus įrenginius
phyint eth1 disabled
phyint lo disabled
phyint ppp0 disabled
phyint nas0 disabled
phyint sit0 disabled
2.8. Srauto ribojimas
Kad galėtume netrukdomai žiūrėti TV, kai kiti kažką siunčia ir kad aplamai koks vienas žmogus nenugriebtų viso srauto, naudosime srauto ribojimus. Šiai užduočiai atlikti pasirinkau HTB.init. Jos konfigūravimas nėra sudėtingas ir ją paprasta įdiegti, tačiau galimybių stoka ji tikrai nesiskundžia.
2.8.1. Diegimas
cd /etc/init.d wget -c http://kent.dl.sourceforge.net/sourceforge/htbinit/htb.init-v0.8.5 mv htb.init-v0.8.5 htb chmod u+x htb update-rc.d htb defaults mkdir -p /etc/sysconfig/htb
2.8.2. Nustatymai
HTB nustatymai keičiami sukuriant bylas kiekvienam įrenginiui, kuris bus naudojamas srauto ribojimui, bei kuriant taisyklių bylas, kurios priklauso atitinkamam įrenginiui ir bus naudojamos suformuoti srauto kiekiams. Pateikiamuose pavyzdžiuose nas1 yra GALA linijos įrenginys, eth0 vietinio tinklo įrenginys, o ppp0 - linija per kurią gaunamas "paprastas" internetas. Reikėtų priminti, kad kompiuteris gali riboti tik IŠEINANTĮ iš savęs srautą! Todėl norint riboti įeinantį ir išeinantį srautą per mūsų interneto dalintuvą, taisykles reikės aprašyti eth0, nas1 ir ppp0 įrenginiams. Visos nustatymų bylos yra saugomos /etc/sysconfig/htb kataloge. Pateikiu kiekvienos bylos turinį:
/etc/sysconfig/htb/eth0
DEFAULT=20
/etc/sysconfig/htb/eth0-2.root
RATE=100Mbit
/etc/sysconfig/htb/eth0-2:10.www
RATE=8Mbit LEAF=sfq
/etc/sysconfig/htb/eth0-2:10:12.http
RATE=30Kbps CEIL=8Mbit LEAF=sfq PRIORITY=15 RULE=*:80
/etc/sysconfig/htb/eth0-2:10:13.https
RATE=30Kbps CEIL=8Mbit LEAF=sfq PRIORITY=15 RULE=*:443
/etc/sysconfig/htb/eth0-2:15.galaTV
RATE=600kbps LEAF=sfq
/etc/sysconfig/htb/eth0-2:15:16.galaBox
RATE=600Kbps LEAF=sfq PRIORITY=5 RULE=192.168.0.6
/etc/sysconfig/htb/eth0-2:15:17.galaPCUsers
RATE=600Kbps LEAF=sfq PRIORITY=9 RULE=*:1234
/etc/sysconfig/htb/eth0-2:18.ssh
RATE=10Kbps LEAF=sfq PRIORITY=1 RULE=*:22
/etc/sysconfig/htb/eth0-2:20.default
RATE=200Kbps CEIL=100Mbit LEAF=sfq PRIORITY=15
/etc/sysconfig/htb/nas1
DEFAULT=20
/etc/sysconfig/htb/nas1-2.root
RATE=60Kbps LEAF=sfq
/etc/sysconfig/htb/nas1-2:20.default
RATE=20Kbps CEIL=60Kbps LEAF=sfq
/etc/sysconfig/htb/ppp0
DEFAULT=20
/etc/sysconfig/htb/ppp0-2.root
RATE=80kbps LEAF=sfq
/etc/sysconfig/htb/ppp0-2:16.ssh
RATE=10Kbps LEAF=sfq PRIORITY=1 RULE=*:22,
/etc/sysconfig/htb/ppp0-2:20.default
RATE=20Kbps CEIL=60Kbps LEAF=sfq PRIORITY=10
CEIL reikšmė nurodo kiek daugiausiai atitinkama taisyklė galės išnaudoti srauto, jeigu jo bus laiso, o RATE kiek tai klasei skirti, jeigu laisvo srauto nėra. Kad geriau suprastumėte šių bylų turinį ir struktūrą, siūlau paskaityti apie HTB.init tinkinimą (less /etc/init.d/htb).
Visas šias taisyklių bylas galite rasti archyve htb.rules.tar.bz2.
2.9. TV žiūrėjimas kompiuteriuose
Paprasčiau žiūrėti GALA TV jūsų kompiuteriuose yra pasinaudoti VLC programa. Ji yra nemokama ir daugiaplatformė tad veikia Linux, Windows, MacOSX ir BSD sistemose. Patogiausia yra pasinaudoti pateikiamu transliavimo serverių sąrašu (Grojaraščio formatas): jį parsisiųskite, užkraukite (load playlist) ir spauskite ant norimo žiūrėti kanalo Playlist lange.
Grojaraštis: GalaTVPlaylist.m3u
3. Pabaigai
Tikiuosi jums buvo įdomu skaityti šį straipsnį ir kad iš jo jūs turėsite praktinės naudos. Jeigu turite pasiūlymų kaip visa tai patobulinti ar radote klaidų ar neatitikimų, rašykite arba pataisykite patys. Jei kils neaiškumų, pasiskaitinėkite nuorodas ir/arba klauskite forume.
3.1. Nuorodos
http://sourceforge.net/projects/igmpproxy - IGMP proxy serviso namų puslapis
http://members.tripod.com/alord/pciadsl/pciadsl.html - kaip įdiegti PCI ADSL modemą
http://patrick.spacesurfer.com/linux_conexant_pci_adsl.html - ADSL PCI modemo tvarkyklės
http://www.chinalinuxpub.com/doc/www.siliconvalleyccie.com/linux-hn/iptables-intro.htm#_Toc37987406 - IPTABLES sąntrauka
http://sourceforge.net/projects/accessrunner - ADSL USB modemo tvarkyklės
http://lartc.org/howto/lartc.rpdb.multiple-links.html - Internetos dalinimas per kelias linijas
http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=iptables - informacija apie IPTABLES
http://iptables-tutorial.frozentux.net/iptables-tutorial.html#NATUSAGE - pilna informacija apie IPTABLES
http://sourceforge.net/projects/htbinit/ - HTB.init srauto formavimo programėlė