ipt_ encaminhamento de configuração entre duas interfaces ethernet

2

Eu quero criar um gateway no linux que tenha 2 interfaces eth0 e eth1.

A Eth1 é criada por um modem lte e assim que o modem lte se conecta à rede e obtém um endereço IP. Em seguida, um servidor dhcp é executado no gateway para fornecer esse endereço IP (exemplo: 10.20.30.6) ao PC conectado à rede eth0 lan. então eth0 é atribuído com o endereço IP 10.20.30.1

Agora a própria eth1 não recebe nenhum endereço IP.

Agora eu gostaria de encaminhar todos os pacotes recebidos do pc na interface lan eth0 para a interface eth1 wan.

Por favor, sugiram-me as regras das tabelas ip que eu preciso usar para criar este encaminhamento.

Por favor, note que devido à limitação do modem lte, o modo bridge não pode ser usado e devido à limitação da arquitetura a ser criada, o modo NAT também não pode ser usado.

    
por Syed Aslam 01.08.2015 / 22:42

1 resposta

1

Onde você está indo, você não precisa do iptables.

O que eu entendo que você quer fazer é ter o gateway encaminhando pacotes IP entre duas interfaces sem que o gateway realize qualquer NAT nos pacotes encaminhados. Você pode fazer isso sem quaisquer regras iptables.

Meu conhecimento de LTE está faltando. Portanto, se houver alguma advertência específica ao LTE, não serei capaz de ajudá-lo com isso. Na minha maioria, minha resposta será assumir que eth0 e eth1 estão executando o IPv4 comum na Ethernet.

Antes de tudo, você precisa garantir que o encaminhamento esteja ativado:

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

Os pacotes que chegam da Internet chegarão em eth1 . Mas o remetente desses pacotes pode precisar executar solicitações ARP para 10.20.30.6 , que não está atribuído ao seu gateway. Portanto, o seu gateway não responderá a essas solicitações ARP, a menos que você ative o proxy do ARP:

echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp

Uma vez que a resposta ARP foi enviada, o restante do processamento dos pacotes recebidos acontece usando o encaminhamento de pacotes IP, sem a necessidade de magia.

Pacotes do PC para o gateway não requerem truques para chegar ao gateway através de eth0 . A parte complicada é como fazê-los sair da interface eth1 .

Você precisa de uma rota default . Mas o gateway para essa rota presumivelmente seria 10.20.30.1 , que você acabou de atribuir a eth0 no gateway que está configurando. No entanto, se você souber o endereço MAC do gateway original, poderá fazê-lo funcionar sem precisar de um endereço IP real do gateway.

Primeiro, você inventa um endereço IP de gateway de espaço reservado (deve ser um endereço RFC 1918, que não precisa se comunicar de outra forma). Para o exemplo, assumirei 10.1.2.3 :

ip neigh add 10.1.2.3 lladdr xx:xx:xx:xx:xx:xx dev eth1
ip route add 10.1.2.3 dev eth1
ip route add default via 10.1.2.3

Como 10.1.2.3 é criado como uma entrada permanente no cache do ARP em seu gateway, nenhuma solicitação ARP será enviada para esse endereço. Isso significa que não será um problema que o próximo gateway não tenha conhecimento do endereço IP de espaço reservado escolhido.

    
por 02.08.2015 / 18:36