Я испытываю затруднения при присвоении постоянного, статического IP-адреса значению по умолчанию eth0
интерфейс в системе под управлением Ubuntu 14.04.5 с системой, в конечном счете обращающейся ни к какому IP-адресу.
Как предшественник следующего, целевая система является встроенной системой, и мы не можем позволить изменения сетевого интерфейса во время операции системы.
Мой набор - следующие:
network-manager
был отключен.
/etc/network/interfaces
был настроен следующим образом:
auto eth0
iface eth0 inet static
address 192.168.200.1
netmask 255.255.255.0
Была проблема во время начальной загрузки, посредством чего демон сервера NTP может заставить систему подвешивать для хороших 5 минуты. Выполнение некоторого поиска с помощью Google указало что названный пакет ntpdate
идет немного жулик - таким образом, это было удалено (у нас есть наш собственный метод для того, чтобы назначить дату системы).
avahi-autoip
сервис был, отключают для предотвращения автоматического частного присваиваемого IP.
Существенно, хотя, что-то происходит в какой-то момент позже, который удаляет статический IP-адрес, связанный с eth0
- является ли это непрекращающимся сервисом DHCP (конечно, iface eth0 inet static
должен предотвратить это), или что-то еще выполнение, о котором я не знаю.
Одна вещь, которую я заметил, состоит в том что в какой-то момент вовремя, a PING
сделан к серверу DNS на внутренней сети (IP 192.168.0.5, этот сервер DNS не доступен из-за отличающейся подсети), который провоцирует некоторую проверку обновления пакета, которая перестала работать - после отказа, постоянного потока RTNETLINK answers: Network is unavailable
сообщения появляются без жизнеспособного способа избавиться от них.
Для ссылки вот некоторые выводы:
ifconfig
eth0 Link encap:Ethernet HWaddr 00:14:2d:2c:6f:5b
inet addr:192.168.200.1 Bcast:192.168.200.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:92 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13544 (13.5 KB) TX bytes:7311 (7.3 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:112131 errors:0 dropped:0 overruns:0 frame:0
TX packets:112131 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11558635 (11.5 MB) TX bytes:11558635 (11.5 MB)
IP addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default
link/ether 92:23:f9:47:e0:5a brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:14:2d:2c:6f:5b brd ff:ff:ff:ff:ff:ff
inet 192.168.200.1/24 brd 192.168.200.255 scope global eth0
valid_lft forever preferred_lft forever
4: ip6tnl0: <NOARP> mtu 1452 qdisc noop state DOWN group default
link/tunnel6 :: brd ::
5: rmnetctl: <NOARP> mtu 1500 qdisc noop state DOWN group default
link/ipip 0.0.0.0 brd 0.0.0.0
6: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:16:6f:db:90:a2 brd ff:ff:ff:ff:ff:ff
маршрут-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
dhclient
root 1301 0.0 0.1 3980 2728 ? S 00:00 0:00 dhclient eth0
root 3198 0.0 0.1 3980 2728 ? S 00:02 0:00 dhclient eth0
Ошибка PING
PING 192.168.0.5 (192.168.0.5) 56(84) bytes of data.
--- 192.168.0.5 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
ii librsync1:armhf 0.9.7-10 armhf rsync remote-delta algorithm library
ii rsync 3.1.0-2ubuntu0.2 armhf fast, versatile, remote (and local) file-copying tool
Reading package lists... Done
Building dependency tree
Reading state information... Done
rsync is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
netcat-openbsd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
ifconfig после PING (примечание, никакой IP-адрес)
RTNETLINK answers: Network is unreachable
g
eth0 Link encap:Ethernet HWaddr 00:14:2d:2c:6f:5b
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:113 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16588 (16.5 KB) TX bytes:23129 (23.1 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1425523 errors:0 dropped:0 overruns:0 frame:0
TX packets:1425523 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:214682465 (214.6 MB) TX bytes:214682465 (214.6 MB)
Хорошо, поэтому то, чем это кажется, происходило, то, что первоначально, когда система была настроена, она была подключена к сети с видимым сервером DHCP. IP-адрес арендного договора, полученного из сервера DHCP, хранится в a /var/lib/dhcp/dhclient.leases
файл.
Статический IP-адрес, которому дали eth0
через /etc/network/interfaces
файл забран когда dhclient
(и связанные сервисы как avahi-autoip
) впоследствии забран приблизительно после 5 минут, когда клиент DHCP испытывает таймаут.
Система пытается выделить адрес из предыдущего арендного договора однако, потому что это не может согласовать с сервером DHCP, этот адрес также забран и адаптер eth0
заканчивается с автоматическим частным IP-адресом. Этот адрес APIPA выделяется avahi-autoip
сервис - который, если остановлено, препятствует тому, чтобы частный адрес был присвоен.
Существует несколько временных решений этого:
/var/lib/dhcp/dhclient.leases
файлdhclient
сервис в целом с помощью pkill
dhclient
пакет в целомВ нашем случае опция 3 была лучшим методом.
Кроме того, независимо от того, что вызывает PING
выполниться и в конечном счете перестать работать с RTNETLINK answers: Network is unavailable
все еще продолжает происходить. Хотя это забивает вывод терминала отладки, не слишком много проблемы.