Como configurar o servidor Linux como um roteador com NAT

6

Temos um roteador simples que possui NAT de tipo simétrico, mas como esse roteador não nos fornece nenhuma interface de depuração, não podemos descobrir se um pacote específico alcança o NAT ou não.

Assim, queremos configurar um computador LINUX, tornando-o um roteador com NAT simétrico, dessa forma podemos capturar todos os pacotes para esse "NAT" e obter as informações que desejamos. Como podemos fazer isso no linux (sistema Fedora, kernel 2.6.xx)?

    
por Steve Peng 03.01.2014 / 16:05

2 respostas

15

Para definir uma máquina linux como um roteador, você precisa do seguinte

1- Ativar o encaminhamento na caixa com

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

Assumindo que sua interface pública é eth1 e a interface local é eth0

2- Definir a regra de natting com:

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

3- Aceite o tráfego da eth0:

iptables -A INPUT -i eth0 -j ACCEPT

4- Permitir conexões estabelecidas da interface pública.

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

5- Permitir conexões de saída:

iptables -A OUTPUT -j ACCEPT
    
por 03.01.2014 / 16:12
0

Este é o script simples que poderia fazer o truque que tem toda a essência que precisava de um roteador bem testado em 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
    
por 10.04.2018 / 17:20