I'm running Ubuntu 12.04 Server x86. Network connectivity is on eth2 for the host server (the 10ge card). I installed VirtualBox 4.2 using the downloadable deb package from VirtualBox's website. Then I installed phpvirtualbox.
I created a vm with a bridged network card and it can ping out (www.google.ca), I can ping it from my workstation (not the host machine) but it has no http connectivity. When I curl http://www.google.ca it times out.
We operate a private subnet and a public subnet that go into the same switch. The switch is plugged in to two upstream routers. Both the upstream routers have virtual ips set up as the gateways for these subnets. The routers perform source NAT for the private subnet. The VM host is on the private for security reasons (VPN connection is required for management of the virtual machines).
Should I see a bridge adapter on the host server when the VM starts? I don't see one.
On the host:
swiftfox@xenb:/etc/udev/rules.d$ ip route default via 10.174.2.1 dev eth2 metric 100 10.174.2.0/24 dev eth2 proto kernel scope link src 10.174.2.12 swiftfox@xenb:/etc/udev/rules.d$ sudo iptables -L -nv Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
On the guest:
default via 18.104.22.168 dev eth0 metric 100 22.214.171.124/26 dev eth0 proto kernel scope link src 126.96.36.199
No rules in iptables
Here is a tcpdump run on the host server when the guest vm attempts curl google.ca: