Я запускаю Ubuntu Server 10.10 в VirtualBox с Windows в качестве хоста. Случайно я решил сгенерировать новый случайный MAC-адрес для своего компьютера с Ubuntu в VirtualBox. И теперь, когда я загрузил свой Ubuntu с новым MAC-адресом, я не получаю внешний IP-адрес. Я использую DHCP для получения IP-адресов.
Я думаю, мне нужно выполнить команду и сообщить моей системе Ubuntu, что MAC-адрес изменился, чтобы получить внешний IP-адрес.
Если я выполню sudo /etc/init.d/networking restart
, я получу это сообщение:
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0
Как я могу решить эту проблему?
Поскольку ваш mac-адрес изменился, у вас больше нет интерфейса с именем eth0, это имя зарезервировано для интерфейса со «старым» mac-адресом. «Новый» интерфейс должен иметь следующее свободное имя (например, ethN).
Чтобы увидеть все интерфейсы на машине, вы можете использовать эту команду: ifconfig -a
Если вы хотите сбросить резервирование имен для сетевых интерфейсов, вы можете удалить файл /etc/udev/rules.d/70-persistent-net.rules
и перезапустить машину ( или удалите / вставьте устройство, хотя в этом случае это невозможно).
В качестве альтернативы вы можете изменить настроенное имя интерфейса на то, что когда-либо будет называться новым, изменив все вхождения старого имени на новое в файле /etc/network/interfaces
Я полагаю, вы используете статический IP на хосте Ubuntu.
Поскольку вы изменили MAC-адрес, Ubuntu создаст для вас новый «eth» вместо того, чтобы использовать старый.
Измените файл / etc / sysconfig / networks / ifcfg-eth0 на ifcfg-eth1 или настройте статическую конфигурацию с помощью сетевого администратора.
Сначала в VM Guest создайте файл с именем newfile : sudo nano /etc/init.d/newfile с двумя строками:
#!/bin/bash
sudo ifup eth0
далее, с консоли:
sudo chmod +x /etc/init.d/newfile
sudo chmod 755 /etc/init.d/newfile
sudo update-rc.d newfile defaults
Я использовал это решение, потому что eth0 не работает после перезагрузки со статическим IP (с DHCP работает нормально).
my / etc / network / interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
nameservers 192.168.1.1
(извините за мой английский)