Routeur Linux : Différence entre versions

De Wiki NCad
Aller à : navigation, rechercher
(Translation d'adresse)
(Sauvegarde des règles iptables)
Ligne 35 : Ligne 35 :
 
=== Sauvegarde des règles iptables ===
 
=== Sauvegarde des règles iptables ===
  
* La sauvegarde des règles iptables en vigueur s'effectue depuis la commande '''iptables-save''' :
+
* Lors du prochain redémarrage, vos règles iptables seront perdues. Pour sauvegarder les règles iptables en vigueur, on utilisera la commande '''iptables-save''' :
  
 
{{ Box Console | objet=iptables-save > /etc/iptables.up.rules }}
 
{{ Box Console | objet=iptables-save > /etc/iptables.up.rules }}

Version du 6 avril 2015 à 14:12

Routage IPv4

Routage des paquets IPv4

  • Dé-commenter la ligne suivante dans le fichier /etc/sysctl.conf :
net.ipv4.ip_forward=1
ICON Information.png

Les modifications sont prises en compte après redémarrage de la machine.

Translation d'adresse

  • Activation de la translation d’adresse pour les machines du réseau 192.168.1.0/24 :
ICON Terminal.png

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

  • Il est également possible de choisir son adresse IPv4 de sortie si l'on dispose de plusieurs IPs publiques :
ICON Terminal.png

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j SNAT --to-source <ip_publique>

FTP derrière NAT

  • Pour activer le NAT pour les connexions ftp :
ICON Terminal.png

modprobe nf_nat_ftp

Redirection de port DNAT

  • La redirection de port DNAT permet de rendre accessible depuis le réseau Internet, une machine sur le LAN pour un protocole donnée. Par exemple, nous souhaitons rendre accessible notre serveur web 192.168.1.49 depuis l'Internet.
  • Nous créons une première règles DNAT qui va rediriger tous les paquets à destination de notre IP publique sur le port TCP HTTP 80 (web) vers notre serveur web ayant pour adresse IP 192.168.1.49.
ICON Terminal.png

iptables -t nat -A PREROUTING -p tcp -m tcp -d <ip_publique> -i ppp0 --dport 80 -j DNAT --to-destination 192.168.1.49:80

Sauvegarde des règles iptables

  • Lors du prochain redémarrage, vos règles iptables seront perdues. Pour sauvegarder les règles iptables en vigueur, on utilisera la commande iptables-save :
ICON Terminal.png

iptables-save > /etc/iptables.up.rules

  • Les règles étant sauvegardées dans le fichier iptables.up.rules, il est possible de recharger les règles manuellement grâce à la commande iptables-restore :
ICON Terminal.png

iptables-restore < /etc/iptables.up.rules

  • On peut aussi appliquer le chargement de ces règles à chaque démarrage / redémarrage de l'interface réseau en ajoutant la ligne suivante dans le fichier /etc/network/interfaces :
post-up iptables-restore < /etc/iptables.up.rules

Serveur DHCP

  • /etc/apparmor.d/local/usr.sbin.named
/etc/bind/** rw,
/etc/bind/ rw,
ICON Terminal.png

sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.named

Routage IPv6

Routage des paquets IPv6

  • Dé-commenter la ligne suivante dans le fichier /etc/sysctl.conf :
net.ipv6.conf.all.forwarding=1

Configuration sans état Stateless

  • Basée sur l'adresse MAC qui utilise le Neighbor Discovery Protocol (NDP). Radvd envoi la configuration IPv6 à intervalle régulier (route par défaut et préfixe) sans se soucier sur les machines distantes sont configurées.
  • Installation de radvd
  • Configuration de radvd
interface eth0
{
      AdvSendAdvert on;
      prefix 2001:3615:c0c0:c100::/64
      {
              AdvOnLink on;
              AdvAutonomous on;
              AdvRouterAddr on;
      };
      RDNSS fe80::b42e:1bff:fe13:aa4c {
      };
};

Configuration avec état Stateful

Configuration de Radvd

  • Radvd n'est ici utilisé uniquement pour annoncer le routeur de sortie (route par défaut).
interface eth0
{
       AdvSendAdvert on;
       AdvManagedFlag on;
       AdvOtherConfigFlag on;
       prefix 2001:3615:c0c0:c100::/64 {
               AdvAutonomous off;
               AdvRouterAddr on;
               MinRtrAdvInterval 3;
               MaxRtrAdvInterval 10;
       };
};
  1. AdvSendAdvert : Activation du daemon.
  2. AdvManagedFlag : Configuration IP gérée en Statefull / DHCPv6.
  3. AdvOtherConfigFlag : Autre informations fournis en Statefull / DHCPv6 (DNS, baux DHCP, domaine de recherche, ...).
  4. AdvAutonomous : Annonce du préfixe - désactivé dans le cas d'une configuration Statefull car géré par DHCPv6.
  5. AdvRouterAddr : Annonce de la passerelle de sortie / route par défaut.

Configuration du client DHCPv6

  • Le client DHCPv6 permet de récupérer le préfixe IPv6 attribué par l'opérateur.
  • L'installation du client dhcpv6 s'effectue en installant le paquet wide-dhcpv6-client.
ICON Terminal.png

sudo apt-get install wide-dhcpv6-client

  • Le fichier de configuration du service se trouve dans /etc/wide-dhcpv6/ et s'appelle dhcp6c.conf.
interface ppp0 {
   send ia-pd 0;
};


id-assoc pd 0 {
   prefix-interface eth0 {
       sla-len 8;
       sla-id 1;
   };
};
ICON Light.png
La valeur de SLA-LEN se calcul de la manière suivante : 64-longueur du préfixe. Dans notre cas, l'opérateur nous attribut un /56 ce qui donne 64-56 = 8.
  • Pour que les modifications soient prises en compte, il faut redémarrer le service.
ICON Terminal.png

service wide-dhcpv6-client restart

  • Pour valider le bon fonctionnement, on vérifie la présence du préfixe dans la table de routage.
ICON Terminal.png

ip -6 route
2001:3615:c0c0:c101::/64 dev eth0 proto kernel metric 256
fc00:10:46::/64 dev eth0 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
fe80::/10 dev ppp0 metric 1
fe80::/10 dev ppp0 proto kernel metric 256
default dev ppp0 metric 1024

Configuration du serveur DHCPv6

  • Installation de dhcpv6
ICON Terminal.png

sudo apt-get install wide-dhcpv6-server

  • /etc/wide-dhcpv6/dhcp6c.conf

option domain-name-servers fc00:10:46::46; option domain-name "net.glx";

interface eth0 {
       address-pool pool1 3600;
       address-pool pool2 3600;
};

pool pool1 {
       range 2001:3615:c0c0:c100::200 to 2001:3615:c0c0:c100::400;
};

pool pool2 {
       range fc00:10:46::200 to fc00:10:46::400;
};