Ubuntu 14.04 comme passerelle / routeur et pare-feu

16

Ma configuration système actuelle est Ubuntu 14.04 Desktop 64 Bit, et j'utilise Internet à partir d'un routeur utilisant une 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.1et d'autres ordinateurs du réseau utilisent une IP statique 192.168.0.2et en 192.168.0.255 tant que staticet / ou DHCP.

Je souhaite également configurer un pare-feu sur mon système afin de pouvoir surveiller et contrôler le trafic d'autres systèmes sur le réseau.

Santi Varghese
la source

Réponses:

15
  1. Ouvrir un terminal Ctrl+ Alt+T

  2. Entrez la commande suivante pour modifier le interfacesfichier:

    sudo vim /etc/network/interfaces
    
  3. Modifiez le fichier avec les lignes suivantes: (ajoutez votre netmasket 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, modifiez /etc/sysctl.confet décommentez:

    # net.ipv4.ip_forward=1
    

    pour qu'il se lise:

    net.ipv4.ip_forward=1
    

    et enregistrez-le en entrant

    sudo sysctl -p /etc/sysctl.conf

  5. Pour activer le masquage IP, entrez l'ensemble 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)

Anbu
la source
fait tout comme conseillé ... mais si je modifie / etc / network / interfaces et redémarre le service, il se connecte automatiquement à eth1 et ne se connecte pas à Internet via eth0. Si je modifie connectio en utilisant le mode GUI, il se connecte à Internet en utilisant eth0. Maintenant, le problème est que je ne suis pas en mesure de connecter mon ordinateur client avec IP 192.168.0.5/nm.255.255.255.0/gw.192.168.0.1 à Internet. toute suggestion?
Santi Varghese
3
Je veux ajouter qu'après avoir modifié la ligne net.ipv4.ip forward=1, vous souhaitez exécuter sudo sysctl -p /etc/sysctl.confpour que la nouvelle valeur prenne effet.
Samuel Li
2
Vous avez toujours les périphériques échangés dans les deux dernières lignes à l'étape 5, et vous n'avez aucune mention de la sécurité par défaut (c'est-à-dire que forward devrait avoir une politique DROP).
chreekat
3

Le commentaire de @ chreekat est correct que les adaptateurs Ethernet sont échangés à l'étape 5 de la réponse de @ Anbu, et comme indiqué (à partir du 21/02/2017) crée UN HOULE DE SÉCURITÉ ÉNORME qui permet un accès illimité au réseau privé par quiconque sur le réseau public .

La configuration corrigée pour l'étape 5 est illustrée ci-dessous.

Théorie de fonctionnement: (Règle n ° 2) Les paquets entrant à partir du réseau public (eth0) sont acceptés pour le transfert vers le réseau privé (eth1) si et seulement si le paquet public entrant est lié à une conversation qui a été établie par un hôte sur le réseau privé. (Règle n ° 3) Acceptez tous les paquets entrant depuis le réseau privé (eth1) et transférez-les vers le 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
Jim Fischer
la source
0

C'est ce que j'utilise, fonctionne toujours bien. Une combinaison de divers tutoriels. Testé également sur Ubuntu 16.04LTS.

Étape A - Assurez-vous que ufw est installé

sudo apt-get install ufw

Étape B - Configurez vos interfaces réseau .

sudo nano /etc/network/interfaces

Configurez le fichier d' interfaces comme suit:

# 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 à partir de nano ou de tout autre éditeur que vous préférez.

Étape C - Autoriser le transfert IP . Définissez le transfert. Modifiez le fichier /etc/sysctl.conf

sudo nano /etc/sysctl.conf

Supprimez le commentaire sur cette ligne # net.ipv4.ip_forward=1pour qu'il soit net.ipv4.ip_forward=1 Enregistrer les modifications et passer à l'étape suivante.

Étape D - Règles de masquage / transfert

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

Persistez les changements 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 puis éditer / créer le prochain fichier iptables

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

Étape E - Finaliser avec la configuration ufw

sudo nano /etc/default/ufw

Modifier la stratégie de transfert des paramètres pour accepter

DEFAULT_FORWARD_POLICY="ACCEPT"

Sauvegarder les modifications.

J'ai mon SSH sur le port 49870, j'ai donc é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. Tous les périphériques LAN peuvent alors l'utiliser comme passerelle principale. Par ailleurs, ufw est très pratique pour gérer les paramètres du pare-feu.

sukupandachu
la source