Estou tentando operar duas sub-redes, a primeira sub-rede no intervalo 192.168.0.0/24
está livre para acessar o que quiser, incluindo máquinas na segunda sub-rede. a segunda sub-rede no intervalo 10.0.0.0/24
é restrita a somente poder acessar o mundo externo. Eu não quero que máquinas com uma fonte dentro de 10.0.0.0/24
consigam acessar máquinas no intervalo 192.168.0.0/24
, mas eu quero que ele seja capaz de ir para fora.
Além disso, no intervalo 192.168.0.0/24
eu também quero 2 gateways, sendo o primeiro o gateway padrão (atualmente na forma de uma VM Ubuntu) que roteia o tráfego via vpn, seu endereço é 192.168.0.250
e o segundo gateway (que é o roteador sem fio TP-Link voltado para a Internet) em 192.168.0.1
(também o servidor DHCP e DNS para o intervalo 192.168.0.0/24
)
Eu também tenho um terceiro gateway para fazer a ponte entre as duas sub-redes, outra VM do Ubuntu com 2 NICS, sendo a primeira 192.168.0.251
e a segunda 10.0.0.1
Agora que expliquei a rede que quero, aqui está minha configuração e o que estou experimentando:
Ubuntu VM em 192.168.0.250
a tabela de rotas em 192.168.0.250
tem esta aparência:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 192.168.0.251 255.255.255.0 UG 0 0 0 eth0
10.8.0.0 * 255.255.0.0 U 0 0 0 tun0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
. 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
Eu adiciono as rotas via
ip rule add from 192.168.0.0/24 table default
ip route add 10.0.0.0/24 via 192.168.0.251
ip rule add from 10.0.0.0/24 table sandboxgateway
ip route add default via 192.168.0.1 dev eth0 table sandboxgateway
Se eu remover as duas linhas sandboxgateway
, posso acessar 10.0.0.1
, mas qualquer coisa na faixa 10.0.0.X
está acessando a internet através da VPN, que não é o que eu quero.
e seu iptable se parece com isso:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ubuntu VM em 192.168.0.251/10.0.0.1
a tabela de rotas em 192.168.0.251(eth0)/10.0.0.1(eth1)
tem esta aparência:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
default 192.168.0.250 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
e o seu iptable é assim:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- 10.0.0.0/24 192.168.0.0/24
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
O problema
O problema que estou tendo é que enquanto minha máquina em 192.168.0.2
pode acessar o mundo externo por meio de 192.168.0.1
ou 192.168.0.250
como seu gateway, assim como minha máquina em 10.0.0.10
acessa o mundo externo sem acessar nada em 192.168.0.X
, minha máquina em 192.168.0.2
não pode acessar 10.0.0.1
ou 10.0.0.10
, e tracert
do prompt de comando do windows resulta em
Rastrear rota para 10.0.0.1 em um máximo de 30 saltos
1 <1 ms <1 ms <1 ms 192.168.0.250
2 * * * Request timed out.
3 * * * Request timed out.
Por que 192.168.0.250
não está roteando para 192.168.0.251
??
Desculpas se incluímos demasiada ou pouca informação, por favor pergunte se é necessário algum detalhe adicional para responder a esta pergunta.