Isolando portas em um roteador

1

Uma discussão com o fabricante afirmou que isso não é compatível com o hardware e o sistema operacional do roteador.

    
por uihdff 03.10.2017 / 14:24

1 resposta

1

Interpretação da configuração padrão até agora:

O switch Realtek já marca frames com VLAN 1 , as outras portas LAN são marcadas pelo switch Broadcom e aparecem marcadas na porta 8, que está conectada ao SoC. A porta WAN aparece sem tag na porta 8 (se é isso que o "u" significa, a robocfg source é inútil aqui, e não consegui encontrar uma folha de dados).

Adivinha: O driver SoC ethernet associa quadros sem tag com eth0 e quadros marcados com VLAN 1 com eth1 e descarta quadros com todas as outras tags VLAN. O que significa que você pode configurar o switch Broadcom o quanto quiser, você não poderá isolar nenhuma porta usando tags de VLAN.

Esse comportamento é testável removendo eth0 e eth1 de todas as pontes, brincando com os IDs de VLAN para ... 8t e ... 8u um bit e enviando pacotes sem e com IDs diferentes de ambos os lados.

Portanto, a tarefa é descobrir o que o driver SoC ethernet realmente faz, e se ele é configurável de alguma forma. Se você pudesse dizer, por exemplo, para rotear VLAN id 10 para eth2 e VLAN id 20 para eth3 , tudo estaria definido.

Se não é o driver SoC ethernet, mas, digamos, eth1 já é um escravo VLAN de eth0 e o kernel faz o redirecionamento, então melhor.

Procure em dmesg após o boot por qualquer dica para eth0 e eth1 , descubra onde /sys/class/net/eth[01]/device aponta e qual módulo do kernel é responsável, etc. Isso requer um pouco de investigação e análise de várias coisas .

Editar

1) Os O comutador Realtek RTL8365MB possui seu próprio módulo de kernel rtl8365mb . Fonte (variante possivelmente diferente) está disponível. Folha de dados de um chip muito semelhante está disponível. Com toda essa informação, deve ser possível escrever algo semelhante a robocfg / swconfig e controlar o switch. Aparentemente, alguns pensaram sobre isso , mas eu não pude google nenhum sucesso.

2) De acordo com a fonte robocfg , a implementação da tabela VLAN da Broadcom e do chip Realtek parece ser semelhante o suficiente para concluir a partir de 8.12.6 na folha de dados que t significa "adicionar tag para saída" e u significa "remover tag incondicionalmente para saída".

3) Seu chipset SoC parece ser um BCM47XX com três etherports no chip, dois dos quais parecem ser usados em outro lugar, e em eth0 :

fwd0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 7.14.131.56 (r641653)
fwd1: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 7.14.131.56 (r641653)
eth0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 7.14.131.56 (r641653)

O módulo de controle é et , o fonte (possivelmente uma variante diferente) está disponível.

Não está totalmente claro para mim se eth1 e eth2 também pertencem a esse driver e se acabaram de se registrar mais tarde ou se pertencem a bcmdhd (WLAN) e / ou se eles são renomeados por udev em algum momento:

Dongle Host Driver, version 1.363.45.58013 (r651509)
Compiled in drivers/net/wireless/bcmdhd on Jun 21 2017 at 10:36:36
Register interface [eth1]  MAC: 34:97:f6:20:1b:a8
... 
Dongle Host Driver, version 1.363.45.58013 (r651509)
Compiled in drivers/net/wireless/bcmdhd on Jun 21 2017 at 10:36:36
Register interface [eth2]  MAC: 34:97:f6:20:1b:ac

O próximo passo é classificar todas as interfaces de rede. Edite a pergunta com a saída de ip -d link e também ls -l /sys/class/net/*/lower* e ls -l /sys/class/net* . Se isso não fornecer informações suficientes, udevadm info -a -p /sys/class/net/eth0 e udevadm info -a -p /sys/class/net/eth1 também seriam interessantes, supondo que o roteador use udev .

Outra coisa para procurar é onde estão as informações de configuração, então modinfo rtl8365mb , modinfo et pode produzir algo interessante, assim como find /etc | xargs grep eth ou coisas semelhantes.

Como você pode ver, eu estou pescando informações; isso é lento e não é fácil de fazer remotamente sem o sistema na minha frente. Sinta-se à vontade para fazer estas ou etapas adicionais de qualquer maneira que ordene as coisas. O objetivo é encontrar o local que diz " eth1 está de alguma forma associado a eth0 com a tag VLAN 1".

    
por 05.10.2017 / 15:02

Tags