Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| sysadmin:linux:serveur-ntp [2022/01/06 21:55] – yoann | sysadmin:linux:serveur-ntp [2025/11/10 14:57] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| {{tag> | {{tag> | ||
| - | ====== Installer serveur ntp ====== | + | ====== Installer |
| **NTP**((**N**etwork **T**ime **P**rotocol)) permet de distribuer l' | **NTP**((**N**etwork **T**ime **P**rotocol)) permet de distribuer l' | ||
| Ligne 9: | Ligne 9: | ||
| Le système est pyramidal pour éviter la surcharge des serveurs. Les sources sont de niveau 0 (strate), Chaque serveur est configuré sur un serveur parent | Le système est pyramidal pour éviter la surcharge des serveurs. Les sources sont de niveau 0 (strate), Chaque serveur est configuré sur un serveur parent | ||
| - | ==== Installation ===== | + | ===== Installation ===== |
| + | |||
| + | Sur les systèmes de type Debian : | ||
| <code bash> | <code bash> | ||
| $ sudo apt-get install ntp | $ sudo apt-get install ntp | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Sur les versions récentes de Debian (bullseye, bookworm) la version historique du serveur ntp est remplacée par le projet NTPsec : une implémentation sécurisée, | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | apt install -y ntpsec{, | ||
| </ | </ | ||
| Ligne 19: | Ligne 29: | ||
| Le protocole NTP communique en **UDP** sur le **port 123** pour se synchroniser avec les serveurs distants. | Le protocole NTP communique en **UDP** sur le **port 123** pour se synchroniser avec les serveurs distants. | ||
| - | La configuration du serveur se fait via **/ | + | La configuration du serveur se fait via '' |
| < | < | ||
| Ligne 33: | Ligne 43: | ||
| </ | </ | ||
| - | Une machine | + | La machine |
| La configuration du client ntp se fait via / | La configuration du client ntp se fait via / | ||
| Ligne 131: | Ligne 141: | ||
| ===== Paramétrage du pare-feu ===== | ===== Paramétrage du pare-feu ===== | ||
| - | Si l'on souhaite contrôler précisément le trafic NTP au tarvers | + | Si l'on souhaite contrôler précisément le trafic NTP au travers d'un pare-feu restrictif, il est possible de créer des règles exploitant les ensembles (ipsets). |
| - | creation | + | création |
| <code bash> | <code bash> | ||
| Ligne 144: | Ligne 154: | ||
| dig +short 2.fr.pool.ntp.org | xargs --max-args=1 ipset add set_ntp_servers | dig +short 2.fr.pool.ntp.org | xargs --max-args=1 ipset add set_ntp_servers | ||
| dig +short 3.fr.pool.ntp.org | xargs --max-args=1 ipset add set_ntp_servers | dig +short 3.fr.pool.ntp.org | xargs --max-args=1 ipset add set_ntp_servers | ||
| + | |||
| </ | </ | ||
| - | Création/ | + | Création/ |
| <code bash> | <code bash> | ||
| # Journalise le trafic NTP sortant | # Journalise le trafic NTP sortant | ||
| Ligne 154: | Ligne 165: | ||
| iptables -A ufw-after-output -o wan -m set --match-set set_ntp_servers dst -p udp --dport 123 -j ACCEPT | iptables -A ufw-after-output -o wan -m set --match-set set_ntp_servers dst -p udp --dport 123 -j ACCEPT | ||
| </ | </ | ||
| + | |||
| + | Si le système utilise **UFW**, on ne peut pas créer directement de règle exploitant les ipset via la commande **ufw**. Néanmoins il est possible d' | ||
| + | |||
| + | <code bash> | ||
| + | # Rendre le script exécutable pour qu'il soit automatiquement appelé par ufw-init | ||
| + | chmod ug+x / | ||
| + | |||
| + | # Sauvegarder les ensembles existants pour qu'ils puissent être rechargés | ||
| + | ipset save > / | ||
| + | </ | ||
| + | |||
| + | Modifier le fichier **/ | ||
| + | |||
| + | <file bash after.rules> | ||
| + | # | ||
| + | # Copyright 2013 Canonical Ltd. | ||
| + | # | ||
| + | # This program is free software: you can redistribute it and/or modify | ||
| + | # it under the terms of the GNU General Public License version 3, | ||
| + | # as published by the Free Software Foundation. | ||
| + | # | ||
| + | # This program is distributed in the hope that it will be useful, | ||
| + | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| + | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
| + | # GNU General Public License for more details. | ||
| + | # | ||
| + | # You should have received a copy of the GNU General Public License | ||
| + | # along with this program. | ||
| + | # | ||
| + | set -e | ||
| + | |||
| + | case " | ||
| + | start) | ||
| + | # typically required | ||
| + | if [ -r / | ||
| + | then | ||
| + | ipset -f / | ||
| + | # Journalise et autorise le trafic NTP a destination des serveurs des pools *.fr.pool.ntp.org | ||
| + | iptables -A ufw-after-output -o wan -m set --match-set set_ntp_servers dst -p udp --dport 123 -j ufw-logging-allow -m comment --comment " | ||
| + | iptables -A ufw-after-output -o wan -m set --match-set set_ntp_servers dst -p udp --dport 123 -j ACCEPT -m comment --comment " | ||
| + | fi | ||
| + | ;; | ||
| + | stop) | ||
| + | # typically required | ||
| + | ipset destroy | ||
| + | ;; | ||
| + | status) | ||
| + | # optional | ||
| + | ;; | ||
| + | flush-all) | ||
| + | # optional | ||
| + | ;; | ||
| + | *) | ||
| + | echo "' | ||
| + | echo " | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| ===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
| Ligne 214: | Ligne 286: | ||
| * https:// | * https:// | ||
| - | * https:// | + | * https:// |
| * https:// | * https:// | ||
| + | * [[https:// | ||