iptables encaminhamento e encaminhamento

1

Na verdade, essa questão é sobre openwrt e CoovaAP , mas eu acho que é o mesmo em outras distribuições linux.

Eu tenho duas interfaces, uma "wan" e uma interface "wlan".

Existe por padrão qualquer filtro, que restringe quais pacotes são encaminhados da interface wlan para o wan?

Especialmente se a interface wlan no roteador for 192.168.1.1 e alguém conectado a essa interface inserir 172.16.1.1 como IP em sua máquina. Seus pacotes são encaminhados de qualquer maneira? A decisão de roteamento é composta apenas pelo IP de destino ou é influenciada pela origem?

Eu acho que o problema seria que as respostas para a máquina 172.16.1.1 não retornariam. As regras de redirecionamento do iptables poderiam fazer as interfaces se comportarem como um switch?

Se eu quisesse que o 172.16.x fosse encaminhado, eu poderia configurar um alias nesta interface física. Existe outro jeito?

O script de firewall padrão Coova apenas diz

iptables -A FORWARD -i $WIFI -o $WAN -j ACCEPT

Eu desativei o mascaramento.

É possível "separar" redes desta maneira e confiar nisto? Existe uma maneira de alguém fazer com que seus pacotes sejam encaminhados com um endereço não-192.168.1.x?

A razão para essa pergunta é que, por trás da interface WAN, há máquinas que não devem ser acessadas por usuários de WLAN. Essas máquinas dependem do endereço IP de origem.

    
por chris 16.09.2012 / 11:06

1 resposta

2

Sim, por padrão, há um filtro: por padrão, nenhum pacote é encaminhado. Isso obviamente foi desativado.

Existe um segundo filtro, que pode estar ativado: o filtro de caminho inverso. Se habilitado, os pacotes que chegam em uma interface têm seu endereço de origem verificado na tabela de roteamento, para garantir que a resposta saia pela mesma interface. Caso contrário, o pacote é descartado. Isso está configurado em /proc/sys/net/ipv4/conf/{all,default,devname}/rp_filter .

Além disso, por padrão, o roteamento é feito somente com base no IP de destino.

Quanto à sua terceira pergunta ... Se você tiver uma máquina configurada para 172.16.1.1/24 e tentar definir seu gateway padrão como 192.168.1.1, provavelmente receberá um erro: esse gateway padrão não pode ser acessado (não há rota para isso). Se você aceitar e usá-lo de qualquer maneira (por exemplo, adicionando uma rota a ele), ele enviará o pacote ao seu roteador. Se o filtro de caminho inverso estiver desativado, o roteador aceitará e encaminhará o pacote. Qualquer resposta provavelmente não será útil:

  1. eles podem nem voltar ao seu roteador. Outros roteadores sabem enviar pacotes para 192.168.1.0/24 ao seu roteador, mas não 172.16.1.0/24. Supondo que você configure rotas para que isso aconteça, então ...

  2. seu roteador não sabe para onde enviar pacotes para 172.16.1.0/24. Na verdade, provavelmente pensa que sim e os enviará ao gateway padrão. Se você configurar uma rota no seu roteador para enviá-los de volta para a caixa ...

  3. então provavelmente funcionará.

As alternativas são apenas adicionar outro endereço IP à sua interface wlan. É bastante normal que um roteador tenha pelo menos um endereço IP em cada sub-rede para o qual ele rotear. Você não precisa de uma interface de alias para fazer isso, basta adicionar um segundo IP com ip : ip addr add 172.16.1.254/24 dev wlan . Normalmente, em uma sub-rede de roteador único, o primeiro IP utilizável é o roteador, mas isso é apenas por conveniência; não é um requisito técnico.

iptables aplica-se a todo o tráfego IP que passa pela caixa. Isso inclui tráfego gerado e encaminhado localmente.

Você pode usar o brctl support para conectar wan e wlan (transformá-los em um switch), mas parece que você não quer. Você pode filtrar pontes usando ebtables (não iptables ).

    
por 16.09.2012 / 22:59