IGMP Proxy

IGMP Proxy

Naslov se sliši učeno, gre pa za to, da bi radi v LAN omrežju našega doma/službe, gledali vse programe T-2 IP televizije, ne da bi pri tem preveč ogrožali varnost našega omrežja.

Kot verjetno veste, T-2, pa tudi nekateri drugi ponudniki, v optiki ali VDSL kablu, ki ga dobite do doma, prenašajo najmanj tri omrežja: internet, televizijo in telefonijo. Zanimivo je, da niti niso posebej ločena, razen da uporabljajo različna IP območja (subnets), televizija pa se prenaša v multicast načinu.

Običajna postavitev Mikrotika v vašem omrežju je verjetno taka, da lokalnim računalnikom dodeljuje privatne IP naslove (temu priključku bomo rekli LAN), zunal pa z DHCP protokolom ali statično pridobite en javni naslov (WAN). Kaj je treba torej narediti, da bi lahko denimo s programom kot je VNC predvajalnik, lahko gledali program na naslovu udp://@239.1.1.11:5000 (SLO 3 v tem primeru)?

Najprej nadgradite Mikrotik in preverite, da je tudi multicast paket v nadgradnji.

nato dodajte te ukaze:

/routing igmp-proxy interface add interface=WAN upstream=yes
/routing igmp-proxy interface add interface=LAN

ÄŒe imate pravilno skonfiguriran požarni zid – in ne dvomim, da ga imate, boste morali tja dodati naslednji ukaz:

/ip firewall filter add action=accept chain=input comment="Dovoli IGMP" disabled=no protocol=igmp

To je pa tudi vse. V VNC si naložite “play listo” s programi, pa uspeÅ¡no gledanje.

Morda še dve opozorili: Vsak TV kanal zavzame širino cca 4-5 Mbps. Ko prekljapljate med kanali, se zaradi narave Multicast protokola prejšnje povezave ne zapirajo prav takoj, zato kmalu končate pri recimo 10. vzporednih TV kanalih, ki letijo čez vaš bogi Mikotik. To ga bo skoraj gotovo uničilo (resetiralo).

Za lajÅ¡anje te težave sem poskusil “fast leave” nastavitev, ki naj bi takoj zapirala nerabljene kanale, vendar ni bilo nobene razlike. Opazil sem sicer precej zavrnjenih paketov v požarnem zidu, ki imajo morda kakÅ¡no vezo s tem, vendar naprej od tega nisem priÅ¡el. če ima kdo kaj več podatkov, bom zelo vesel.
 

Enhanced by Zemanta
IGMP Proxy

Mikrotik OS – Osnovna nastavitev

Danes smo skoraj zaključili četrto izdajo Mikrotik treninga za MTCNA certifikat in je verjetno že čas, da del teh predavanj povzamem na tem mestu.

Ker je tega kar nekaj, bom to naredil v nekaj postih, obljubim, da bodo vsaj za ta namen precej bol jpogosti. Začeli bomo z osnovno higieno – konfiguracijo Mikrotika. Tu bomo nastavili naslednje ključne komponente:

  • Požarni zid,
  • uro in časovno cono,
  • beleženje ključnih sistemskih dogodkov na “disk”,
  • dostop iz znanih “administrativnih” omrežij,
  • dostop s trkanjem na porte (znan tudi kot Knock zaščita)

V naslednjih postih bomo pogledali Å¡e:

  • enostavnejÅ¡o impelmentacijo dodeljevanja pasovne Å¡irine uporabnikom s “Simple Queues”,
  • kompleksnejÅ¡o klasifikacijo prometa z “Mangle” mehanizmom,
  • Nastavitev “Queue Tree”, tako da imajo različni protokoli različne prioritete

Jutri bom na zaključku tečaja pokazal tudi eno od implementacij IPv6 požarnega zidu, ki sem jo podal v prejšnjem postu. Glede na to, da je šla zadeva nekoliko naprej, bomo morda ponovili vajo iz IPv6 in bom to tudi objavil.

Lotimo se torej osnovne konfiguracije Mikrotik usmerjevalnika:

Opravilo je zelo enostavno, spodnjo kodo le skopirajte v terminalno okno.

Pomembno: Skripta nastavi osnovno higieno usmerjevalnika, ne nastavi pa naslednjih parametrov:

  • ne nastavi lokalnega naslova,
  • ne nastavi zunanjega IP naslova ali dhcp/pppoe ali kakÅ¡enga drugega klienta
  • ne nastavi NAT prevajanja

Razlog je preprost, obstaja preprosto preveč kombinacij.

Uspešno konfiguriranje!

# najprej uredimo beleženje sistemskih dogodkov

/system logging

# pobrišemo osnovno konfiguracijo

remove 0
remove 1
remove 2
remove 3

# popravimo velikost datotek, kamor beležimo dogodke in dodamo novo – persistentno –
# za firewall dogodke

action set 0 disk-lines=200
action set 1 disk-lines=200
action add target=disk disk-lines=200 name=FirewallHits

# dodamo zanimive dogodke, ki jih želimo beležit

add topics=critical action=disk
add topics=critical action=echo
add topics=error action=disk
add topics=warning action=disk
add topics=info,!firewall  action=memory
add topics=firewall action=FirewallHits

# če imamo kakšen linux s syslog procesom, odkomentiramo tudi spodnje, pa seveda nastavimo pravi IP
# action set 3 remote=10.10.1.1:514 disabled=yes

# nastavimo čas s časovnim strežnikom in časovno cono

/system ntp client
set enabled=yes mode=unicast primary-ntp=193.2.1.117 secondary-ntp=193.2.1.92
/system clock set time-zone-name=”Europe/Ljubljana”

# dodamo svojo interno mrežo na spisek dovoljenih naslovov

/ip firewall address-list
add address=192.168.0.0/24 comment=”interno” disabled=no list=safe

#dodamo pravila v pošarni zid

/ ip firewall filter
add chain=input protocol=tcp dst-port=2030 action=add-src-to-address-list  address-list=knock \
address-list-timeout=15s comment=”” disabled=no
add chain=input protocol=tcp dst-port=4060 src-address-list=knock action= add-src-to-address-list \
address-list=safe  address-list-timeout=15m comment=”” disabled=no

add chain=input connection-state=established action=accept comment=”Accept established connection packets” disabled=no
add chain=input connection-state=related action=accept comment=”Accept related connection packets” disabled=no
add chain=input connection-state=invalid action=drop comment=”Drop invalid packets” disabled=no

add chain=input src-address-list=safe action=accept comment=”Allow access to router from known network” disabled=no

add chain=input protocol=tcp psd=21,3s,3,1 action=drop comment=”detect and drop port scan connections” disabled=no
add chain=input protocol=tcp connection-limit=3,32 src-address-list=black_list action=tarpit \
comment=”suppress DoS attack” disabled=no
add chain=input protocol=tcp connection-limit=10,32 action= add-src-to-address-list \
address-list=black_list  address-list-timeout=1d comment=”detect DoS attack” disabled=no

add chain=input protocol=icmp action=jump jump-target=ICMP comment=”jump to chain ICMP” disabled=no
add chain=input action=jump jump-target=services comment=”jump to chain services” disabled=no
add chain=input dst-address-type=broadcast action=accept comment=”Allow Broadcast Traffic” disabled=no

add chain=input action=log log-prefix=”Filter>” comment=”” disabled=no
add chain=input action=drop comment=”drop everything else” disabled=no

add chain=ICMP protocol=icmp icmp-options=0:0-255 limit=5,5 action=accept comment=”0:0 and limit for 5pac/s” disabled=no
add chain=ICMP protocol=icmp icmp-options=3:3 limit=5,5 action=accept comment=”3:3 and limit for 5pac/s” disabled=no
add chain=ICMP protocol=icmp icmp-options=3:4 limit=5,5 action=accept comment=”3:4 and limit for 5pac/s” disabled=no
add chain=ICMP protocol=icmp icmp-options=8:0-255 limit=5,5 action=accept comment=”8:0 and limit for 5pac/s” disabled=no
add chain=ICMP protocol=icmp icmp-options=11:0-255 limit=5,5 action=accept comment=”11:0 and limit for 5pac/s” disabled=no
add chain=ICMP protocol=icmp action=drop comment=”Drop everything else” disabled=no

add chain=services src-address-list=127.0.0.1 dst-address=127.0.0.1 action=accept comment=”accept localhost” disabled=no
add chain=services protocol=udp dst-port=20561 action=accept comment=”allow MACwinbox ” disabled=no
add chain=services protocol=tcp dst-port=2000 action=accept comment=”Bandwidth server” disabled=no
add chain=services protocol=udp dst-port=5678 action=accept comment=” MT Discovery Protocol” disabled=no
add chain=services protocol=tcp dst-port=161 action=accept comment=”allow SNMP” disabled=yes
add chain=services protocol=tcp dst-port=179 action=accept comment=”Allow BGP” disabled=yes
add chain=services protocol=udp dst-port=5000-5100 action=accept comment=”allow BGP” disabled=yes
add chain=services protocol=udp dst-port=123 action=accept comment=”Allow NTP” disabled=yes
add chain=services protocol=tcp dst-port=1723 action=accept comment=”Allow PPTP” disabled=yes
add chain=services protocol=gre action=accept comment=”allow PPTP and EoIP” disabled=yes
add chain=services protocol=tcp dst-port=53 action=accept comment=”allow DNS request” disabled=no
add chain=services protocol=udp dst-port=53 action=accept comment=”Allow DNS request” disabled=no
add chain=services protocol=udp dst-port=1900 action=accept comment=”UPnP” disabled=yes
add chain=services protocol=tcp dst-port=2828 action=accept comment=”UPnP” disabled=yes
add chain=services protocol=udp dst-port=67-68 action=accept comment=”allow DHCP” disabled=no
add chain=services protocol=tcp dst-port=8080 action=accept comment=”allow Web Proxy” disabled=yes
add chain=services protocol=ipencap action=accept comment=”allow IPIP” disabled=yes
add chain=services protocol=tcp dst-port=443 action=accept comment=”allow https for Hotspot” disabled=yes
add chain=services protocol=tcp dst-port=1080 action=accept comment=”allow Socks for Hotspot” disabled=yes
add chain=services protocol=udp dst-port=500 action=accept comment=”allow IPSec connections” disabled=yes
add chain=services protocol=ipsec-esp action=accept comment=”allow IPSec” disabled=yes
add chain=services protocol=ipsec-ah action=accept comment=”allow IPSec” disabled=yes
add chain=services protocol=udp dst-port=520-521 action=accept comment=”allow RIP” disabled=yes
add chain=services protocol=ospf action=accept comment=”allow OSPF” disabled=no
add chain=services action=return comment=”” disabled=no

blockquote>

Enhanced by Zemanta
IGMP Proxy

Hitrosti internetnih povezav

Trenutno sem V Rigi, Latvija, na nekem predavanju, ki ga prireja Mikrotik, zelo zanimiv proizvajalec strojne in programske opreme za usmerjevalnike, ki na svojo srečo, ne nosi za sabo preveč bremen preteklosti.
Kakor koli, pogovor je danes nanesel na pasovno širino (v nadaljevanju kar hitrost povezave), ki nam jo ponudniki prodajajo. Težava je namreč v tem, da večina ponudnikov prodaja nekaj, česar pravzaprav nima. Kaj bi se recimo zgodilo, če bi se vsi T-2 uporabniki na primer zmenili, da bodo istočasno zagnali uTorrenta na vseh domačih mašinah? Prej bi jih pa priklopili direktno na T-2 switch, da ne bodo s tem sesuli svojih routerjev.

Za tak primer bi moral imeti ponudnik zagotovljeno hitrost na vseh poteh, ki bi bila seštevek vseh hitrosti pri uporabnikih. Tega seveda nihče nima, pravzaprav bi bili že zelo srečni, če bi kdo imel vsaj tisočinko tega.
Ponudniki se sicer večinoma zavarujejo v svojih pogodbah, kjer nekje piÅ¡e, da je hitrost “best effort” ali da je navedena hitrost največ ta in ta. Zelo redki povedo kakÅ¡na pa je minimalna hitrost, ki jo bi lahko uporabnik, če bo imel smolo, pri njih izkusil.
Temu bi se dalo izogniti s cenovnim modelom, ki bi bil sicer nekoliko bolj zapleten, sem pa prepričan, da bi se ga ljudje hitro navadili.
Å lo bi nekako takole: Hitrost povezave ne bi bila fiksna. Določen krajÅ¡i čas Tb bi bila zelo visoka, recimo 100Mbps, temu bi rekli lahko “burst”, hitrosti povezave pa Vb. Po tem času (ob polni hitrosti) bi padla na neko bistveno manjÅ¡o hitrost, recimo ji Vmin. Tam bi ostala dokler bi seÅ¡tevek (integral) trenutnih hitrosti v drsečem obdobju zadnjih Tb enot ne bi padel pod določeno mejo Vcut*Tb. Z drugimi besedami, če bi uporabnik stalno kuril le Vcut internetne povezave, bi imel skozi konstantno hitrost. Vcut bi bila seveda bistveno nižja od sedanjih hitrosti ali Vb hitrosti.
To bi privedlo do bistveno kvalitetnejše izkušnje za uporabnike, ki internet uporabljajo za delo, ter nekoliko slabše izkušnje za tiste, ki ga uporabljajo za pretakanje vsebin, pa tudi za recimo backup na daljavo.
Paketi bi se razlikovali med seboj v glavnem po Tb parametru.
Seveda je tudi v tem modelu možno, da uporabniki vsi na enkrat začno pretakati nekaj velikega in so zato vsi na Vb hitrosti. Zato bi bilo smiselno povedati tudi kakšen je standardni čas, po katerem ob statističnih predpostavkah pridemo do resnične Vb hitrosti. Dodatna komplikacija je pa še ta, da so verjetno pogoji za dostop do lokalnega omrežja drugačni kot recimo pogoji za dostop do mednarodnega. Zato bi bilo verjetno nujno ta različna področja ločit in za vsakega določit neko svojo ceno glede na prej predstavljene parametre. Iz tega pa bi se naredili komercialni paketi, ki bi zajemali vsa področja s smiselnimi parametri za različne tipe strank.

Reblog this post [with Zemanta]