Үйдөгү видео көзөмөл. Үй жазгычсыз видео архивди жүргүзүү схемасы

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

Бизде 2 пакет бар болчу... Ошентип, күтө тургула, бул бир эле окуя эмес.
Бизде TP-LINKден 2 роутер, NAT провайдеринин артында Интернетке кирүү, Партизан байкоо камерасы, кайсы модели эсимде жок (TCP же DVRIP аркылуу RSTPди колдогон IP камера иштейт) жана 4 еврого арзан VPS бар болчу. мүнөздөмөлөрү: 2 негизги CPU 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 Камера 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), ага TP-LINK 2 роутери туташкан.Сервер pptpd, shadowsocks жана 3proxy иштейт, алар аркылуу сиз 10.0.5.0 тармагындагы түзмөктөргө кире аласыз жана ошентип TP-LINK 2 роутерине кире аласыз.

Ошентип, 192.168.1.0 тармагындагы бардык үй түзмөктөрү 2 дарегиндеги TP-LINK 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-options

      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 ping керек,
  • жана үчүнчүдөн
    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 бар, ошондуктан мен бир жерде ресурстарды бөлүштүрүшүм керек), контролду азыраак камсыз кылат, ошондой эле сапаты абдан канааттандырарлык эмес.

Source: www.habr.com

Комментарий кошуу