I have a VirtualBox machine running CentOS 6.5. I've created 2 network adapters for it in VirtualBox's networking settings for the machine. The first is NAT which I want the guest to use to connect to the Internet and the second I set to Host-only which I will use to SSH and access web server from the host computer. This tutorial over at the VirtualBox forums is what I want to achieve but I can't seem to find the /etc/network/interfaces file on CentOS 6.5 so I presume configuration is done differently.
Having setup both NAT and Host-only adapters, I started the VM and did an ip addr show and I have 2 interfaces, eth0 and eth2 (I don't know why eth1 was somehow skipped). So I configure both ifcfg-ethX files in /etc/sysconfig/network-scripts, setting eth0 to be DHCP (for NAT) and eth2 to be static IP (for Host-only). For eth0, ONBOOT=yes while for eth2, ONBOOT=no. With this setup I can ping the Internet i.e. ping -c 3 www.google.com and it gets a response so I know I can connect to the Internet (while eth2 is down).
Next, I ifup eth2. From the host machine, I SSH using the static IP I've set and I can connect without issue. But when I do ping -c www.google.com this time around, it fails and I know I've lost my connection to the Internet even if eth0 is still up. Doing a route -n shows me a tabular output with eth2 taking up the first and last rows while eth0 is in between (sorry I can't post the actual output because I deleted the VM out of frustration...).
I've created a new CentOS VM and would like to proceed with the same set-up. My networking-fu is close to non-existent so I'm a n00b at it. I would like some tips on how to do it properly (i.e. how to set the NAT adapter to use eth0 and set the Host-only adapter to use eth1 and not eth2, how to make eth0 still usable even if eth1/eth2 is up and running).
Update
So I've got the new VM up and running and it seems to work now if I have the first adapter set to host-only and the second adapter set to NAT. It's set up like so:
VirtualBox network settings
- Network adapter 1: Host-only (
vboxnet0IP address is set to10.3.0.1, network mask255.255.255.0and DHCP is off) - Network adapter 2: NAT (DHCP)
CentOS VM /etc/sysconfig/network-scripts/ifcfg-ethX settings
# ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:EC:6C:B9
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DHCPCLASS=
IPADDR=10.3.0.100
NETMASK=255.255.255.0
GATEWAY=10.3.0.1
# ifcfg-eth2
DEVICE=eth2
HWADDR=08:00:27:EB:73:BA
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
Result of ip route
10.0.3.0/24 dev eth2 proto kernel scope link src 10.0.3.15
10.3.0.0/24 dev eth0 proto kernel scope link src 10.3.0.100
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth2 scope link metric 1003
default via 10.0.3.2 dev eth2
Result of ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ec:6c:b9 brd ff:ff:ff:ff:ff:ff
inet 10.3.0.100/24 brd 10.3.0.255 scope global eth0
inet6 fe80::a00:27ff:feec:6cb9/64 scope link
valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:eb:73:ba brd ff:ff:ff:ff:ff:ff
inet 10.0.0.15/24 brd 10.0.3.255 scope global eth2
inet6 fe80::a00:27ff:feeb:73ba/64 scope link
valid_lft forever preferred_lft forever
vboxnet0(host-only if) was set to192.168.56.1so I guess that's what the default gateway was. I can't recall for the NAT interface.ip routeon the new VM...? And that ofip addr.