Also in the last week, I have upgraded from VMWare Workstation 11 to VMWare Workstation 14. So, there have been some big changes in my environment recently.
Now, in my vmware environment, I have a virtual network called vmnet1. This network is a host-only network, which means it has no access to any interfaces that leave the host; any VMs that are assigned on this network are only networked within the host. I use this network to control my Windows virtual machines. I can run them while denying them access to the internet, or I can allow them to have access to the internet by adding two rules into iptables.
Those two rules are these:
- Code: Select all
sudo iptables -t nat -A POSTROUTING -s 172.16.187.0/24 -j SNAT --to-source 192.168.0.2
sudo iptables -I FORWARD -s 192.168.0.0/24 -d 172.16.187.0/24 -j ACCEPT
I have used this mechanism since the day I created a Windows 7 vm and saw how much it wanted to talk to Microsoft. This mechanism has worked flawlessly in all that time.
Until now.
These rules no longer connect my windows subnet to the internet.
I have used tcpdump -i vmnet1 and confirmed that traffic is arriving on the interface, so this is nothing that the new version of VMWare Workstation is doing.
I thought that the new version of shorewall might be responsible, so I tried several things. I disabled it and applied only my two rules; no change. However, the windows VMs could no longer ping vmnet1; it seems that some rule is required to make that possible.
I studied the docs and implemented the SNAT rule in the /etc/shorewall/snat file - and shorewall put it into iptables the same way I do - but it didn't work; traffic appears at vmnet1 and no matching traffic appears outgoing at eth0 (which is my WAN interface)
I have run
- Code: Select all
iptables -L -v -n
This looks a lot like some change in iptables. I searched the release notes for Mageia 6 and the errata, and found nothing. A search of the wiki turns up nothing useful.
I am wondering about the fact that with no rules in iptables pinging vmnet1 from a guest on that net does not work; I think I need to figure out what rule has to be bound to that interface to allow pinging. Probably a clue.
Does anybody here have any knowledge about this?