web-dev-qa-db-fra.com

Comment configurer le serveur Linux en tant que routeur avec NAT

Nous avons un routeur simple qui a NAT de type symétrique, mais parce que ce routeur ne nous fournit aucune interface de débogage, nous ne pouvons pas comprendre si un paquet spécifique atteint le NAT ou non.

Ainsi, nous voulons configurer un ordinateur Linux, ce qui constitue un routeur avec un NAT symétrique, de cette manière, nous pouvons capturer tous les paquets à ce "NAT" et obtenir les informations que nous souhaitons. Comment pouvons-nous faire cela sur Linux (Système Fedora, Kernel 2.6.xx)?

7
Steve Peng

Pour définir une machine Linux en tant que routeur, vous avez besoin des éléments suivants

1- Activer le transfert sur la boîte avec

echo 1 > /proc/sys/net/ipv4/ip_forward

En supposant que votre interface publique soit Eth1 et l'interface locale est Eth0

2- Mettez noter la règle de notation avec:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

3- Accepter le trafic d'ETH0:

iptables -A INPUT -i eth0 -j ACCEPT

4- Autoriser les connexions établies de l'interface publique.

iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

5- Autoriser les connexions sortantes:

iptables -A OUTPUT -j ACCEPT
15
MohyedeenN

C'est le script simple pourrait faire l'astuce qu'il a toute l'essence nécessaire par le routeur son bien testé sur Ubuntu 16.04

#!/bin/bash
# This script is written to make your Linux machine Router
# With this you can setup your linux machine as gateway.
# Author @ Mansur Ul Hasan
# Email  @ [email protected]

  # Defining interfaces for gateway.
  INTERNET=eth1
  LOCAL=eth0

# IMPORTANT: Activate IP-forwarding in the kernel!

   # Disabled by default!
   echo "1" > /proc/sys/net/ipv4/ip_forward

   # Load various modules. Usually they are already loaded 
   # (especially for newer kernels), in that case 
   # the following commands are not needed.

   # Load iptables module:
   modprobe ip_tables

   # activate connection tracking
   # (connection's status are taken into account)
   modprobe ip_conntrack

   # Special features for IRC:
   modprobe ip_conntrack_irc

   # Special features for FTP:
   modprobe ip_conntrack_ftp

   # Deleting all the rules in INPUT, OUTPUT and FILTER   
   iptables --flush

   # Flush all the rules in nat table 
   iptables --table nat --flush

   # Delete all existing chains
   iptables --delete-chain

   # Delete all chains that are not in default filter and nat table
   iptables --table nat --delete-chain

   # Allow established connections from the public interface.
   iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT

   # Set up IP FORWARDing and Masquerading
   iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
   iptables --append FORWARD --in-interface $LOCAL -j ACCEPT

   # Allow outgoing connections
   iptables -A OUTPUT -j ACCEPT
1
Mansur Ali