Estou seguindo este tutorial: link com ref mais especificamente para esta seção: link
Eu tenho o MAAS em execução no VMWare Fusion no High Sierra 10.13.3.
Não consigo descobrir por que as interfaces internas não podem rotear para as interfaces externas.
Tentando executar o ping da VM (192.168.30.35) para 192.168.1.1 (meu gateway de rede externo, recebo:
From 192.168.30.35 icmp_seq=2468 Destination Host Unreachable
From 192.168.30.35 icmp_seq=2469 Destination Host Unreachable
From 192.168.30.35 icmp_seq=2470 Destination Host Unreachable
Aqui estão as interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
dns-nameservers 192.168.1.1
dns-search maas
# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.1.55/24
gateway 192.168.1.1
dns-nameservers 192.168.1.1
mtu 1500
auto ens34
iface ens34 inet manual
mtu 1500
auto br1
iface br1 inet static
address 192.168.30.1
netmask 255.255.255.0
dns-nameservers 192.168.30.1
bridge_ports ens34
bridge_stp off
bridge_fd 0
bridge_maxwait 0
De acordo com o guia, adicionei o seguinte:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i ens33 -o br1 -m state \
--state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i br1 -o ens33 -j ACCEPT
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
Eu também transformei isso em uma regra persistente com iptables-persistent e adicionada masquer
Aqui está meu roteamento (provavelmente irrelevante):
default via 192.168.1.1 dev ens33 onlink
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.55
192.168.30.0/24 dev br1 proto kernel scope link src 192.168.30.1
Aqui estão as minhas regras do iptables. Com toda honestidade, eu provavelmente estou adivinhando mais do que tudo:
kurt@ZEUS-01:~$ iptables -v -x -n -L --line-numbers
Chain INPUT (policy ACCEPT 191878 packets, 100977885 bytes)
num pkts bytes target prot opt in out source
destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source
destination
1 0 0 ACCEPT all -- ens33 br1 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 0 0 ACCEPT all -- br1 ens33 0.0.0.0/0 0.0.0.0/0
3 0 0 ACCEPT all -- ens33 br1 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
4 0 0 ACCEPT all -- br1 ens33 0.0.0.0/0 0.0.0.0/0
5 0 0 ACCEPT all -- ens33 ens34 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6 0 0 ACCEPT all -- ens34 eth33 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 180010 packets, 440003135 bytes)
num pkts bytes target prot opt in out source destination
Finalmente, aqui estão as regras do mascarado / nat:
kurt@ZEUS-01:~$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 213 packets, 22728 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 213 packets, 22728 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 230 packets, 20142 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 75 packets, 7424 bytes)
pkts bytes target prot opt in out source destination
162 13106 MASQUERADE all -- * ens33 0.0.0.0/0 0.0.0.0/0
0 0 MASQUERADE all -- * ens33 0.0.0.0/0 0.0.0.0/0
Acredito que meu problema esteja em algum lugar em minhas regras de masquerading ou NAT. Se alguém puder fornecer orientação, eu agradeceria.
ATUALIZAÇÃO: Eu descobri que parte do problema é que o gateway padrão estava configurado incorretamente. Ao adicionar minha sub-rede, o padrão é 192.168.30.254. Embora a documentação do tutorial sugira a validação, solicitei uma atualização para os documentos com informações mais explícitas, indicando que o gateway real deveria ser 192.168.30.1. Abaixo, é mostrada a janela padrão.
A parte final desta questão que ainda precisa ser respondida é se as regras descritas no tutorial são suficientes.