web-dev-qa-db-fra.com

Ubuntu 14.04 en tant que passerelle / routeur et pare-feu

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.

16
Santi Varghese
  1. Ouvrir un terminal Ctrl+Alt+T

  2. Entrez la commande suivante pour éditer le fichier interfaces:

    Sudo vim /etc/network/interfaces
    
  3. 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
    
  4. 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

  5. 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)

15
Anbu

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
3
Jim Fischer

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.

0
sukupandachu