J’arrive à connecter un vps mais pas une machine physique distante derrière une box internet. Comme j’utilise le mode actif j’ai compris que je n’avais pas à transférer de port (10050) sur la box.
Est-ce que j’ai mal compris? Sinon un lecteur a-t-il une idée de la cause?
J’ai compris votre réponse mais je (re)tombe sur cette doc que je ne comprends pas et qui semblerait dire qu’il n’y a pas besoin de transfert de port.
If an agent is behind the firewall you might consider using only Active checks because in this case you wouldn’t need to modify the firewall to allow initial incoming connections.
Firewall et routeur … ce sont deux choses différentes.
Un machine avec un agent derrière une box possède une ip privé non routé , donc à moins que tu possède un vpn site à site je ne vois pas comment le port 10050 de ta machine peux être accessible depuis l’extérieur sans un PAT.
Mais un firewall qui bloquerai tous les ports, dont le 10050, ne permettrait pas non plus l’accès?
Et dans ce cas je ne comprends toujours pas la phrase extraite de la doc.
En règle générale les firewall filtre l’entrée pas la sortie, mais encore une fois surt ta box ce n’est pas le filtrage qui pose problème mais le NAT/PAT
Oui.
On parle bien du port 10050 qui est en entrée sur l’agent Zabbix.
Pas que.
En transférant le port 10050 sur la box cela fonctionne effectivement.
Mais en bloquant ce port en entrée par iptables cela ne fonctionne plus.
Cela ne me pose pas de problème technique particulier mais où la doc est erronée :
If an agent is behind the firewall you might consider using only Active checks because in this case you wouldn’t need to modify the firewall to allow initial incoming connections.
Si ton agent est derrière une box avec un NAT/PAT fonctionnel et que rien n’est filtrer en sortie alors un agent en actif n’est pas bloqué car il envoie les data vers le serveur.
Par contre en passif c’est le serveur qui viens interroger l’agent, idem avec de simple check comme pour vérifier le ping ou un certificat SSL, cela nécessitera donc que le filtrage soit ouvert en entrée ET que le NAT/PAT soit fonctionnel.
Maintenant si un filtrage est effectuée aussi en sortie le port 10050 n’étant pas un port classique tel que http et https il est fort probable qu’il faille ouvrir les communications.
Mais jusqu’alors hors le mode parano (haut niveau de filtrage) activé sur une livebox je n’ai pas de règle de filtrage en sortie à ouvrir … (à voir néanmoins avec les autres opérateur mais je pense que ce doit être la même).
PS : Si tu en ai à vouloir hébergé à la maison des services je ne saurai trop te recommander de bien vérifié la configuration que tu utilises.
On ne se comprend pas ou je ne te comprends pas , avec mon test, rejet du port 10050 en entrée de l’agent, la question est valable pour tous les agents, pas uniquement derrière une box.
la réponse actuelle est à moitié claire (aussi) mais, la référence documentaire semble bien préciser ,bien cette fois, que le port 10050 doit être accessible sur l’agent.
Quel question exactement car depuis le temps tu m’a perdu … si il y a un firewall qui bloque la sortie d’un agent oui il faut ouvrir le port (ça me parait logique …) maintenant lorsqu’une machine sans restriction de sortie de port active (sous entendu pas de firewall sur la machine avec une restriction sur les flux en sortie) si la machine est bien accessible depuis l’extérieur de ton réseau (sous entendu derrière une box …) ALORS seul un NAT/PAT est nécessaire.
le port 10050 doit être accessible pour les couple item/trigger en mode passif … c’est justement l’avantage d’un check actif de s’initier par l’agent lui même et donc de faciliter le passage au travers d’un firewall qui NE filtre PAS la sortie.
Effectivement, @Clochette , la question s’est précisée au fil de ce post, de mes « découverte ». et donc :
Simplement sur le réseau local, cad sans box, lorsque l’on bloque en entrée le port 10050 ( iptables -A INPUT -p tcp --dport 10050 -j REJECT ) d’un agent en mode actif, est-ce que cela doit fonctionner? Chez moi cela ne fonctionne pas.
Une seule question donc, qui n’est pas un problème technique en soi mais de clarté de la doc et de savoir si j’ai qqc de mal configuré chez moi.
1. Agent opens a TCP connection
2. Agent asks for the list of checks
3. Server responds with a list of items and remote commands to execute
4. Agent parses the response
5. TCP connection is closed
6. Agent starts periodical collection of data and executes remote commands (supported since Zabbix agent 7.0)
Ça implique que:
l’agent à l’autorisation de sortir de son sous-réseau (parefeu de la passerelle)
l’agent a le droit de se connecter sur le serveur (parefeu du serveur)
Les modes vont dépendre des Templates que tu vas utiliser. Si tu utilise un template passive alors le port 10050 doit etre ouvert.
il est possible d’avoir des template passive et active sur une même machine. Du coup les deux sens doivent être ouverts.
Ton agent est sur un VPS: les règles d’accès de ton VPS vers internet doivent etre ouvert pour que ton agent se connecte à ton serveur.
Ton serveur est derrière ta box, donc ta box doit ouvrir le port 10051 (celui du serveur) avec une redirection de port vers ton serveur. et bien sur ton serveur doit accepter les connexions en question
Donc tes ports doivent être ouverts sur les eux machines, l’un pour sortir,
l’autre pour entrer de la même façon. En vérifiant bien que les ports par défaut sont ceux que tu utilises.
oui parce qu’il présuppose qu’il n’y a qu’un seul parefeu celui sortant pour l’agent, mais il ne prend effectivement pas en compte le fait que le serveur peut avoir lui-même son propre parefeu.
De plus la doc considère qu’une machine avec un agent a un accès par défaut à internet, sauf que dans la réalité c’est rarement le cas, sauf les auto-hébergement de particulier et les entreprises qui ont une sécurité de petit niveau.