Autoriser l'accès aux caméras P2P via squid/iptable

Tags: #<Tag:0x00007f63f298e150> #<Tag:0x00007f63f298e088>

Bonjour,
Dans l’entreprise nous avons un serveur Debian avec un proxy squid, installé sur la même machine. Par défaut, squid bloque les connexions P2P, ça nous arrangeait.
Aujourd’hui, on a des caméras de surveillances qui entourent le bâtiment et tout le terrain, mais impossible de s’y connecter via l’internet de l’entreprise. Nous avons également des caméras dans un autre lieu à des centaines de KM, là également, on peut pas y accéder. Le responsable passe par une connexion 4G personnelle, ce n’est pas évident.

J’ai pensé que je pouvais débloquer la situation. J’ai utilisé un logiciel spécifique sur un laptop avec une connexion 4G, afin de déterminer l’adresse IP et le port sur lequel il se connecte au DVR.

Conclusion, le protocole est UDP, et le mode de connexion est P2P, l’adresse IP est celle du modem WAN.

J’ai pensé que les ports étaient bloqués, je les ai donc débloqué avec ceci:

iptables -A INPUT -p udp -m udp --dport ICI_LE_PORT -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport ICI_LE_PORT -j ACCEPT

Mais ça n’a pas marché. J’ai pensé qu’on pouvait pas se connecter aux caméra de l’entreprise avec la connexion de l’entreprise, puisque c’est la même. Le DVR diffuse en utilisant la bande passante montante de l’entreprise, alors qu’on essaye de visionner avec cette même connexion. J’ai alors testé sur les caméras du second lieu, qui se trouve loin, dans un bureau avec une autre connexion internet. Là aussi, impossible de s’y connecter.

J’ai fait des recherches, on dit qu’il suffit de débloquer les ports sur squid, cependant, les ports ne sont pas bloqués, nous avons cette ligne là dans le fichier de configuration:

acl Safe_ports port 1025-65535 # unregistered ports

et un peu plus bas:

http_access deny !Safe_ports

c’est censé dire, bloque tout, sauf les ports déclarés comme « safe »

Par ailleurs, on dit aussi que squid ne gère pas le protocle UDP.

En conclusion, je ne comprends pas d’où vient le blocage par défaut de squid ou de je ne sais quoi, afin de le débloquer, pour l’adresse IP locale du responsable de sécurité.

Une idée? merci.
PS: le port UDP de connexion change chaque jour :confused:

squid est un proxy HTTP, donc TCP. Il n’y a pas de HTTP UDP.
C’est donc étonnant que tu passes par le squid, à moins que tous les flux externe n’y passe ce qui n’est pas une bonne config.
essaye de voir coté parefeu pour faire une exception.

Ça m’étonnerait. Squid est un proxy HTTP, il n’est pas concerné par le P2P. Ou alors on peut dire qu’un serveur HTTP bloque le DNS puisque, quand je lui envoie des requêtes DNS, il ne répond pas…

Trêve de plaisanterie. Sans connaître la topologie du réseau entre les différentes machines, on neut peut rien te dire d’utile.

Quel logiciel ? Qui est « il » ? Qu’est-ce que le « DVR » ?

Quel modem WAN ?

Les ports de quoi ?

Sur quelle machine ?
Ces règles ne débloquent rien, elles ne font qu’accepter des paquets qui les atteignent.

Bonsoir,

Honnêtement, si t’as fait une blague, je ne l’ai pas comprise. La topologie est simple. Des ordinateurs, qui passent par un switch, qui (le switch) est relié au serveur Debian, qui (le serveur Debian) est relié au modem internet. Jusqu’ici rien d’extraordinaire, c’est basique comme installation. Squid est installé sur ce même Debian.

Le logiciel en soit n’est pas important, (NetLimiter), ce qui importe c’est ce qu’il m’a permis de faire. Je l’ai installé sur l’ordinateur portable (sous windows), il (NetLimiter) liste les processus connectés à internet, et nous affiche l’adresse IP distante, le port et le protocole.
Les caméras ne sont pas des caméras IP, on ne peut pas s’y connecter directement. C’est le DVR (Digital Video Recorder) qui ressemble à un lecteur DVD, qui les gère. Alors afin de visionner les caméras, techniquement, on utilise le logiciel (SmartPSS) du fabriquant, pour se loguer sur le DVR, avec un utilisateur et un mot de passe. J’ai utilisé NetLimiter pour savoir comment SmartPSS se connecte. C’est là où j’ai compris que SmartPSS se connecte sur l’adresse IP WAN de l’entreprise en UDP, le port est dynamique.

Autrement dit, t’as une caméra de surveillance à la maison, t’es dehors, tu utilises ton smartphone avec une application pour visionner a caméra, l’application se connecte sur l’adresse IP publique du modem de ton salon. Car le DVR utilisera la connexion internet du domicile pour le streaming.

Etant donné que j’ai testé sur deux entreprises, il y a donc deux modem internet. Un pour chaque siège.

Les ports affichés par Netlimiter

Sur laquelle squid est installé.

Non, la blague n’était pas de ma part.

Donc en fait d’« accès aux caméras » il s’agit plutôt d’accès à ce DVR. Où se trouve-t-il dans la topologie réseau ?

Le DVR est directement relié au modem. Il ne passe donc pas par le réseau du proxy. Le modem possède une adresse 192.168.1.1, le DVR possède une adresse 192.168.1.x

Le serveur, qui lui possède deux cartes ethernet naturellement, une reliée au modem 192.168.1.3 et l’autre 192.168.0.251, qui fait office de passerelle pour le réseau local de l’entreprise. Tous les ordinateurs des bureaux ont des adresses 192.168.0.x

Pour l’autre siège, qui se trouve à 400 km de là où je suis. Il n’y a pas de serveur proxy, ils ont juste un modem 192.168.1.1 sur lequel sont branchés les ordinateurs des employés et le DVR.

Image:
zzzz.drawio

Des modems, en 2022? ADSL?

Oui. Quel est le rapport avec l’année?

Je ne connais pas beaucoup d’entreprises qui restent encore connectées avec des Modems aujourd’hui. Ou pour te faire plus simple, les modems sont une vieille technologie.

Tu arrive à te connecter avec ta 4G parce que tu ne passes pas par le proxy tout simplement.
Le point de dysfonctionnement c’est ton proxy.
Le proxy SQUID ne sert à rien pour de l’UDP.

Par contre le pare-feu dessus doit lui probablement être responsable de la défaillance.

est-ce que ton proxy est un proxy transparent. C’est à dire est-ce qu’il redirige tous les flux vers internet vers le proxy?

Et bien pour la zone où se situe l’entreprise, la fibre n’est pas encore disponible. Et une LS (ligne spécialisée) coûterait trop chère.

En effet. C’est la conclusion à laquelle je suis arrivé. C’est pour cela que j’ai tenté d’autoriser le P2P.

Il s’agit de iptables en l’occurrence, et c’est pour cela que j’ai essayé les commandes que j’ai écrites dans mon premier message. Mais ça n’a pas marché, de toute manière, j’ai découvert par la suite que les ports étaient dynamiques, alors ça n’aurait pas changé grand chose si ça avait marché.

Négatif, il est en mode non-transparent. Chaque ordinateur doit faire l’objet d’une configuration manuelle pour pouvoir se connecter à internet.

Dans ce cas c’est assez simple, les flux UDP sur tous les ports éventuels vers les IP destinations doivent être ouverts. la configuration des clients qui veulent se connecter ne doivent pas utiliser squid pour y accéder.

C’est bien ce que je craignais. Il y a une politique interne voulant que chaque appareil utilisant l’internet de l’entreprise doit passer par le proxy, il sert notamment (entre autres) a créer des pool avec des limitations de débit internet, afin qu’aucun poste ne prive les autres. Si j’autorise un poste à contourner squid c’est la porte ouverte vers l’anarchie.

Mais admettons, on reserve un poste, qui devra passer outre le proxy. La configuration faite ici DEB9 Iptables/squid3, règles qui ne fonctionnent pas avec @PascalHambourg ne permet pas, si mes souvenirs sont bons, de créer ce genre d’exceptions.

On ne parle pas de contournement. je n’ai pas dit de faire qu’un poste ne se serve pas du proxy, mais que pour les IPs identifiées des caméras, sur le protocole UDP sur la plage de ports identifiées (car si les ports sont variable il y a immanquablement une plage de valeurs)certaines machines puissent accéder.
car peu de poste auront accès à ces caméras je pense (ne serait ce que pour des raisons légales d’ailleurs).

quand à utiliser le mot anarchie, c’est impropre :wink:

Pour ce qui est de la configuration, c’est le parefeu qui bloque pas le proxy, vu que celui-ci ne peut pas traiter de l’UDP.

donc il faut d’une part identifier ce qu’il faut modifier dans la matrice de flux du parefeu, et vérifier la configuration des postes clients concernant le proxy (est-ce un simple IP_proxy:3128, ou bien y-a-t-il un script derrière cette configuration, de ces scripts souvent d’ailleurs mal conçus).

L’adresse IP des modems sont dynamiques également. Et puisque le logiciel SmartPSS arrive à s’y connecter avec un le numéro de série du DVR, il y a forcement un DDNS derrière.

Il n’y a aucun script pour le proxy.

Si je comprends bien tu cherches à te connecter avec ton appli à des Enregistreur de vidéo, il présente quoi comme configuration (modèle, référence …).

Si t’es DVR ne fonctionne qu’en UDP ce qui m’étonnerai un peu quand même, sur pas mal de matos les enregistreurs fonctionne avec du flux TCP et fournisse même un flux http directement catché dans ton cas par SmartPSS.

il s’agit d’un DHI-XVR5116HS-S2 (V2.0) et un DH-CVR5232AN-X

J’ai farfouillé dans le menu de l’appareil, j’ai trouvé dans la rubrique Réseau=>Connexion:

Connexion max: 128
Port TCP: 37777
Port UDP: 37778
Port HTTP: 80
Port RSTP: 554
Port POS: 38800
HTTPS Activer : "Non activé"
Port HTTPS: 443

Dans la rubrique Réseau => P2P

Activer: "Activé"
Avec 2 QR Code pour se connecter avec l’application mobile.

Sur le logiciel smartPSS, lorsqu’on ajoute un nouvel appareil, on a deux options de mode de connexion. "IP/Domain" ou "SN (for Device Support P2P)"

L’entreprise qui a installé les caméras, a procédé à al configuration, et nous a laissé que ce mode de connexion, me P2P.

Je viens d’essayer avec le mode « IP/domain », j’ai ouvert le port TCP 37777 sur le modem, c’est un tplink archer VR 600 V3, dans la rubrique « Network forwading » => « Port triggering » mais sur smartPSS, ça dit "Offline ( can not find network host)