Cannot Connect CentOS VM to Internet (NAT Connection)

gordysc picture gordysc · Feb 25, 2014 · Viewed 44.3k times · Source

So after fighting the VMWare network giant for the past day, I decided to give in and ask for help. I have a CentOS 6 image running on Windows 7 using a NAT on VMWare Workstation 8.0.2 build-591240, and for some reason, I can no longer connect to the internet with a static IP address. This seems to only to apply to static, and not DHCP, which tells me it's either: some program on my Windows 7 OS that's blocking the connection for that IP address, or there's something weird that happened to my configuration on the CentOS image.

I didn't know if this was due to a yum update, so I tried reinstalling VMWare tools. This didn't seem to fix the issue. I've also tried the following:

  1. Made sure the VMnet connection was connected (stupid, but had to check... also I can connect to the internet with DHCP)
  2. Made sure my firewall on Windows allowed for VMware to connect to the internet
  3. I've seen/read that Windows sometimes blocks ping requests, so I tried going to www.google.com in Firefox, this got a "Server not found response"... so do I have to do something different for DNS??
  4. I checked the registry of my Windows machine, I only have 1 entry for a default gateway

Like I said, this seemed to happen out of the blue. The image could connect to the internet before with no issue. Is anyone aware of a CentOS update that might cause this? I've added my configuration below to save some debugging cycles:

[root@MyCentOS ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:A0:51:BD
          inet addr:192.168.88.128  Bcast:192.168.88.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:683 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:64242 (62.7 KiB)  TX bytes:8055 (7.8 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1049 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1049 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:68417 (66.8 KiB)  TX bytes:68417 (66.8 KiB)


[root@MyCentOS ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
IPV6INIT="no"
NM_CONTROLLED="no"
ONBOOT="yes"
IPADDR=192.168.88.128
NETMASK=255.255.255.0
GATEWAY=192.168.88.2
TYPE="Ethernet"

[root@MyCentOS ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=MyCentOS
GATEWAY=192.168.88.2

[root@MyCentOS ~]# service iptables status
iptables: Firewall is not running.
[root@MyCentOS ~]# service ip6tables status
ip6tables: Firewall is not running.
[root@MyCentOS ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

[root@MyCentOS ~]# ping 192.168.88.2
PING 192.168.88.2 (192.168.88.2) 56(84) bytes of data.
64 bytes from 192.168.88.2: icmp_seq=1 ttl=128 time=0.391 ms
64 bytes from 192.168.88.2: icmp_seq=2 ttl=128 time=0.271 ms
^C
--- 192.168.88.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1349ms
rtt min/avg/max/mdev = 0.271/0.331/0.391/0.060 ms

[root@MyCentOS ~]# ping www.google.com
ping: unknown host www.google.com

[root@MyCentOS ~]# uname -a
Linux MyCentOS 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@MyCentOS ~]# vmware-toolbox-cmd -v
8.8.2.10499 (build-590212)

Answer

Programmer picture Programmer · May 13, 2014

The best option is to let it grab an ip automatically from DHCP:

dhclient -v

This will let centos get an ip automatically.