В RHEL вместо использования service network restart
команда, как я могу перезапустить определенный сетевой интерфейс, скажем "eth1", с помощью только одной команды.
"Только одна команда", потому что это единственный интерфейс, в котором мои ssh
также работает. Итак, если я собираюсь использовать: ifdown
а потом ifup
, я никогда не смогу ударить ifup
командовать как мой ssh
был прекращен один раз после ifdown eth1
команда.
Таким образом, должна быть одна команда, которая позволяет мне полностью отключить, а затем вызвать интерфейс, который обслуживает мой текущий ssh
подключение. Так что мне не нужно беспокоиться о полной потере соединения с моим сервером.
Есть идеи, пожалуйста?
Ты можешь использовать:
ifdown eth1 && ifup eth1
Как единая команда. && просто запускает одну команду, затем другую если первая команда успешна. Если вам необходимо использовать sudo, убедитесь, что вы используете его перед каждой командой:
sudo ifdown eth1 && sudo ifup eth1
Пока ваш интерфейс настроен на наличие необходимого IP-адреса и маршрута в соответствии с текущей конфигурацией, ваше ssh-соединение не разорвется.
Если вы беспокоитесь об использовании его на производственном сервере, к которому у вас нет другого метода доступа, это понятно. Хотя команда делает именно то, что вы хотите, очень легко получить ошибку конфигурации, которая заметна только после выполнения этой команды. Если у вас нет альтернативного метода доступа (например, внеполосная консоль или SSHD, работающий на другом интерфейсе), безопаснее всего этого не делать..
Я часто использую эту технику для «перезапуска» интерфейса, но обычно у меня есть резервный метод доступа, доступный на всякий случай, когда я это сделаю.
Вы можете перезапустить один интерфейс, введя следующие команды:
# ifdown eth1
# ifup eth1
После этого вы можете убедиться, что ваша новая конфигурация активна.
# ip a
Вы пытаетесь изменить IP-адрес (или любой параметр интерфейса в этом отношении) интерфейса на удаленном компьютере? Если ответ положительный, вы можете попробовать одно из следующего:
Классный метод - использовать утилиту screen для создания сеанса, просто набрав «screen». После перезапуска сетевой службы и разрыва соединения SSH используйте экран -ls чтобы убедиться, что сеанс все еще активен (но отсоединен) и экран -r чтобы возобновить отключенный сеанс. Это сработает, если в вашем файле конфигурации интерфейса нет ошибки, т.е. сетевая служба успешно перезапущена.
Вы также можете использовать следующий прием:
$ cp -v current_conf_file current_conf_file.bak
$ echo "mv current_conf_file.bak current_conf_file && service network restart" | at now+10min
И приступайте к редактированию файла конфигурации интерфейса и перезапуску сетевой службы. В случае ошибки вам просто нужно подождать 10 минут, чтобы повторно применить предыдущую конфигурацию и перезапустить сетевую службу.
все ответы, говорящие о ifup и ifdown, не соответствуют вопросу. ifup и ifdown только активируют и отключают интерфейс, это не влияет на сетевую службу. для сетевой службы linux не означает только настройку IP интерфейсов.
пожалуйста, проверьте /etc/rc.d/network скрипт для получения более подробной информации.