Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
130netfilter:600-reprise-sous-reseau [le 20/06/2025 à 14:39] – supprimée - modification externe (Date inconnue) 127.0.0.1130netfilter:600-reprise-sous-reseau [le 20/06/2025 à 14:39] (Version actuelle) – ↷ Nom de la page changé de 130netfilter:60-reprise-sous-reseau à 130netfilter:600-reprise-sous-reseau prof
Ligne 1: Ligne 1:
 +====== Et un routeur ======
 +Reprenons une maquette classique:
 +{{ :130netfilter:dnat.svg?450|Serveur HTTP public}}
 +Notre modem transmet au routeur NAT une unique adresse IPv4 et une délégation /64 IPv6. L'ensemble Modem/8outeur NAT/switch ressemble furieusement à ce qui est habituellement inclus dans une «Box», mais nous allons nous en passer pour pouvoir maîtriser complètement cet ensemble.
  
 +Le routeur NAT/DHCP/DNS, c'est du GNU/Linux Debian 12 et Nftables est activé dessus. Tout est virtuel dans cette maquette. 
 +  * L'adresse IPv4 publique sera pour nous 192.168.60.252 sur enp1s0,
 +  * sur le LAN IPv4 192.168.61.0/24, le routeur dispose de l'adresse 192.168.61.1
 +  * le serveur HTTP/HTTPS disposera de l'adresse fixe 192.168.61.2
 +===== Protection du routeur NAT =====
 +  * Ce routeur embarque un serveur telnet et un serveur ssh  (ports 23 et 22) Telnet ne pourra, dans un premier temps, n'être accessible que depuis 192.168.61.0/24. Le serveur ssh pourra l'être aussi depuis l'extérieur.
 +  * Le serveur DHCP doit bien entendu pouvoir recevoir les requêtes des clients dans 192.168.61.0/24 (ports 67 et 68)
 +  * Le serveur DNS doit répondre aux requêtes venant de 192.168.61.0/24
 +  * Pour IPv6, tout ce qui touche à la découverte et à l'annonce du voisinage doit pouvoir entrer sur les deux interfaces
 +  * l'«echo request» sera autorisé à entrer également sur les deux interfaces.
 +  * il est toujours utile d'autoriser les entrées sur l'interface locale
 +  * toutes les autres entrées IPv4 comme IPv6 doivent être bloquées suivant le principe «tout est interdit sauf...»
 +Nous utiliserons la famille ''inet'' pour y grouper des règles ipv4 et ipv6, ce qui nous conduit au fichier ''/etc/nftables.conf'' suivant:
 +<html><pre class="code">
 +<b>table inet filter {
 + chain INPUT {</b>
 + <span class="txtb"># par défaut, rien n'entrera</span>
 + <b>type filter hook input priority filter; policy drop;</b>
 + <span class="txtb"># on accepte ssh et telnet depuis le LAN</span>
 + <b>iifname "enp7s0" tcp dport { 22, 23 } accept</b>
 + <span class="txtb"># on accepte les requêtes DNS et DHCP depuis le LAN</span>
 + <b>iifname "enp7s0" udp dport { 53, 67, 68 } accept</b>
 + <span class="txtb"># on accepte ssh depuis l'extérieur</span>
 + <b>iifname "enp1s0" tcp dport 22 accept</b>
 + <span class="txtb"># on accepte ce qui entre par l'interface locale</span>
 + <b>iifname "lo" accept</b>
 + <span class="txtb"># on accepte tout ce qui a été initié par le serveur</span>
 + <b>ct state established,related accept</b>
 + <span class="txtb"># on accepte en icmpv6 le ping-request et tout ce qui concerne le voisinage</span>
 + <b>icmpv6 type { echo-request, nd-router-solicit, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept</b>
 + <span class="txtb"># on accepte le ping d'icmpv4</span>
 + <b>icmp type echo-request accept
 + }
 +}</b>
 +</pre></html>
Et un routeur: Dernière modification le: 01/01/1970 à 00:00 par