Como os pacotes de encaminhamento da interface de rede para outro

0

Meu problema é encaminhar pacotes da eth2 que é minha LAN para a eth1 que tem acesso a internet, para permitir que a eth2 acesse a internet, aqui minha configuração:

auto eth1
iface eth1 inet static
    address 192.168.3.1
    netmask 255.255.255.0
    network 192.168.3.0
    broadcast 192.168.3.255
    gateway 192.168.3.254

auto eth2
iface eth2 inet static
    address 10.101.26.1
    netmask 255.255.0.0
    network 10.101.0.0
    broadcast 10.101.255.255

Configuração do iptables:

iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT

Já descomente net.ipv4.ip forward = 1 em /etc/sysctl.conf e escreva 1 em / proc / sys / net / ipv4 / ip_forward .

Se eu testar com um PC conectado na LAN que tenha como gateway 10.101.26.1 não consigo acessar a Internet, então como posso resolver isso?

Obrigado por qualquer ajuda! Atenciosamente

    
por Ghilander 10.07.2015 / 11:04

2 respostas

1

Você precisará de algum tipo de declaração de mascaramento. A razão por trás disso é que, atualmente, os pacotes que chegam da eth2 para a eth1 são identificados pelos endereços 10.101.0.0/16. Esses pacotes 10.101.0.0/16 tentam atravessar a rede via eth1 (192.168.3.0/24). Isso falha porque esses pacotes ainda não foram mascarados como pacotes de 192.168.3.1.

Um pequeno roteiro como este abaixo deve ajudar. Modifique conforme necessário:

#! /bin/bash

IPTABLES=/sbin/iptables

WANIF='eth1'
LANIF='eth2'

# enable ip forwarding in the kernel
echo 'Enabling Kernel IP forwarding...'
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

# flush rules and delete chains
echo 'Flushing rules and deleting existing chains...'
$IPTABLES -F
$IPTABLES -X

# enable masquerading to allow LAN internet access
echo 'Enabling IP Masquerading and other rules...'
$IPTABLES -t nat -A POSTROUTING -o $LANIF -j MASQUERADE
$IPTABLES -A FORWARD -i $LANIF -o $WANIF -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i $WANIF -o $LANIF -j ACCEPT

$IPTABLES -t nat -A POSTROUTING -o $WANIF -j MASQUERADE
$IPTABLES -A FORWARD -i $WANIF -o $LANIF -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i $LANIF -o $WANIF -j ACCEPT

echo 'Done.'
    
por 12.07.2015 / 21:00
0

Com base na sua descrição, suponho que o seu PC esteja atrás de um roteador e que o eth1 esteja conectado à Internet através do roteador. Você teria que criar uma rota estática em seu roteador para 10.101.0.0/16 via 192.168.3.1 de modo que os pacotes de resposta destinados à rede mencionada possam ser encaminhados para o seu PC.

    
por 10.07.2015 / 11:16