Estou tentando configurar uma máquina virtual Ubuntu Desktop 17.04 para atuar como um roteador / gateway para outras VMs que possuo em uma rede isolada (não conectada à Internet).
Eu segui as instruções do URL a seguir para configurar Ubuntu Desktop como um roteador (que eu assumi que me permitiria usar o Ubuntu VM como um gateway de internet para as VMs do Windows):
Deixe-me dizer que sou um noob completo no Linux / Ubuntu. Eu fiz um trabalho muito mínimo em sistemas Linux / Unix no passado, mas tem sido extremamente raro e ao longo de muitos anos. Basicamente toda vez que eu olho para um sistema Linux, é quase como se fosse minha primeira vez.
Eu tenho o Ubuntu 17.04 Desktop com o open-vm-tools-desktop no VMWare Player 12. Eu tenho 2 NICs instaladas. Ambos estão definidos como Manual no IPv4. Um é configurado com um IP NAT estático que possui conectividade com a Internet e o segundo é configurado com um IP estático em um segmento de LAN isolado que contém VMs do Windows. Eu não estou usando o IPv6. Os nomes NIC na VM Ubuntu Desktop de ifconfig são:
ens33 - Internet (eth1 in example from the above URL)
ens38 - LAN (eth0 in example from the above URL - the gateway is set to the same as the IP)
A VM do Ubuntu tem conectividade com a Internet (verificada por meio do ping www.google.com, conectividade do Firefox e atualizações de software).
Além de configurar as NICs do Ubuntu através da GUI, eu emiti os seguintes comandos (sem incluir os comentários anteriores a ----):
---- Enable IP forwarding commands:
sudo sh -c "echo 1 /proc/sys/net/ipv4/ip forward’’
Eu editei /etc/sysctl.conf e removi o símbolo # comment da linha abaixo e salvei o arquivo:
# net.ipv4.ip forward=1
---- Comandos de IP Masquerading:
sudo iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
sudo iptables -A FORWARD -i ens33 -o ens38 -m state -–state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i ens38 -o ens33 -j ACCEPT
# iptables-save > /etc/iptables.rules
Eu posso fazer o ping do IP da NIC da LAN isolado do Ubuntu a partir das VMs do Windows, no entanto, não consigo receber nenhuma resposta de ping da NIC conectada à Internet na VM do Ubuntu ou acessar a Internet.
Eu não estou usando DHCP de nenhuma forma no Ubuntu se isso importa (eu tenho um servidor DHCP separado na LAN isolada, assim como algumas máquinas IP estáticas).
Alguém poderia me dizer o que eu perdi na configuração (espero que seja algo simples ...)?
Eu encontrei outra postagem de outra pessoa que estava tentando configure isso aqui. Percebo que algumas das minhas configurações são diferentes, mas não tenho certeza se esse é o problema ou se pode estar relacionado a diferentes versões do Ubuntu? Meu arquivo de interfaces não tem alguns dos valores, mas não tenho certeza se eles são necessários já que as NICs são configuradas via GUI ?? Existem algumas diferenças nas rotas, mas eu estou supondo que não é um problema .... Existem algumas diferenças no IPtables, que eu estou supondo que seja a questão ??
As minhas informações de configuração estão abaixo:
ifconfig:
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.135.140 netmask 255.255.255.0 broadcast 192.168.135.255
inet6 fe80::20c:29ff:fede:3b37 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:de:3b:37 txqueuelen 1000 (Ethernet)
RX packets 3003 bytes 263817 (263.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 301 bytes 29406 (29.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.201.1 netmask 255.255.255.0 broadcast 192.168.201.255
inet6 fe80::20c:29ff:fede:3b41 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:de:3b:41 txqueuelen 1000 (Ethernet)
RX packets 96 bytes 9581 (9.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 246 bytes 25007 (25.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 354 bytes 26006 (26.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 354 bytes 26006 (26.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Interfaces:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
sysctl.conf:
net.ipv4.ip_forward=1
Rotas:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.135.2 0.0.0.0 UG 0 0 0 ens33
0.0.0.0 192.168.201.1 0.0.0.0 UG 0 0 0 ens38
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ens33
192.168.135.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.201.0 0.0.0.0 255.255.255.0 U 0 0 0 ens38
IPtables:
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
Configuração do PC Cliente (Windows 2012R2 na LAN NIC):
IP: 192.168.201.5
Subnet: 255.255.255.0
Gatewaay: 192.168.201.1