La configuration actuelle de mon système est Ubuntu 14.04 Desktop 64 Bit et j'utilise Internet à partir d'un routeur utilisant une adresse IP publique.
eth0 - WAN Public IP 182.x.x.x
eth1 - LAN private IP 192.168.0.1
Maintenant, je souhaite distribuer cette connexion à d'autres ordinateurs utilisant mon système en tant que Gateway
. Mon IP système est 192.168.0.1
et les autres ordinateurs du réseau utilisent des adresses IP statiques 192.168.0.2
et 192.168.0.255
en tant que static
et/ou DHCP
.
De plus, je souhaite installer un pare-feu sur mon système afin de pouvoir surveiller et contrôler le trafic des autres systèmes du réseau.
Ouvrir un terminal Ctrl+Alt+T
Entrez la commande suivante pour éditer le fichier interfaces
:
Sudo vim /etc/network/interfaces
Editez le fichier avec les lignes suivantes: (ajoutez votre netmask
et gateway
)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 182.x.x.x
netmask x.x.x.x
gateway x.x.x.x
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask x.x.x.x
Maintenant, éditez /etc/sysctl.conf
et décommentez:
# net.ipv4.ip_forward=1
de sorte qu'il se lit:
net.ipv4.ip_forward=1
et enregistrez-le en entrant
Sudo sysctl -p /etc/sysctl.conf
Pour activer le masquage IP, entrez le jeu de commandes suivant dans le terminal:
Sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Mise à jour: Correction de l'étrange "-–state" provoquant l'échec de la commande et correction de nat MASQUERADE sur eth0 (interface wan)
Le commentaire de @ chreekat est correct, à savoir que les adaptateurs Ethernet ont été permutés à l'étape 5 de la réponse de @ Anbu et, comme indiqué (à partir du 2017-02-21), crée un énorme trou de sécurité qui permet à quiconque sur le réseau public d'accéder sans restriction au réseau. .
La configuration corrigée pour l'étape 5 est indiquée ci-dessous.
Théorie de fonctionnement: (Règle n ° 2) Les paquets entrants du réseau public (eth0) sont acceptés pour être transférés vers le réseau privé (eth1) si et seulement si le paquet public entrant est lié à une conversation établie par un hôte le le réseau privé. (Règle n ° 3) Acceptez tous les paquets entrant depuis le réseau privé (eth1) et transmettez-les au réseau public (eth0).
Sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
C’est ce que j’utilise, fonctionne toujours bien. Une combinaison de divers tutoriels. Testé sur Ubuntu 16.04LTS aussi.
Étape A-- Assurez-vous que ufw est installé
Sudo apt-get install ufw
Étape B - Configurez vos interfaces résea.
Sudo nano /etc/network/interfaces
Configurez le fichier interfaces pour qu'il ressemble à ceci ci-dessous:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The WAN primary network interface
iface eth0 inet static
address 182.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
#LAN side interface
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
address 192.168.0.1
Enregistrez le fichier en sélectionnant CTRL-X dans nano ou n’importe quel autre éditeur de votre choix.
étape C - Autoriser le transfert IP. Définir le transfert. Editez le fichier /etc/sysctl.conf
Sudo nano /etc/sysctl.conf
Supprimez le commentaire sur cette ligne # net.ipv4.ip_forward=1
pour qu'il soit net.ipv4.ip_forward=1
Enregistrez les modifications et passez à l'étape suivante.
Étape D - Règles de masquage/d’acheminement
Sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Persister Modifications iptables
Sudo su
Sudo iptables-save > /etc/iptables.rules
Sudo nano /etc/network/if-pre-up.d/iptables
Entrez ce contenu:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0
Enregistrer les modifications Ensuite, éditez/créez le fichier iptables suivant
Sudo nano /etc/network/if-post-down.d/iptables
Entrez ce contenu:
#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
iptables-restore < /etc/iptables.rules
fi
exit 0
Sauvegarder les modifications. Rendre les deux fichiers exécutables
Sudo chmod +x /etc/network/if-post-down.d/iptables
Sudo chmod +x /etc/network/if-pre-up.d/iptables
Etape E - Finaliser avec la configuration ufw
Sudo nano /etc/default/ufw
Modifier la politique de transfert de paramètre pour accepter
DEFAULT_FORWARD_POLICY="ACCEPT"
Sauvegarder les modifications.
J'ai mon SSH sur le port 49870, donc j’ai également autorisé ufw à accepter les connexions sur ce port:
Sudo ufw allow 49870
Étape F - N'oubliez pas d'activer ufw.
Sudo ufw enable
À ce stade, redémarrez simplement votre système. Ensuite, tous les périphériques LAN peuvent l’utiliser comme passerelle principale. Notons que ufw est très pratique pour gérer les paramètres du pare-feu.