Eu tenho um sistema com três interfaces de rede. Abaixo está a configuração que estou tentando configurar.
wlan0 (é na verdade uma interface AP WiFi) - outros dispositivos se conectam através desta interface.
net1 - interface voltada para a internet que precisa ser ligada ao wlan0 para fornecer serviços de internet para dispositivos conectados via wlan0.
net0 - interface voltada para o acesso restrito à Internet para responder a consultas apenas para solicitações dentro dessa sub-rede.
A interface padrão é net0 e seu gateway. A saída do ip route show é assim:
default via 10.228.103.241 dev net0
10.228.103.240/30 dev net0 src 10.228.103.242
Agora eu gostaria que o sistema consultasse a tabela 7 para regras de rota para todas as solicitações para eth0 e
net1. So I created ip rules as below:
0: from all lookup local
32758: from all lookup main
32762: from 8.8.0.0/16 lookup iTbl
32764: from 192.168.225.1 lookup iTbl
32765: from 192.168.172.2 lookup iTbl
32767: from all lookup default
8.8.0.0 é para servidores de nomes. É listado como iTbl porque eu defini 7 como iTbl em / etc / iproute2 / rt_tables.
ip route show para a tabela 7 se parece com isso:
default via 192.168.172.3 dev net1
8.8.0.0/16 via 192.168.172.3 dev net1
192.168.172.0/24 dev net1 src 192.168.172.2
192.168.225.0/24 dev wlan0 src 192.168.225.1
E finalmente meu iptables é assim:
iptables -nvL
Chain INPUT (policy ACCEPT 245 packets, 49904 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3 180 ACCEPT all -- wlan0 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 190 packets, 19182 bytes)
pkts bytes target prot opt in out source destination
iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 22 packets, 2205 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 21 packets, 2145 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 91 packets, 7782 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 90 packets, 7226 bytes)
pkts bytes target prot opt in out source destination
2 616 MASQUERADE all -- * net1 0.0.0.0/0 0.0.0.0/0
Quando eu conectei um dispositivo à interface wlan0 e tentei navegar na internet, o tcpdump mostra que todas as requisições do wlan0 parecem ir via net0, o que realmente tem que ser via net1 desejavelmente. Eu li muitos posts e fóruns. Depois de tentar coisas diferentes, não consegui resolver o problema. Eu não sou capaz de entender onde está indo mal. A partir do tcpdump e logicamente olhando para ele, parece que a pesquisa de regra de ip para a tabela 7 não está funcionando. Por favor, ajude a verificar se alguma das regras tem que ser corrigida.