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)?
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
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