Назад | Перейти на главную страницу

Виртуальная машина centos не может получить доступ к Интернету из сети Hyper-V

Проблема

Нет доступа к Интернету. Гость CentOS не получает входящий трафик.

Частная сеть полностью доступна.

Почесываю здесь голову ... У меня нет этой проблемы в Debian / Ubuntu / Windows! :(

Конфигурация:

Дополнительная конфигурация

Некоторая информация, которая может быть полезна

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:15:5D:C8:34:5A
          inet addr:192.168.137.16  Bcast:192.168.137.255  Mask:255.255.255.0
          inet6 addr: fe80::215:5dff:fec8:345a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:111 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12748 (12.4 KiB)  TX bytes:1788 (1.7 KiB)

eth1      Link encap:Ethernet  HWaddr 00:15:5D:C8:34:5C
          inet addr:192.168.137.15  Bcast:192.168.137.255  Mask:255.255.255.0
          inet6 addr: fe80::215:5dff:fec8:345c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:147 errors:0 dropped:0 overruns:0 frame:0
          TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14087 (13.7 KiB)  TX bytes:14587 (14.2 KiB)
          Interrupt:9 Base address:0x2000

netstat -rn

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.137.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.137.1   0.0.0.0         UG        0 0          0 eth0

cat /etc/resolv.conf

; generated by /sbin/dhclient-script
nameserver 192.231.203.132
nameserver 192.231.203.3

кошка / и т. д. / sysconfig / сетевые скрипты / ifcfg-eth0

DEVICE=eth0
HWADDR=00:15:5D:C8:34:5A
TYPE=Ethernet
UUID=b4fefb4d-1d42-4a28-84b3-9a70b6ea65ca
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

кошка / и т. д. / sysconfig / сеть

NETWORKING=yes
HOSTNAME=puppet-free.vm.pe
GATEWAY=192.168.137.1

кот /etc/udev/rules.d/70-persistent-net-rules

# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5d:c8:34:5a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1011:0x0009 (tulip)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:5d:c8:34:5c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Вопросы, на которые я уже смотрел, чтобы ответить на свои (напрасно)

Невозможно пинговать или получить доступ в Интернет

Подключитесь к Интернету с CENTOS 5

Интернет Centos не работает

Мой сервер CentOS 5.7 не может получить доступ к Интернету

У меня была аналогичная проблема с выходом в Интернет с моим сервером CentOS 7 (гость KVM). Мне пришлось настроить сетевой шлюз по умолчанию в /etc/sysconfig/Network добавив IP-адрес моего маршрутизатора (он должен находиться в той же подсети, что и сетевой адаптер, который вы используете для интернет-трафика). На этом этапе я смог выполнить эхо-запрос своего маршрутизатора (шлюза), но все еще не смог получить доступ к общедоступному Интернету (эхо-запросы к google.com не были успешными). Я убедился, что мой DNS-сервер определен в /etc/resolv.conf, но все равно выбраться не удалось. Я проверил службы, которые работали, используя systemctl list-unit-files | grep enabled и увидел, что NetworkManager включен. Я остановил эту службу, затем отключил и БИНГО! Я смог выбраться на Дикий Дикий Запад! Пинги на google.com прошли успешно.

Надеюсь это поможет.

Исправлена!

Хорошо, я узнал, что это было.

Я не жду, чтобы Когда-либо догадались!

У меня два сетевых адаптера:

  • 1x сетевой адаптер Ethernet - 192.168.1.13
  • 1x беспроводной адаптер - 192.168.1.3

Внутренняя сеть Hyper-V работала на беспроводном адаптере с включенным общим доступом к подключению к Интернету (ICS).

Пакеты успешно отправлялись, но по возвращении они переходили на мою карту Ethernet, и они не знали, куда идти оттуда, следовательно, мои виртуальные машины не получали ничего обратно.

Теперь я разделил свою сеть на две части, поэтому моя беспроводная карта включена. 192.168.1.0/24 и моя карта Ethernet на 10.1.1.0/24.

Эта конфигурация теперь работает.

Ура!

Я думаю, ваша проблема заключается в вашей гостевой конфигурации виртуальной машины в Hyper-V, а не в самой ОС. Я не эксперт, но я смутно припоминаю похожие проблемы давным-давно, связанные с тем, какой тип виртуализированного сетевого интерфейса я выбрал в своей конфигурации HyperV.

Для меня решением было удалить сетевой адаптер, настроенный по умолчанию, и добавить адаптер «Устаревшая сеть». После этого вроде как заработало.

Может ли машина с IP-адресом 192.168.137.1 перенаправлять трафик из сети 192.168.137.0/24 в Интернет?

Если это машина Linux, на ней должна быть разрешена пересылка, попробуйте посмотреть /etc/sysctl.conf файл.

На маршрутизирующей машине можно запретить пересылку с помощью iptables (попробуйте exec iptables -L -n и проверьте правила в FORWARD цепь).

Вы можете попробовать установить утилиту tshark (или tcpdump, или tethereal) даже на новом хосте, даже на машине маршрутизации, и смотреть пакеты. Затем вы можете на новой машине exec ping 4.4.4.4, например, и вы увидите, может ли маршрутизатор правильно пересылать пакет на следующий переход.

Если у вас есть другой маршрутизатор в сети: знаете, что это другой маршрутизатор, что ваш первый маршрутизатор (с одним из IP-адресов 192.168.137.1) маршрутизирует эту сеть? Попробуйте проверить это, выполнив команду ping 192.168.137.1 на следующем маршрутизаторе (желательно пограничном маршрутизаторе). Если этот пинг не работает, вам нужно установить статический маршрут, примерно так: ip route add 192.168.137.0/24 via x.x.x.x, где x.x.x.x - IP-адрес маршрутизатора, у которого другой адрес 192.168.137.1.

Мне очень жаль мой английский, но я верю, что этот пост может вам помочь ...