I guess I had not paid attention to the types of networks in virtualbox and had not noticed the "internal" network. I did that and can ping between vhosts on internal network. I have done masquerading through Linux, even through an IP and alias IP on the same nic, and bind9 as caching nameserver with zone for my LAN, but that was a long time ago and I have not used webmin.
I did use ufw based on https://help.ubuntu.com/lts/serverguide/firewall.html to configure masquerade on one vhost and was able to ping through it from other vhost
Code:
efflandt@vb1404-64:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
efflandt@vb1404-64:~$ ping -c1 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.540 ms
--- 192.168.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.540/0.540/0.540/0.000 ms
Other vhost's bridged IP (real LAN IP):
efflandt@vb1404-64:~$ ping -c1 172.16.0.145
PING 172.16.0.145 (172.16.0.145) 56(84) bytes of data.
64 bytes from 172.16.0.145: icmp_seq=1 ttl=64 time=0.443 ms
--- 172.16.0.145 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.443/0.443/0.443/0.000 ms
DSL gateway:
efflandt@vb1404-64:~$ ping -c1 172.16.0.254
PING 172.16.0.254 (172.16.0.254) 56(84) bytes of data.
64 bytes from 172.16.0.254: icmp_seq=1 ttl=63 time=1.96 ms
--- 172.16.0.254 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.960/1.960/1.960/0.000 ms
Internet:
efflandt@vb1404-64:~$ ping -c1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=47 time=20.9 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 20.987/20.987/20.987/0.000 ms
Bookmarks