Вопрос или проблема
У меня следующая проблема:
У меня есть виртуальная машина с установленной CentOS. С этой машины я не могу подключиться к интернету, поэтому не могу обновить ничего установленного на ней.
Конфигурация виртуальной машины следующая:
В меню Настройки -> Сеть
- Адаптер 1
- NAT
- Адаптер 2
- Только адаптер хоста
- Имя: vboxnet0
- Режим Promiscuous: Отклонить
- Кабель подключен: да
В меню Файл->Настройки->Сеть, в Сетях только для хоста, vbonenet0:
- IPv4 Адрес: 192.168.101.1
- Маска новой сети Ipv4: 255.255.255.0
- IPv6 Адрес: fe80:0000:0000:0000:0800:27ff:fe00:0000
- Длина префикса IPv6: 64
Когда я на машине:
ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:55:45:B3
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe55:45b3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1699 (1.6 KiB) TX bytes:1414 (1.3 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:D7:3D:E9
inet addr:192.168.101.129 Bcast:192.168.101.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fed7:3de9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:477 errors:0 dropped:0 overruns:0 frame:0
TX packets:452 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:89736 (87.6 KiB) TX bytes:183141 (178.8 KiB)
ping 192.168.101.129
PING 192.168.101.129 (192.168.101.129) 56(84) bytes of data.
64 bytes from 192.168.101.129: icmp_seq=1 ttl=64 time=0.013 ms
64 bytes from 192.168.101.129: icmp_seq=2 ttl=64 time=0.027 ms
64 bytes from 192.168.101.129: icmp_seq=3 ttl=64 time=0.031 ms
64 bytes from 192.168.101.129: icmp_seq=4 ttl=64 time=0.048 ms
64 bytes from 192.168.101.129: icmp_seq=5 ttl=64 time=0.062 ms
ping www.google.com
PING www.google.com (216.58.205.164) 56(84) bytes of data.
From 192.168.101.129 icmp_seq=2 Destination Host Unreachable
From 192.168.101.129 icmp_seq=3 Destination Host Unreachable
From 192.168.101.129 icmp_seq=4 Destination Host Unreachable
В файле /etc/sysconfig/network-scripts/, в файле ifcfg-eh0:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=DHCP
DNS1=8.8.8.8
DNS2=8.8.4.4
файл ifcfg-eh1:
DEVICE=eth1
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.101.129
NETMASK=255.255.255.0
NETWORK=192.168.101.0
BROADCAST=192.168.101.255
NM_CONTROLLED=no
DNS1=8.8.8.8
DNS2=8.8.4.4
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.101.0 * 255.255.255.0 U 0 0 0 eth0
10.0.3.0 * 255.255.255.0 U 0 0 0 eth1
192.168.56.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth1
default 192.168.101.2 0.0.0.0 UG 0 0 0 eth0
Кто-нибудь может мне помочь? Спасибо за поддержку.
ОБНОВЛЕНИЕ
Шлюз по умолчанию:
ip r | grep default
default via 192.168.101.2 dev eth1
Убедитесь, что MAC-адрес из ваших сетевых адаптеров VirtualBox совпадает с аппаратным адресом (HWADDR), указанным в ваших файлах ifcfg-eh0 и ifcfg-eh1. Когда я это исправил, моя сеть заработала.
Ответ или решение
Конечно, решение проблемы "CentOS в VirtualBox без доступа к интернету" требует глубокого анализа и понимания сетевых настроек и конфигурации виртуальной машины. Ваша текущая конфигурация виртуальной машины имеет несколько сетевых адаптеров с различными настройками, что и вызывает проблему отсутствия подключения к интернету.
Теория
Сетевые настройки виртуальной машины VirtualBox поддерживают различные типы подключения, такие как NAT (Network Address Translation) и Host-Only Adapter. Каждый из этих типов имеет свои особенности. Например, NAT используется для обеспечения выхода в интернет гостевой машины через хостовую сеть, скрывая при этом реальный IP адрес гостя. Host-Only Adapter, напротив, позволяет виртуальным машинам взаимодействовать только с хостом и друг с другом, но не с внешним миром.
Для обеспечения интернет-подключения через NAT, который, по вашей конфигурации, установлен в Adapter 1, необходимо обратить внимание на следующие моменты:
- Правильная маршрутизация: Пакеты от гостевой системы должны проходить через NAT адаптер. Следовательно, он должен быть правильно настроен как основной gateway.
- Настройки Firewall и SELinux: Эти настройки в CentOS могут блокировать выходящие соединения
- Конфигурация сети на госте: Проверка и настройка конфигурации сетевых интерфейсов eth0 и eth1.
Пример
Ваша текущая конфигурация ifcfg-eh0 и маршрутизационная таблица указывают на проблему в маршрутизации. Сейчас у вас default gateway указан по eth1 (Host-Only), что не позволяет воспользоваться NAT для выхода в интернет.
Обратите внимание на следующее:
- На устройстве eth0 (NAT) у вас настроен DHCP, но в маршрутизационной таблице маршрут по умолчанию направлен через eth1:
default via 192.168.101.2 dev eth1
Это необходимо изменить на использование eth0.
-
Маршруты 192.168.101.0 и 192.168.56.0 настроены через eth0. Это требует проверки, что eth0 действительно подключен к NAT. Убедитесь, что пакеты направляются через правильный интерфейс:
route add default gw 10.0.2.2 eth0
Применение
-
Настройте NAT адаптер: Убедитесь, что NAT адаптер является главным сетевым адаптером для доступа к интернету. Перейдите в конфигурацию VirtualBox и убедитесь, что он настроен корректно.
-
Измените настройки маршрутизации: В гостевой системе необходимо изменить маршрут по умолчанию на использование eth0. Примените:
sudo ip route del default sudo ip route add default via 10.0.2.2 dev eth0
-
Проверьте настройки DHCP клиента: Убедитесь, что служба DHCP клиент работает корректно для eth0 и получает правильные настройки от VirtualBox.
-
Проверка работающих сервисов: Убедитесь, что firewall и SELinux не блокируют соединения. Для временного отключения можно использовать:
sudo systemctl stop firewalld sudo setenforce 0
-
Обновите MAC адреса: Сравните MAC адреса в VirtualBox и в конфигурации гостевой сети. Они должны совпадать; иначе, связь может не работать корректно.
-
Перезапустите службу сети: После внесения изменений в конфигурационные файлы, перезапустите службу сети:
sudo systemctl restart network
-
Тест подключения: Попробуйте пропинговать внешние адреса. Если "ping www.google.com" возвращает ответ, значит, настройка успешная. Если нет, нужно пересмотреть шаги.
Эти шаги должны помочь вам настроить доступ к интернету в вашей виртуальной машине с CentOS. Убедитесь, что после перезагрузки машины все изменения применяются и персистентны. Если проблема остается, возможно потребуется просмотреть логи системы и убедиться в отсутствии ошибок в конфигурациях сетевых интерфейсов и маршрутов.