
Eu criei duas pontes VLAN em um sistema baseado em openwrt que possui uma única interface física.
*) eth0->lan->br-lan
*) br-lan->br-lan.2(VLAN INTF)->br-vlan2(BRIDGE INTF)
*) br-lan->br-lan.20(VLAN INTF)->br-vlan20(BRIDGE INTF)
Estou executando um servidor DHCP em uma máquina Ubuntu.
Estou tentando rotear entre a vlan para abrir a comunicação intervlan. Mas não consegui.
o que eu fiz foi
iptables -t nat -I POSTROUTING -o br-vlan2 -j MASQUERADE
iptables -A FORWARD -i br-vlan2 -o br-vlan20 -mstate --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i br-vlan20 -o br-vlan2 -j
ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
E tentei atualizar /etc/config/firewall com regras de encaminhamento
config zone
option name 'vlan2'
list network 'br-lan.2'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
config zone
option name 'vlan20'
list network 'br-lan.20'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
config forwarding
option src 'br-lan.2'
option dest 'br-lan.20'
config forwarding
option src 'br-lan.20'
option dest 'br-lan.2'
O que há de errado aqui? E sou iniciante nos conceitos de roteador.
Editar:
É assim que minha configuração se parece
IP: 192.168.2.10 192.168.20.10
GW: 192.168.2.1 192.168.20.1
|client 1| |client 2|
^ ^
____|______________|________
| br-vlan2 | br-vlan20 |
_____________ |192.168.2.2 | 192.168.20.2 |
| | |_____________|______________|
| 192.168.1.1 | | |br-lan IP: 192.168.1.2|
| router |---->|eth0| GW: 192.168.1.1 |
|_____________| |____|_______________________|
| x86 machine as AP |
|____________________________|
Responder1
O roteador OpenWRT comum geralmente possui uma única interface Ethernet na CPU que é conectada internamente a um chip "smart switch". Outras portas do switch são disponibilizadas externamente como conectores, uma geralmente rotulada como "WAN" e outras como "LAN". O switch é configurado da seguinte maneira: o link CPU-switch é tronco (todas as VLANs são marcadas), uma porta ("WAN") é transformada em uma VLAN não marcada e as demais portas ("LAN") são transformadas em outras VLAN não marcadas. Esta é essencialmente a configuração padrão do "roteador no stick", onde o switch funciona como um simples extensor de porta para um roteador com baixa contagem de portas.
O resto se parece exatamente com o seu caso, o computador Linux que possui uma única interface Ethernet. Para complementar a configuração do switch, ele é dividido em subinterfaces VLAN. Então, essas subinterfaces são configuradas de acordo com sua função: a LAN é colocada em uma ponte com interface(s) WLAN, enquanto a WAN é configurada sem pontes.
Esta configuração se parece com a seguinte (eth0 é a única interface do roteador):
- eth0 tem duas subinterfaces VLAN, .1 e .2
- eth0.1 e wlan0 e wlan1 são combinados em br-lan que tem endereço IP atribuído e colocado na zona LAN
- eth0.2 também tem endereço atribuído.
Caso você realmente precise de pontes, este é o caminho a seguir:
config interface 'vlan20'
option ifname 'eth0.20'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option ipaddr '192.168.20.1'
config interface 'vlan2'
option ifname 'eth0.2'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option ipaddr '192.168.2.1'
Isso seria traduzido em: Duas subinterfaces VLAN serão criadas a partir de eth0
, e duas pontes criadas, br-vlan20
e br-vlan2
. Cada subinterface VLAN participará de sua própria ponte. As pontes então têm IPs atribuídos.
Se você não precisar de uma ponte (por exemplo, se não estiver planejando adicionar outras interfaces), basta remover option type 'bridge'
line da definição.
Cuidado, o dispositivo do outro lado do eth0
link neste caso deve estar preparado para lidar com frames etiquetados!
A configuração do firewall para este caso pode ser assim:
config zone
option name 'zone20'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option network 'vlan20'
config zone
option name 'zone2'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option masq '1'
option network 'vlan2'
config forwarding
option src 'zone20'
option dest 'zone2'
config forwarding
option src 'zone2'
option dest 'zone20'
Observe como as opções zone
do ' network
no firewall correspondem aos interface
nomes do ' no network
arquivo de configuração. Os nomes das interfaces do Linux aparecem apenas uma vez no network
arquivo de configuração e em nenhum outro lugar. forwarding
's src
e dst
opções, no entanto, correspondem às opções zone
de ' .name