Kodune videovalve. Videoarhiivi pidamise skeem ilma koduregistripidajata
Olen juba pikka aega tahtnud kirjutada artiklit DVRIP-protokolli kaudu kaameraga töötamise skriptist, kuid arutelu on seotud hiljutiste uudistega Xiaomi ajendas mind esmalt rääkima sellest, kuidas ma kodus videovalve seadistasin, ja seejärel liikuma edasi stsenaariumide ja muude asjade juurde.
Meil oli 2 pakki... Nii et oota, see pole sama lugu.
Meil oli 2 ruuterit TP-LINKist, Interneti-juurdepääs pakkuja NAT taga, Partizan valvekaamera, ma ei mäleta, mis mudelit (sobib iga IP-kaamera, mis toetab RSTP-d üle TCP või DVRIP) ja odav VPS 4 euro eest koos omadused: 2-tuumaline protsessor 2.4 GHz, 4 GB muutmälu, 300 GB HDD, 100 Mbit/s port. Ja ka soovimatus osta midagi lisaks sellele, mis maksaks rohkem kui plaastri juhe.
Eessõna
Arusaadavatel põhjustel ei saa me lihtsalt ruuteri kaameraporte edasi saata ja elu nautida, pealegi, isegi kui saaksime, ei tohiks me seda teha.
Täiesti ootamatult kuulsin, et IPv6 tunneldamisega on mingid võimalused, kus tundub, et kõik saab teha nii, et kõik võrgus olevad seadmed saaksid välise IPv6 aadressi ja see lihtsustaks asja veidi, kuigi jätab siiski turvalisuse selle sündmuse kohta ja selle ime tugi standardses TP-LINKi püsivaras on kuidagi kummaline. Kuigi on võimalus, et eelmises lauses räägin täielikku jama, siis ärge pöörake sellele üldse tähelepanu.
Kuid meie õnneks sisaldab peaaegu iga ruuteri püsivara (tegelikult üsna alusetu väide) PPTP/L2TP klienti või võimalust installida sellega kohandatud püsivara. Ja sellest saame juba mingisuguse käitumisstrateegia üles ehitada.
Topoloogia
Palavikuhoos sünnitas mu aju umbes sellise juhtmestiku:
ja teise rünnaku ajal joonistasin selle postitamiseks Habrile
Aadress 169.178.59.82 genereeriti juhuslikult ja see on ainult näide
Noh, või kui sõnadega, siis:
Ruuter TP-LINK 1 (192.168.1.1), millesse on sisestatud seinast välja torkav kaabel. Uudishimulik lugeja arvab, et see on teenusepakkuja kaabel, mille kaudu ma Internetti pääsen. Erinevad koduseadmed on selle ruuteriga ühendatud plaastrijuhtme või WiFi kaudu. See on võrk 192.168.1.0
Ruuter TP-LINK 2 (192.168.0.1, 192.168.1.200), millesse on sisestatud kaabel, mis torkab välja ruuterist TP-LINK 1. Tänu sellele kaablile on TP-LINK 2 ruuteril ja ka sellega ühendatud seadmetel juurdepääs internetile. Sellel ruuteril on konfigureeritud PPTP-ühendus (10.0.5.100) serveriga 169.178.59.82. Selle ruuteriga on ühendatud ka IP-kaamera 192.168.0.200 ja järgmised pordid edastatakse
192.168.0.200:80 -> 49151 (veebimoodul)
192.168.0.200:34567 -> 49152 (DVRIP)
192.168.0.200:554 -> 49153 (RTSP)
Server (169.178.59.82, 10.0.5.1), millega on ühendatud ruuter TP-LINK 2. Serveris töötab pptpd, shadowsocks ja 3proxy, mille kaudu pääsete ligi 10.0.5.0 võrgus olevatele seadmetele ja pääsete seega ligi TP-LINK 2 ruuterile.
Seega on kõigil koduseadmetel 192.168.1.0 võrgus juurdepääs kaamerale TP-LINK 2 kaudu aadressil 192.168.1.200 ja kõik teised saavad ühenduda pptp, shadowsocks või sokid5 kaudu ja pääsevad ligi 10.0.5.100.
reguleerimine
Esimene samm on ühendada kõik seadmed vastavalt ülaltoodud joonisel olevale skeemile.
TP-LINK 1 ruuteri seadistamine taandub aadressi 192.168.1.200 reserveerimisele TP-LINK 2 jaoks. Valikuline, kui vajate 192.168.1.0 võrgust juurdepääsuks fikseeritud aadressi. Ja soovi korral saab sellele reserveerida 10-20 Mbit (ühe 10 videovoo jaoks piisab 1080-st).
PPTP asemel võite kasutada L2TP-d või kui teil on kohandatud püsivara, siis mida iganes teie süda soovib. Valisin PPTP, kuna seda skeemi ei ehitatud turvakaalutlustel ja pptpd on minu kogemuse kohaselt kiireim VPN-server. Lisaks ei tahtnud ma tõesti kohandatud püsivara installida, mis tähendas, et pidin valima PPTP ja L2TP vahel.
Kui ma ei teinud juhendis kuskil viga ja tegite kõik õigesti ja teil vedas, siis pärast kõiki neid manipuleerimisi
esiteks
ifconfig
näitab liidest ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,
Peaks voo tuvastama. Rtsp-pordi, sisselogimise ja parooli leiate oma kaamera dokumentatsioonist
Järeldus
Põhimõtteliselt pole see halb, juurdepääs RTSP-le on olemas, kui patenteeritud tarkvara töötab DVRIP-i kaudu, saate seda kasutada. Saate salvestada voo ffmpeg abil, kiirendada videot 2-3-5 korda, jagada tunnipikkusteks tükkideks, laadida kõik Google Drive'i või sotsiaalvõrgustikesse ja palju-palju muud.
Mulle ei meeldinud RTSP üle TCP, kuna see ei töötanud väga stabiilselt, vaid üle UDP, põhjustel, et me ei saa (või saame, aga ma ei taha seda teha) pordivahemikku edasi saata. mille kaudu RTSP videovoogu surub, see ei tööta, kirjutasin skripti, mis lohistab voo üle TCP DVRIP-i kaudu. See osutus stabiilsemaks.
Selle lähenemisviisi üks eeliseid on see, et saame TP-LINK 2 ruuteri asemel võtta midagi, mis toetab 4G vilet, anda selle kõigele koos UPS-i kaameraga (mis vajab kahtlemata palju väiksemat mahtu kui siis, kui salvestit kasutades), edastatakse salvestus peaaegu koheselt serverisse, nii et isegi kui sissetungijad teie saidile tungivad, ei saa nad videot kinni võtta. Üldiselt on manööverdamisruumi ja kõik sõltub ainult teie kujutlusvõimest.
PS: Ma tean, et paljud tootjad pakuvad valmis pilvelahendusi, kuid hinnalt on need pea kaks korda kallimad kui minu VPS (mida mul on juba 3, seega pean kuskile ressursse eraldama), annavad palju vähem kontrolli ja ka ei ole väga rahuldav kvaliteet.