VLAN na interface em ponte?

1

Eu tenho batido minha cabeça contra isso por muito tempo e realmente aprecio uma segunda opinião / teste de sanidade:

A interface LAN eth1 é conectada em conjunto com o OpenVPN tap0 em br0 (192.168.2.1). Eu gostaria de adicionar o subif eth1.100 à eth1 (em ponte) para uma VLAN convidada que fornecerá acesso à Internet apenas para um subconjunto de caixas de LAN (192.168.22.0/24).

Parece que isso não é tão simples quanto eu pensava, porque qualquer tráfego marcado aparentemente terminará na ponte por meio da interface do host. Seguindo sugestões deste tópico

Vlans do Linux sobre o Bridge

Eu tentei uma configuração de "ponte dupla" com eth1- > eth.0- > br0 e eth1- > eth.100- > br1, que interrompeu o tráfego em minha configuração br0 existente.

Segunda melhor opção com 'ebtables -t broute -A BROUTING -i eth1 -p 802_1Q -j DROP' e eth1.100 apenas (sem ponte adicional) produz praticamente o mesmo comportamento que eth1.100 s / o BROUTING tabela de entrada: Eu posso pingar o subif do host local, mas pings de clientes dentro da VLAN retornam com uma taxa de perda de 50% e 'Host de destino inacessível'.

Tudo isso no Debian 9.1, vlan v. 1.9-3.2 e bridge-utils v. 1.5-13.

Editado para fornecer mais detalhes: aparentemente, o tráfego de VLAN atinge a ponte, e eu recebo "fonte marciana 192.168.22.1 de 192.168.22.100 em dev br0" para pings do cliente 192.168.22.100 para eth1.100 (192.168.22.1 ). Pelo que entendi o comando ebtables acima, 'drop' na tabela broute significa 'route frame instead of bridge'. Então isso está acontecendo aqui? Em caso afirmativo, por que esses pacotes seriam considerados "marcianos"?

Saída do 'brctl show':

nome da ponte | id da ponte | STP ativado | Interfaces
br0 | 8000.a0b3cce4c5a9 | não | eth1 + tap0

Saída de 'ifconfig eth1':

flags = 4163 mtu 1500
éter a0: b3: cc: e4: c5: a9 txqueuelen 1000 (Ethernet)

Saída de 'ifconfig eth1.100':

flags = 4163 mtu 1500
inet 192.168.22.1 netmask 255.255.255.0 transmissão 192.168.22.255
éter a0: b3: cc: e4: c5: a9 txqueuelen 1000 (Ethernet)

Saída de 'ifconfig br0':

flags = 4163 mtu 1500
netet 192.168.2.1 inet 255.255.255.0 transmissão 192.168.2.255
éter a0: b3: cc: e4: c5: a9 txqueuelen 1000 (Ethernet)

iptables:

iptables -A INPUT -i eth1.100 -j ACCEPT
iptables -A OUTPUT -o eth1.100 -j ACCEPT

iptables -A FORWARD -i eth1.100 -o $ EXTERNAL_INTERFACE -j ACEITAR
iptables -A FRENTE -i $ EXTERNAL_INTERFACE -o eth1.100 -j ACEITAR

    
por canut 23.10.2017 / 01:55

0 respostas