Статический IP-адрес на виртуальной машине Ubuntu 12.04
Я настроил виртуальную машину с Ubuntu 12.04 специально для локальной веб-разработки, и у меня возникли некоторые проблемы с обеспечением статического IP-адреса. Статический IP-адрес важен, так как я использую IP-адрес в моем файле hosts для назначения суффикса.local адресам, используемым как в браузере, так и для подключения к правильной базе данных на ВМ.
В настоящее время каждый раз, когда я подключаюсь к новой сети или моей виртуальной машине присваивается новый IP-адрес, мне нужно перенастроить всю среду, что становится довольно болезненно. Это также, вероятно, не помогает, что default-lease-time
на виртуальной машине Ubuntu по умолчанию установлено значение 1800.
В данный момент я использую VMWare Fusion, и сетевой адаптер включен и установлен в "Автоопределение" в разделе "Мостовая сеть".
Я попытался установить статический IP-адрес в dhcpd.conf, используя код ниже:
host ubuntu {
hardware ethernet 00:50:56:35:0f:f1;
fixed-address: 192.168.100.100;
}
fixed-address
то, что я использовал, также выходит за пределы диапазона, указанного в блоке подсети (в данном случае это от 192.168.100.128 до 192.168.100.254).
Я пытался добавить и удалить сетевой адаптер и перезапускать мой Mac после каждого раза безрезультатно.
Ниже ifconfig
ВМ, которая может быть полезна:
eth0 Link encap:Ethernet HWaddr 00:50:56:35:0f:f1
inet addr:192.168.0.25 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe35:ff1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1624 errors:0 dropped:0 overruns:0 frame:0
TX packets:416 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:147348 (147.3 KB) TX bytes:41756 (41.7 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Есть ли какие-то конкретные проблемы с 12.04, которые мне не хватает? Иначе у кого-нибудь есть идеи?
Заранее спасибо.
5 ответов
Для достижения статического IP, отредактируйте /etc/network/interfaces
и добавить:
auto eth0
iface eth0 inet static
address 192.168.100.100
netmask 255.255.255.0
gateway 192.168.1.1 # or whatever your gateway is
Затем включите устройство с sudo ifup eth0
и ты должен быть готов.
Ответ Майка работал для меня, за исключением того, что мне нужно было добавить запись DNS:
dns-nameservers 192.168.1.1
Возможно, вы неправильно редактируете файл конфигурации dhcp.
Нет необходимости указывать статический IP-адрес в конфиге dhcp.
Откройте файл интерфейса и отредактируйте следующие строки:
auto eth0 or eth1 or eth2 ...
iface inet eth0 static
address 192.168.100.2
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.254
gateway 192.168.100.1
Открыть файл /etc/vmware/vmnet8/dhcpd/dhcpd.conf
и добавьте команду, аналогичную следующей.
host VMnet8 {
hardware ethernet 00:0c:29:bc:5b:9a;
fixed-address 192.168.224.21;
}
Затем перезапустите хост и запустите виртуальную машину.
Вы можете найти что-то подобное в своем
/etc/network/interfaces
:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Затем просто добавьте приведенный ниже код, если ваша машина не использует CentOS.
# The primary network interface
auto ens33
#iface ens33 inet dhcp
iface ens33 inet static
# This value is an example
address 192.168.1.10
# This value is an example
netmask 255.255.255.0
# This value is an example
network 192.168.1.0 #
# This value is an example
broadcast 192.168.1.255
# This value is an example
gateway 192.168.1.1
# This value is an example
dns-nameservers 8.8.8.8 8.8.4.4 # This value is an example
Затем, наконец, перезапустите сетевой сервис.
service networking restart
или же
/etc/init.d/networking restart