Үйдегі бейнебақылау. Бейнемұрағатты үйдегі тіркелгісіз жүргізу схемасы

Мен көптен бері DVRIP протоколы арқылы камерамен жұмыс істеу сценарийі туралы мақала жазғым келді, бірақ бұл туралы соңғы жаңалықтарға қатысты талқылау Xiaomi мені алдымен үйде бейнебақылауды қалай орнатқаным туралы айтуға, содан кейін сценарийлерге және басқа нәрселерге көшуге итермеледі.

Бізде 2 пакет болды... Сонымен, күте тұрыңыз, бұл бір оқиға емес.
Бізде TP-LINK 2 маршрутизаторы, NAT провайдерінің артында интернетке кіру мүмкіндігі, Партизан бақылау камерасы қандай үлгі екені есімде жоқ (TCP немесе DVRIP арқылы RSTP-ті қолдайтын кез келген IP камерасы) және 4 еуроға арзан VPS бар. сипаттамалары: 2 ядролы процессор 2.4 ГГц, 4 ГБ жедел жады, 300 ГБ HDD, 100 Мбит/с порт. Сондай-ақ, патч сымнан да қымбат тұратын кез келген нәрсені сатып алуды қаламау.

Алғы сөз

Белгілі себептерге байланысты, біз маршрутизатордағы камера порттарын жай ғана бағыттай алмаймыз және өмірден ләззат аламыз, сонымен қатар, мүмкін болса да, біз мұны жасамауымыз керек.

Мен IPv6 туннельдеудің кейбір нұсқалары бар екенін күтпеген жерден естідім, мұнда желідегі барлық құрылғылар сыртқы IPv6 мекенжайын алу үшін бәрін жасауға болады және бұл қауіпсіздікті қалдырса да, бәрін біршама жеңілдетеді. Бұл оқиға туралы және стандартты TP-LINK микробағдарламасындағы бұл ғажайыпты қолдау қандай да бір таңқаларлық. Алдыңғы сөйлемде мен мүлдем бос сөз айтып тұрған болуым мүмкін, сондықтан оған мүлдем назар аудармаңыз.

Бірақ, бақытымызға орай, кез келген маршрутизаторға арналған кез келген дерлік микробағдарламада (негізсіз мәлімдеме) PPTP/L2TP клиенті немесе онымен реттелетін микробағдарламаны орнату мүмкіндігі бар. Осыдан біз қазірдің өзінде қандай да бір мінез-құлық стратегиясын құра аламыз.

Топология

Дене қызуы көтерілген кезде миым мына электр схемасына ұқсас нәрсені тудырды:

және тағы бір шабуыл кезінде мен оны Хабрға жариялау үшін тарттымҮйдегі бейнебақылау. Бейнемұрағатты үйдегі тіркелгісіз жүргізу схемасы

169.178.59.82 мекенжайы кездейсоқ түрде жасалған және тек мысал ретінде қызмет етеді.

Жақсы, немесе сөзбен айтсақ, онда:

  • Маршрутизатор TP-LINK 1 (192.168.1.1), қабырғадан шығып тұратын кабель салынған. Ізденімпаз оқырман бұл мен Интернетке кіретін провайдер кабелі екенін болжайды. Түрлі үй құрылғылары осы маршрутизаторға патч сымы немесе Wi-Fi арқылы қосылған. Бұл желі 192.168.1.0
  • Маршрутизатор TP-LINK 2 (192.168.0.1, 192.168.1.200), оған TP-LINK 1 маршрутизаторынан шығып тұратын кабель салынған.Осы кабельдің арқасында TP-LINK 2 маршрутизаторы, сондай-ақ оған қосылған құрылғылар да Интернетке қол жеткізе алады. Бұл маршрутизатор 10.0.5.100 серверіне PPTP қосылымымен (169.178.59.82) конфигурацияланған. IP Camera 192.168.0.200 де осы маршрутизаторға қосылған және келесі порттар қайта жіберіледі
    • 192.168.0.200:80 -> 49151 (webmord)
    • 192.168.0.200:34567 -> 49152 (DVRIP)
    • 192.168.0.200:554 -> 49153 (RTSP)
  • Сервер (169.178.59.82, 10.0.5.1).

Осылайша, 192.168.1.0 желісіндегі барлық үй құрылғылары TP-LINK 2 арқылы 192.168.1.200 арқылы камераға қол жеткізе алады, ал қалғандарының барлығы pptp, shadowsocks немесе socks5 арқылы қосылып, 10.0.5.100 нұсқасына қол жеткізе алады.

реттеу

Бірінші қадам - ​​жоғарыдағы суреттегі диаграммаға сәйкес барлық құрылғыларды қосу.

  • TP-LINK 1 маршрутизаторын орнату TP-LINK 192.168.1.200 үшін 2 мекенжайын сақтаумен байланысты. 192.168.1.0 желісінен кіру үшін тіркелген мекенжай қажет болса, қосымша. Қаласаңыз, ол үшін 10-20 Мбит резервтеуге болады (бір 10 бейне ағыны үшін 1080 жеткілікті).
  • Серверде pptpd орнату және конфигурациялау қажет. Менде Ubuntu 18.04 бар және қадамдар шамамен келесідей болды (донор мысал болды blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck):
    • Қажетті пакеттерді орнатыңыз:
      sudo apt install pptpd iptables-persistent
    • Біз оны келесі пішінге келтіреміз

      /etc/pptpd.conf

      option /etc/ppp/pptpd-options
      bcrelay eth0 # Интерфейс, через который ваш сервер ходит в интернеты
      logwtmp
      localip 10.0.5.1
      remoteip 10.0.5.100-200

    • Біз өңдейміз

      /etc/ppp/pptpd-опциялар

      novj
      novjccomp
      nologfd
      
      name pptpd
      refuse-pap
      refuse-chap
      refuse-mschap
      require-mschap-v2
      #require-mppe-128 # Можно раскомментировать, но мой TP-LINK c ним не дружит
      
      ms-dns 8.8.8.8
      ms-dns 1.1.1.1
      ms-dns  77.88.8.8
      ms-dns 8.8.4.4
      ms-dns 1.0.0.1
      ms-dns  77.88.8.1
      
      proxyarp
      nodefaultroute
      lock
      nobsdcomp
      
    • Тіркелгі деректерін қосу

      /etc/ppp/chap-secrets

      # Secrets for authentication using CHAP
      # client	server	secret			IP addresses
      username pptpd password *
    • Қосу

      /etc/sysctl.conf

      net.ipv4.ip_forward=1

      және жүйені қайта жүктеңіз

      sudo sysctl -p
    • pptpd қайта жүктеп, оны іске қосуға қосыңыз
      sudo service pptpd restart
      sudo systemctl enable pptpd
    • Біз өңдейміз

      iptables

      sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
      sudo iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
      sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      sudo iptables --table nat --append POSTROUTING --out-interface ppp+ -j MASQUERADE
      sudo iptables -I INPUT -s 10.0.5.0/24 -i ppp+ -j ACCEPT
      sudo iptables --append FORWARD --in-interface eth0 -j ACCEPT

      Және сақтаңыз

      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • TP-LINK орнату 2
    • Біз камерамыз үшін 192.168.0.200 мекенжайын сақтаймыз:

      DHCP -> Мекенжайды брондау — MAC мекенжайы — MAC камерасы, DHCP -> DHCP клиенттерінің тізімі ішінде көруге болады
      — Сақталған IP мекенжайы — 192.168.0.200

    • Қайта жіберу порттары:
      Қайта бағыттау -> Виртуалды серверлер — Қызметтік порт: 49151, Ішкі порт: 80, IP мекенжайы: 192.168.0.200, Протокол: TCP
      — Қызметтік порт: 49152, Ішкі порт: 34567, IP мекенжайы: 192.168.0.200, Протокол: TCP
      — Қызметтік порт: 49153, Ішкі порт: 554, IP мекенжайы: 192.168.0.200, Протокол: TCP
    • VPN қосылымын орнату:

      Желі -> WAN — WAN қосылым түрі: PPTP
      — Пайдаланушы аты: пайдаланушы аты (/etc/ppp/chap-secrets қараңыз)
      — Құпия сөз: құпия сөз (/etc/ppp/chap-secrets бөлімін қараңыз)
      — Құпия сөзді растаңыз: құпия сөз (/etc/ppp/chap-secrets бөлімін қараңыз)
      - Динамикалық IP
      — IP мекенжайы/Сервер атауы: 169.178.59.82 (әрине, сіздің серверіңіздің сыртқы IP мекенжайы)
      — Қосылу режимі: автоматты түрде қосылу

    • Қажет болса, біз маршрутизатордың веб-бетіне қашықтан қол жеткізуге рұқсат береміз
      Безопасность -> Удаленное управление - Веб-басқару порты: 80
      — Қашықтан басқару IP мекенжайы: 255.255.255.255
    • TP-LINK 2 маршрутизаторын қайта жүктеңіз

PPTP орнына сіз L2TP пайдалана аласыз немесе егер сізде реттелетін микробағдарлама болса, жүрегіңіздің қалауынша. Мен PPTP таңдадым, өйткені бұл схема қауіпсіздік мақсатында салынбаған және менің тәжірибемде pptpd ең жылдам VPN сервері болып табылады. Оның үстіне, мен пайдаланушы микробағдарламасын орнатқым келмеді, яғни PPTP және L2TP арасында таңдау керек болды.

Егер мен нұсқаулықтың ешбір жерінде қателеспесем және сіз бәрін дұрыс орындап, сәттілікке ие болсаңыз, онда осы манипуляциялардан кейін

  • Біріншіден
    ifconfig

    интерфейсін көрсетеді ppp0 inet 10.0.5.1 netmask 255.255.255.255 destination 10.0.5.100,

  • екіншіден, 10.0.5.100 пинг керек,
  • және үшіншіден
    ffprobe -rtsp_transport tcp "rtsp://10.0.5.100:49153/user=admin&password=password&channel=1&stream=0.sdp"

    Ағынды анықтау керек.
    Rtsp портын, логин мен құпия сөзді камераңыздың құжаттамасынан таба аласыз

қорытынды

Негізінде, бұл жаман емес, RTSP-ке қол жетімділік бар, егер меншікті бағдарламалық қамтамасыз ету DVRIP арқылы жұмыс істесе, оны пайдалануға болады. Сіз ffmpeg көмегімен ағынды сақтай аласыз, бейнені 2-3-5 есе жылдамдата аласыз, оны сағаттық бөліктерге бөле аласыз, барлығын Google Drive немесе әлеуметтік желілерге жүктей аласыз және тағы басқалар.

Маған TCP арқылы RTSP ұнамады, өйткені ол өте тұрақты жұмыс істемеді, бірақ UDP арқылы, біз порттар ауқымын жібере алмайтын (немесе жасай аламыз, бірақ мен мұны қаламаймын) себептерге байланысты ол арқылы RTSP бейне ағынын итереді, ол жұмыс істемейді, мен DVRIP арқылы TCP арқылы ағынды сүйрейтін сценарий жаздым. Ол әлдеқайда тұрақты болып шықты.

Тәсілдің артықшылықтарының бірі - біз TP-LINK 2 маршрутизаторының орнына 4G ысқырығын қолдайтын нәрсені ала аламыз, оның барлығын UPS камерасымен бірге қуаттай аламыз (бұл кездегіге қарағанда әлдеқайда аз сыйымдылықты қажет ететіні сөзсіз) диктофонды пайдалану), сонымен қатар жазба дерлік серверге жіберіледі, сондықтан зиянкестер сіздің сайтыңызға енсе де, олар бейнені басып ала алмайды. Жалпы, маневр үшін орын бар және бәрі тек сіздің қиялыңызға байланысты.

PS: Мен көптеген өндірушілер дайын бұлттық шешімдерді ұсынатынын білемін, бірақ бағасы бойынша олар менің VPS-тен екі есе қымбат (оның ішінде менде 3 бар, сондықтан мен бір жерде ресурстарды бөлуім керек), әлдеқайда аз бақылауды қамтамасыз етеді, сонымен қатар сапасы өте қанағаттанарлық емес.

Ақпарат көзі: www.habr.com

пікір қалдыру