نظارت تصویری در منزل. طرح نگهداری آرشیو ویدیویی بدون ثبت نام خانگی

مدت زیادی است که می خواهم مقاله ای در مورد اسکریپتی برای کار با دوربین از طریق پروتکل DVRIP بنویسم، اما بحث مربوط به اخبار اخیر در مورد Xiaomi باعث شد ابتدا در مورد نحوه تنظیم نظارت تصویری در خانه صحبت کنم و سپس به سراغ فیلمنامه ها و چیزهای دیگر بروم.

ما 2 بسته داشتیم... پس صبر کنید، این داستان یکسان نیست.
ما 2 روتر از TP-LINK داشتیم، دسترسی به اینترنت پشت ارائه دهنده NAT، یک دوربین مداربسته پارتیزان که یادم نیست چه مدلی داشتیم (هر دوربین IP که از RSTP از طریق TCP یا DVRIP پشتیبانی می کند) و یک VPS ارزان 4 یورو با مشخصات: پردازنده 2 هسته ای 2.4 گیگاهرتز، 4 گیگابایت رم، 300 گیگابایت هارد دیسک، پورت 100 مگابیت بر ثانیه. و همچنین عدم تمایل به خرید هر چیزی علاوه بر این که هزینه ای بیش از پچ کورد داشته باشد.

پیش گفتار

به دلایل واضح، ما نمی توانیم فقط پورت های دوربین را روی روتر فوروارد کنیم و از زندگی لذت ببریم، علاوه بر این، حتی اگر بتوانیم، نباید این کار را انجام دهیم.

من کاملاً شنیده ام که گزینه هایی با تونل IPv6 وجود دارد که به نظر می رسد همه چیز را می توان انجام داد تا همه دستگاه های موجود در شبکه یک آدرس IPv6 خارجی دریافت کنند و این امر کمی کار را ساده می کند ، اگرچه هنوز امنیت را رها می کند. این رویداد مورد بحث است و پشتیبانی از این معجزه در سیستم عامل استاندارد TP-LINK به نوعی عجیب است. اگرچه احتمال اینکه در جمله قبل حرفم کاملا مزخرف باشد وجود دارد، پس اصلا به آن توجه نکنید.

اما، خوشبختانه برای ما، تقریباً هر سیستم‌افزاری برای هر روتر (یک عبارت نسبتاً بی‌اساس در واقع) حاوی یک کلاینت PPTP/L2TP یا امکان نصب میان‌افزار سفارشی با آن است. و از این طریق می‌توانیم نوعی استراتژی رفتاری بسازیم.

توپولوژی

در تب، مغز من چیزی شبیه به این نمودار سیم کشی به دنیا آورد:

و طی یک حمله دیگر آن را برای پست در Habr ترسیم کردمنظارت تصویری در منزل. طرح نگهداری آرشیو ویدیویی بدون ثبت نام خانگی

آدرس 169.178.59.82 به صورت تصادفی ایجاد شده است و فقط به عنوان یک نمونه عمل می کند.

خوب، یا اگر در کلمات، پس:

  • روتر TP-LINK 1 (192.168.1.1)، که در آن کابلی که از دیوار می چسبد وارد شده است. یک خواننده کنجکاو حدس می‌زند که این کابل ارائه‌دهنده‌ای است که از طریق آن به اینترنت دسترسی دارم. دستگاه های مختلف خانگی از طریق پچ کورد یا وای فای به این روتر متصل می شوند. این شبکه است 192.168.1.0
  • روتر TP-LINK 2 (192.168.0.1، 192.168.1.200)، که کابلی وارد شده است که از روتر TP-LINK 1 خارج می شود.به لطف این کابل روتر TP-LINK 2 و همچنین دستگاه های متصل به آن به اینترنت نیز دسترسی دارند. این روتر با اتصال PPTP (10.0.5.100) به سرور 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)، که روتر TP-LINK 2 به آن متصل است. سرور pptpd، shadowsocks و 3proxy را اجرا می کند که از طریق آنها می توانید به دستگاه های موجود در شبکه 10.0.5.0 دسترسی داشته باشید و در نتیجه به روتر TP-LINK 2 دسترسی داشته باشید.

بنابراین، تمام دستگاه های خانگی در شبکه 192.168.1.0 از طریق TP-LINK 2 در 192.168.1.200 به دوربین دسترسی دارند و سایر دستگاه ها می توانند از طریق pptp، shadowsocks یا socks5 وصل شوند و به 10.0.5.100 دسترسی داشته باشند.

تنظیم

اولین قدم این است که همه دستگاه ها را مطابق نمودار شکل بالا وصل کنید.

  • راه‌اندازی روتر TP-LINK 1 به رزرو آدرس 192.168.1.200 برای TP-LINK 2 ختم می‌شود. اگر به یک آدرس ثابت برای دسترسی از شبکه 192.168.1.0 نیاز دارید، اختیاری است. و در صورت تمایل می توانید 10-20 مگابیت برای آن رزرو کنید (10 مگابیت برای یک پخش ویدئوی 1080 کافی است).
  • شما باید pptpd را روی سرور نصب و پیکربندی کنید. من اوبونتو 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

      و sysctl را دوباره بارگیری کنید

      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/نام سرور: 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 یا شبکه های اجتماعی آپلود کنید و خیلی چیزهای دیگر.

من RTSP را روی TCP دوست نداشتم، زیرا خیلی پایدار کار نمی کرد، اما روی UDP، به دلایلی که نمی توانیم (یا می توانیم، اما نمی خواهم آن را انجام دهیم) محدوده پورت ها را فوروارد کنیم. که از طریق آن RTSP جریان ویدیو را فشار می دهد، کار نمی کند، من یک اسکریپت نوشتم که یک جریان را از طریق DVRIP روی TCP می کشد. معلوم شد که پایدارتر است.

یکی از مزایای روش این است که می‌توانیم چیزی را که از سوت 2G پشتیبانی می‌کند به جای روتر TP-LINK 4 استفاده کنیم و همه آن را همراه با دوربین از یک UPS (که بدون شک به یک دوربین بسیار کم‌تر نسبت به زمانی نیاز دارد) روشن کنیم. با استفاده از ضبط کننده)، علاوه بر این، ضبط تقریباً بلافاصله به سرور منتقل می شود، بنابراین حتی اگر مزاحمان به سایت شما نفوذ کنند، نمی توانند ویدیو را ضبط کنند. به طور کلی، جا برای مانور وجود دارد و همه چیز فقط به تخیل شما بستگی دارد.

PS: من می دانم که بسیاری از تولید کنندگان راه حل های ابری آماده ارائه می دهند، اما از نظر قیمت تقریباً دو برابر گران تر از VPS من هستند (که قبلاً 3 مورد از آن را دارم، بنابراین باید منابع را در جایی تخصیص دهم)، کنترل بسیار کمتری را ارائه می دهند و همچنین کیفیت خیلی رضایت بخش نیست

منبع: www.habr.com

اضافه کردن نظر