Pendant un certain temps, j'ai voulu écrire un article sur un script pour travailler avec une caméra via le protocole DVRIP, mais la discussion sur les derniÚres nouvelles à propos de
Xiaomi m'a incité à parler d'abord de la façon dont j'ai organisé la vidéosurveillance à la maison, puis à passer à des scripts et plus encore.
Nous avions 2 paquets ... Alors, arrĂȘtez, ce n'est pas l'histoire.
Nous avions 2 routeurs TP-LINK, un accĂšs Internet pour le fournisseur NAT, une camĂ©ra de surveillance Partizan, je ne me souviens pas quel modĂšle (toute camĂ©ra IP prenant en charge RTSP sur TCP ou DVRIP fonctionnera) et un VPS bon marchĂ© pour 4 euros avec des caractĂ©ristiques: 2 cĆurs Processeur 2,4 GHz, 4 Go de RAM, disque dur de 300 Go, port 100 Mbit / s. Et aussi la rĂ©ticence Ă acheter autre chose qui coĂ»terait plus cher qu'un cordon de brassage.
Préface
Pour des raisons Ă©videntes, nous ne pouvons pas simplement transfĂ©rer les ports de la camĂ©ra sur le routeur et profiter de la vie.En outre, mĂȘme si nous le pouvions, nous ne devrions pas le faire.
De mon oreille, j'ai entendu dire qu'il existe certaines options avec le tunneling IPv6, oĂč il semble que vous pouvez tout faire pour que tous les appareils du rĂ©seau reçoivent une adresse IPv6 externe, et cela simplifierait un peu les choses, tout en laissant la sĂ©curitĂ© de cet Ă©vĂ©nement en question , et la prise en charge du micrologiciel TP-LINK standard pour ce miracle est quelque peu Ă©trange. Bien qu'il soit probable que dans la phrase prĂ©cĂ©dente je parle de bĂȘtises, alors n'y prĂȘtez aucune attention.
Mais, heureusement, presque n'importe quel firmware pour n'importe quel routeur (une déclaration assez infondée en fait) contient un client PPTP / L2TP ou la possibilité d'installer un firmware personnalisé avec sa présence. Et à partir de cela, nous pouvons déjà construire une sorte de stratégie comportementale.
Topologie
Dans une crise de fiÚvre, mon cerveau a donné naissance à quelque chose comme ce schéma de connexion,
et lors d'une autre attaque, il a dessiné pour mettre sur un magazine geek L'adresse 169.178.59.82 est générée aléatoirement et sert uniquement d'exemple.Eh bien, ou si en mots, alors:
- Routeur TP-LINK 1 (192.168.1.1) , dans lequel un cùble est inséré, qui dépasse du mur. Un lecteur curieux devinera qu'il s'agit d'un cùble fournisseur via lequel j'ai accÚs à Internet. Divers appareils domestiques sont connectés à ce routeur via un cordon de raccordement ou une connexion Wi-Fi. Ceci est un réseau 192.168.1.0
- Le routeur TP-LINK 2 (192.168.0.1, 192.168.1.200) , dans lequel le cùble est inséré, qui dépasse du routeur TP-LINK 1. Grùce à ce cùble, le routeur TP-LINK 2, ainsi que les appareils qui y sont connectés, ont également accÚs à Internet. Sur ce routeur, la connexion PPTP (10.0.5.100) au serveur 169.178.59.82 est configurée. La caméra IP 192.168.0.200 est également connectée à ce routeur et les ports suivants sont redirigés
- 192.168.0.200:80 -> 49151 (webmord)
- 192.168.0.200 â 4567 -> 49152 (DVRIP)
- 192.168.0.200/1054 -> 49153 (RTSP)
- Serveur (169.178.59.82, 10.0.5.1) , auquel le routeur TP-LINK 2 est connecté. Pptpd, shadowsocks et 3proxy tournent sur le serveur, à travers lequel vous pouvez accéder aux périphériques réseau 10.0.5.0 et ainsi avoir accÚs au routeur TP-LINK 2 .
Ainsi, tous les appareils domestiques du réseau 192.168.1.0 ont accÚs à la caméra via TP-LINK 2 à 192.168.1.200, et tous les autres peuvent se connecter via pptp, shadowsocks ou socks5 et accéder à 10.0.5.100.
Personnalisation
La premiÚre étape consiste à connecter tous les appareils selon le schéma de la figure ci-dessus.
- La configuration du routeur TP-LINK 1 revient Ă rĂ©server l'adresse 192.168.1.200 pour TP-LINK 2. En option, si vous avez besoin d'une adresse fixe pour accĂ©der au rĂ©seau 192.168.1.0. Et, si vous le souhaitez, vous pouvez lui rĂ©server 10-20 Mbit (10 est suffisant pour un flux vidĂ©o en 1080 avec une tĂȘte).
- Vous devez installer et configurer pptpd sur le serveur. J'ai Ubuntu 18.04 et les actions étaient approximativement les suivantes (l'exemple était blog.xenot.ru/bystraya-nastrojka-vpn-servera-pptp-na-ubuntu-server-18-04-lts.fuck ):
- Installez les packages nécessaires:
sudo apt install pptpd iptables-persistent
- Nous apportons au formulaire suivant
/etc/pptpd.conf option /etc/ppp/pptpd-options bcrelay eth0 # , logwtmp localip 10.0.5.1 remoteip 10.0.5.100-200
- Correct
/ 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
- Ajouter des informations d'identification Ă
/ etc / ppp / chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses username pptpd password *
- Ajouter Ă
et recharger sysctl
sudo sysctl -p
- Redémarrez pptpd et ajoutez-le au démarrage
sudo service pptpd restart sudo systemctl enable pptpd
- Correct
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
Et économisez
sudo netfilter-persistent save sudo netfilter-persistent reload
- Configurer TP-LINK 2
- Nous réservons l'adresse 192.168.0.200 pour notre caméra:
DHCP -> RĂ©servation d'adresse- Adresse MAC - CamĂ©ras MAC, peuvent ĂȘtre consultĂ©es dans DHCP -> Liste des clients DHCP
- Adresse IP réservée - 192.168.0.200
- Nous expédions les ports:
Transfert -> Serveurs virtuels- Port de service: 49151, Port interne: 80, Adresse IP: 192.168.0.200, Protocole: TCP
- Port de service: 49152, Port interne: 34567, Adresse IP: 192.168.0.200, Protocole: TCP
- Port de service: 49153, Port interne: 554, Adresse IP: 192.168.0.200, Protocole: TCP
- Configurer la connexion VPN:
Réseau -> WAN- Type de connexion WAN: PPTP
- Nom d'utilisateur: nom d'utilisateur (voir / etc / ppp / chap-secrets)
- Mot de passe: mot de passe (voir / etc / ppp / chap-secrets)
- Confirmer le mot de passe: mot de passe (voir / etc / ppp / chap-secrets)
- IP dynamique
- Adresse IP / Nom du serveur: 169.178.59.82 (évidemment l'IP externe de votre serveur)
- Mode de connexion: connectez-vous automatiquement
- Autoriser éventuellement l'accÚs à distance au webmord du routeur
Sécurité -> Gestion à distance- Port de gestion Web: 80
- Adresse IP de la télécommande: 255.255.255.255
- Redémarrez le routeur TP-LINK 2
Au lieu de PPTP, vous pouvez utiliser L2TP ou, si vous avez un firmware personnalisĂ©, alors tout ce que votre cĆur dĂ©sire. J'ai choisi PPTP, car ce schĂ©ma n'a pas Ă©tĂ© construit pour des raisons de sĂ©curitĂ©, mais pptpd d'aprĂšs mon expĂ©rience est le serveur VPN le plus rapide. De plus, je ne voulais vraiment pas installer de firmware personnalisĂ©, ce qui signifie que je devais choisir entre PPTP et L2TP.Si je n'ai commis aucune erreur dans le guide, et que vous avez tout fait correctement et que vous avez eu de la chance, aprĂšs toutes ces manipulations
Conclusion
En principe, c'est déjà pas mal, il y a accÚs au RTSP, si le logiciel propriétaire fonctionne via DVRIP, alors vous pouvez l'utiliser. Vous pouvez enregistrer le flux à l'aide de ffmpeg, accélérer la vidéo 2-3-5 fois, la diviser en morceaux à l'heure, télécharger le tout sur googledisk ou sur les réseaux sociaux et bien plus encore.
Je n'aimais pas RTSP sur TCP, car cela ne fonctionnait pas trĂšs stable, mais sur UDP, pour la raison que nous ne pouvons pas (ou pouvons, mais je ne veux pas le faire) transmettre la plage de ports sur lesquels RTSP enverra le flux vidĂ©o , Je ne peux pas l'utiliser, j'ai Ă©crit un script qui fait glisser un flux sur TCP via DVRIP. Il s'est avĂ©rĂ© ĂȘtre plus stable.
Parmi les avantages de l'approche - nous pouvons prendre quelque chose qui prend en charge le sifflet 4G Ă la place du routeur TP-LINK 2, alimenter le tout avec la camĂ©ra de l'onduleur (qui sera sans aucun doute beaucoup moins volumineux que lors de l'utilisation de l'enregistreur), en outre, l'enregistrement est transmis presque instantanĂ©ment au serveur, donc mĂȘme si des intrus vous pĂ©nĂštrent, ils ne pourront pas supprimer la vidĂ©o. En gĂ©nĂ©ral, il y a une marge de manĆuvre et tout dĂ©pend de votre imagination.
PS: Je sais que de nombreux fabricants proposent des solutions cloud prĂȘtes Ă l'emploi, mais elles coĂ»tent prĂšs du double du prix de mon armĂ©e de l'air (dont j'en ai dĂ©jĂ 3, donc j'ai besoin de mettre des ressources quelque part), offrent beaucoup moins de contrĂŽle, et aussi qualitĂ© trĂšs satisfaisante.