Почему перезапуск сети не приводит к успешному перезапуску eth0 на моем сервере? Ни на одной из моих виртуальных машин CentOS нет этой проблемы.
root@living:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:91:00:01
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe91:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9354 errors:0 dropped:0 overruns:0 frame:0
TX packets:4835 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1052796 (1.0 MiB) TX bytes:1129902 (1.0 MiB)
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:287 errors:0 dropped:0 overruns:0 frame:0
TX packets:287 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:23280 (22.7 KiB) TX bytes:23280 (22.7 KiB)
root@living:~# service networking restart
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces ... (warning).
Reconfiguring network interfaces...
[PuTTY disconnects]
root@living:~# ifconfig
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:287 errors:0 dropped:0 overruns:0 frame:0
TX packets:287 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:23280 (22.7 KiB) TX bytes:23280 (22.7 KiB)
root@machine:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.110
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
Решением была замена allow-hotplug на auto. Спасибо! :)
Я подозреваю, что ваша проблема в том, что при отключении сети (для перезапуска) sshd замечает и закрывает соединение. Когда sshd закрывает соединение, псевдо-tty отправляет SIGHUP оболочке вместе с программами, которые в ней выполнялись. Это включает init.d/networking
который умирает, прежде чем он сможет снова запустить соединение.
Попробуйте бежать screen
сначала (чтобы оболочка не прерывалась) или хотя бы nohup service networking restart
так что сценарий не получит SIGHUP и завершится.