Я искал в интернете последние 2 часа и не могу найти решение следующей проблемы.
Я только что установил Xen в свежем Xubuntu 13.04 и для настройки сети мне пришлось удалить network_manager. Итак, все настройки сети выполняются через / etc / network / interfaces. По крайней мере, так должно быть. Однако кажется, что то, что я вставил туда, просто игнорируется: мой интерфейс xenbr0 не получает назначенный адрес IPv4, нет шлюза по умолчанию и не настроен сервер имен.
Вот что находится в файле / etc / network / interfaces:
auto lo
iface lo inet loopback
# There are no IP configurations for eth0, it’s all defined under xenbr0:
#auto eth0
# Static configuration
auto xenbr0
iface xenbr0 inet static
bridge_ports eth0
address 192.168.1.200 # the IP address of the Ethernet port
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1 # the address of the router
bridge_stp off # disable Spanning Tree Protocol - optional
bridge_waitport 0 # no delay before a port becomes available - optional, comment out if this gives you troubles
bridge_fd 0 # no forwarding delay - optional
dns-nameservers 192.168.1.1
Чтобы исправить мое сетевое соединение, я запускаю небольшой скрипт «fix»:
#!/bin/bash
ifconfig xenbr0 192.168.1.200 netmask 255.255.255.0 up
route add default gw 192.168.1.1 xenbr0
Я хотел бы исправить в основном, хотя. Прямо сейчас загрузка занимает не менее 1 минуты, потому что система ожидает работающего сетевого соединения.
Редактировать : Мне также пришлось добавить следующее в /etc/resolvconf/resolv.conf.d/base и запустить sudo resolvconf -u
:
nameserver 192.168.1.1
Без этого я не могу только ping IP-адреса, никакие запросы DNS не проходят через. Это то, что убедило меня, что файл интерфейсов полностью игнорируется.
Редактировать 2 : выполнение sudo restart networking
или sudo /etc/init.d/networking restart
ничего не делает.
Редактировать 3 : дополнительная информация. Вот как должен выглядеть вывод ifconfig
(рабочая сеть / подключение к интернету):
eth0 Link encap:Ethernet HWaddr 00:1c:c0:77:09:9d
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3346 errors:0 dropped:0 overruns:0 frame:0
TX packets:2903 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2931429 (2.9 MB) TX bytes:661616 (661.6 KB)
Interrupt:20 Memory:e3200000-e3220000
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:65536 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1720 (1.7 KB) TX bytes:1720 (1.7 KB)
xenbr0 Link encap:Ethernet HWaddr 00:1c:c0:77:09:9d
inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c0ff:fe77:99d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3329 errors:0 dropped:0 overruns:0 frame:0
TX packets:2875 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2870029 (2.8 MB) TX bytes:647394 (647.3 KB)
Вот как он выглядит сразу после загрузки. Отсутствует только IPv4-адрес xenbr0 (и данные маршрутизации / DNS, но вы не можете увидеть это в выводе ifconfig):
eth0 Link encap:Ethernet HWaddr 00:1c:c0:77:09:9d
UP BROADCAST RUNNING MULTICAST MTU:1500 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:1000
RX bytes:0 (0 B) TX bytes:0 (0 B)
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:65536 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0 B) TX bytes:0 (0 B)
xenbr0 Link encap:Ethernet HWaddr 00:1c:c0:77:09:9d
inet6 addr: fe80::21c:c0ff:fe77:99d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 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 B) TX bytes:0 (0 B)
У вас есть:
address 192.168.1.200 # the IP address of the Ethernet port
и вы сообщаете, что эта линия не работает. Знаете ли вы, по интерфейсам (5), что:
Lines starting with `#' are ignored. Note that end-of-line comments
are NOT supported, comments must be on a line of their own.
Добавили ли вы комментарии к концу строки для вопроса, или у вас есть их в файле /etc/network/intefaces
? Если это так, попробуйте удалить их.
Возможно, несмотря на то, что вы удалили пакет сетевого менеджера, у вас все еще есть файл /etc/NetworkManager/NetworkManager.conf
, содержащий
[ifupdown]
managed=true
, который заставляет ifup
автоматически не вызывать интерфейсы.
Если это является причиной проблемы, то я предлагаю либо dpkg --purge network-manager
, либо настройку managed=false
.
Я подал отчет об ошибке по этому поводу: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1187693
Мне удалось исправить мою проблему, изменив 2 файла. Прежде всего, как предположил Эрик Карвалью, я прокомментировал auto eth0
в /etc/networking/interfaces
. (Обратите внимание, что это довольно странно, некоторые онлайн-учебники, похоже, предполагают, что это не требуется для Xen.)
Это само по себе не исправило медленную загрузку. Похоже, что при запуске прошло еще несколько секунд, прежде чем интерфейсы появились, а Ubuntu уже застрял в 60-секундном ожидании простоя. Это я исправил, изменив время задержки в /etc/init/failsafe.conf
с 60 секунд до 1 секунды. (Я узнал об этом файле через Google, понятия не имею, какой именно он был.)