Не удается подключить виртуальную машину CentOS к Интернету (NAT-соединение)
Так что после борьбы с сетевым гигантом VMWare за прошедший день я решил сдаться и попросить помощи. У меня есть образ CentOS 6, работающий в Windows 7 с использованием NAT на VMWare Workstation 8.0.2 build-591240, и по какой-то причине я больше не могу подключиться к Интернету со статическим IP-адресом. Похоже, это относится только к статическому, а не к DHCP, что говорит мне о том, что это либо: какая-то программа в моей ОС Windows 7, которая блокирует соединение для этого IP-адреса, либо что-то странное, что случилось с моей конфигурацией в образе CentOS.
Я не знал, произошло ли это из-за обновления yum, поэтому я попытался переустановить инструменты VMWare. Похоже, это не решило проблему. Я также попробовал следующее:
- Убедитесь, что подключение к VMnet было подключено (глупо, но пришлось проверить... также я могу подключиться к Интернету с помощью DHCP)
- Убедитесь, что мой брандмауэр в Windows разрешил VMware подключаться к Интернету.
- Я видел / читал, что Windows иногда блокирует пинг-запросы, поэтому я попытался зайти на www.google.com в Firefox, и он получил "Ответ сервера не найден"... так что мне нужно сделать что-то другое для DNS??
- Я проверил реестр моей машины Windows, у меня есть только 1 запись для шлюза по умолчанию
Как я уже сказал, это, казалось, произошло неожиданно. Изображение может подключаться к Интернету раньше без проблем. Кто-нибудь знает об обновлении CentOS, которое может вызвать это? Я добавил свою конфигурацию ниже, чтобы сохранить некоторые циклы отладки:
[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)
7 ответов
Лучший вариант - позволить ему автоматически захватывать ip из DHCP:
dhclient -v
Это позволит centos получить IP автоматически.
Для дальнейших читателей
Я столкнулся с той же проблемой. Иногда проблема может быть в главном компьютере (Windows 10 и VMware Workstation 12), например, в моем случае.
Проверьте, запущена ли служба VMnetDHCP.
right click on windows icon -> task manager -> service tab
если нет, то запустите службу и перезапустите гостевую ОС в VMware.
Я просто исправил эту проблему, не уверен, что кто-то нашел душевность. Как я исправил это для себя было в VMware (у меня 12-я версия) я пошел в
- редактировать
- Редактор виртуальных сетей
- Восстановить значения по умолчанию
- затем нажмите ОК
- Я переустановил Centos 7
- Нажмите на сеть и имя хоста
- Нажмите на для Ethernet
- Подождите, пока детали для заполнения, например, IP-адрес, маска подсети, DNS...
- Работает.
Возможно, вам не придется удалять ОС, попробуйте сначала перейти к редактированию и редактору виртуальной сети и сначала восстановить настройки по умолчанию. Это должно работать для всех ОС, которые вы устанавливаете на VMware.
Из того, что я вижу, проблема может быть в том, что вы пропустили настройку записей DNS в виртуальной машине при настройке IP-адреса.
Пожалуйста, отредактируйте
nano /etc/resolv.conf
nameserver 192.168.88.2
Сервер имен должен быть DNS-сервером вашей сети, если это ваш домашний маршрутизатор, он должен совпадать с вашим шлюзом, или просто проверить сеть вашего компьютера и назначить тот же DNS-адрес.
Также, если вы хотите использовать статический IP-адрес, просто измените режим на мостовую сеть и назначьте IP-адрес и DNS вашей сети.
У адаптера Nt другой IP-адрес в другой подсети, чем у вашей сети с мостовым соединением, которая совпадает с сетью вашего компьютера.
Это была и моя проблема. Когда вы создаете NAT в VMware Workstation следующим образом:192.168.X.0/24, ваш IP-адрес HOST будет:
vmnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.X.1 netmask 255.255.255.0 broadcast 192.168.X.255
ether <GENERATED MAC ADDRESS> txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1264 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
вы должны изменить шлюз NAT. (например, 192.168.X.254) как в VM, так и в редакторе виртуальной сети.
УБЕДИСЬ, ЧТО ТЫ PREFIX=
НЕ ЯВЛЯЕТСЯ /32
и является 24
или заменить на NETMASK=255.255.255.0
Простая ошибка
найдено в вашем
/etc/sysconfig/network-scripts/eth****