Crée un routeur sous Linux
Configuration des deux interfaces
L'objectif est de crée un routeur sous une distribution Linux qui a déja internet est qui est dans un réseau local. Configuration des deux interfaces :
Nous travaillerons ici sur l'interface "eth0" qui sera orientée vers le réseau simulant une réseau externe "WAN" en 192.168.1.0/24 et une seconde interface "eth1" qui sera vers notre "LAN" en 192.168.10.0/24.
Aprés vous être assuré que votre machine dispose bien de deux interfaces, il faut se rendre dans le fichier "/etc/network/interfaces" pour configurer nos interfaces réseaux :

On peut faire la commande suivante
on peut ensuite vérifier via la commande
activer le port forwarding :
Est sous la forme d'un option dans le fichier "/etc/sysctl.conf", on devra y chercher la ligne suivante afin de la dé-commenter :

On doit ensuite activer le NAT :
Nous pourrons vérifier notre iptables en faisant la commande suivante :
Si on a d'autre rêgle iptables qui rentre en conflit on peut filtrer par adress ip :
On peut ensuite sauvegarder la config via cette ligne :
iptables-save > /etc/iptables_rules.save
On se rend ensuite à nouveau dans notre fichier de configuration réseau "/etc/network/interfaces" et on ajoute cette ligne à la fin de la configuration de notre interface eth0 :
post-up iptables-restore < /etc/iptables_rules.save
Script Ansible
Tip
Ne contient pas la configuration des carte réseau
---
- name: Configure iptables-masquerade.service
hosts: oracle
become: yes
vars:
email_recipient: "user.name@albt.org"
smtp_host: "vega.albt.org"
smtp_port: 26
tasks:
- block:
- name: Crée le service iptables-masquerade.service
copy:
dest: /etc/systemd/system/iptables-masquerade.service
content: |
[Unit]
Description=Appliquer la règle iptables de masquerade
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables -t nat -A POSTROUTING -s 10.0.250.0/24 -o ens18 -j MASQUERADE
[Install]
WantedBy=multi-user.target
notify:
- Reload systemd
- Enable and start iptables-masquerade service
- name: Activer le mode route dans /etc/sysctl.conf
lineinfile:
dest: /etc/sysctl.conf
line: "net.ipv4.ip_forward=1"
state: present
notify:
- Reload sysctl
rescue:
- name: Envoyer une alerte par mail en cas d'erreur
mail:
host: "{{ smtp_host }}"
port: "{{ smtp_port }}"
to: "{{ email_recipient }}"
subject: "Échec du job de maintenance Ollama sur {{ inventory_hostname }}"
body: |
Le job de maintenance orcle sur le serveur {{ inventory_hostname }} a rencontré une erreur.
Tâche échouée : {{ ansible_failed_task.name }}
Résultat de l'échec : {{ ansible_failed_result }}
handlers:
- name: Reload systemd
command: systemctl daemon-reload
- name: Enable and start iptables-masquerade service
command: systemctl enable --now iptables-masquerade.service
- name: Reload sysctl
command: sysctl -p /etc/sysctl.conf