32 lines
1.4 KiB
Markdown
32 lines
1.4 KiB
Markdown
HostChecker
|
|
===========
|
|
|
|
HostChecker est un outil très simpliste, qui teste la disponibilité de services distants (tcp, http, smtp) pour établir la disponibilité d'un serveur (host).
|
|
|
|
En fonction du résultat du test, il ajoute ou supprime le serveur (désigné par son IP) d'une table PF.
|
|
|
|
L'outil est écrit spécifiquement pour répondre à un besoin précis.
|
|
Sur des pare-feux réseau FreeBSD ou OpenBSD, PF (packet filter) permet de distribuer un traffic entrant vers un ou plusieurs serveurs `backends` en round-robin.
|
|
|
|
Si l'un de ces serveurs est indisponible, PF ne peut le détecter et continue de distribuer du traffic vers ce backend, générant donc des erreurs. Il existe plusieurs moyens pour pallier à ce problème, dont l'utilisation d'un proxy applicatif sur le pare-feu lui-même ou l'utilisation d'IP virtuelles redondées sur les serveurs backends.
|
|
|
|
HostChecker permet d'avoir une troisième solution, celle de gérer dynamiquement la liste des serveurs backends référencés dans une table PF.
|
|
|
|
Configuration
|
|
--------------
|
|
|
|
La configuration se fait dans un seul fichier YAML qui décrit un ou plusieurs groupes de serveurs, les méthodes de test et les tables PF a mettre à jour.
|
|
|
|
```
|
|
cluster-web:
|
|
tables:
|
|
- cluster-web-hosts
|
|
hosts:
|
|
- 10.10.1.10
|
|
- 10.10.1.11
|
|
check:
|
|
- type: http
|
|
- port: 80
|
|
- interval: 5
|
|
- timeout: 2
|
|
``` |