在RHEL中,而不是使用service network restart命令,我怎么能重新启动一个特定的networking接口,让我们说“eth1”,只有一个命令。
“只有一个命令”,因为这是我的ssh正在工作的唯一接口也。 所以,如果我即将使用: ifdown ,然后ifup ,我将永远无法击中ifup命令,因为我的ssh已经在ifdown eth1命令后终止了一次。
所以应该有一个单独的命令让我完全打开,然后调出正在为我当前的ssh连接服务的接口。 所以我不需要担心完全丢失到我的服务器的连接。
有什么想法吗?
您可以使用:
ifdown eth1 && ifup eth1
作为一个单一的命令。 &&只运行一个命令, 如果第一个命令成功则运行另一个命令。 如果您需要使用sudo,请确保在每个命令之前使用它:
sudo ifdown eth1 && sudo ifup eth1
只要你的接口configuration了必要的IP和路由来匹配当前configuration,你的ssh连接就不会掉线。
如果您担心在没有其他访问方式的生产服务器上使用它,这是可以理解的。 尽pipe命令完全按照您的要求进行,但运行此命令后,只会发现configuration错误,这很容易。 如果您没有其他访问方法(例如,带外控制台或在另一个界面上运行的SSHD),最安全的方法就是不要这样做 。
我经常使用这种技术来执行接口的“重新启动”,但是我通常有一个可用的备份方法,以防万一。
您可以通过发出以下命令来“重新启动”一个接口:
# ifdown eth1 # ifup eth1
之后,您可以validation您的新configuration是否处于活动状态
# ip a
您是否正在尝试更改远程计算机上的接口的IP地址(或任何接口参数)? 如果答案是肯定的,那么你可以尝试以下方法之一:
一个很酷的方法是通过使用屏幕实用程序来创build会话,只需键入“屏幕”。 一旦重新启动networking服务并且SSH连接断开,请使用屏幕-ls检查会话是否仍处于活动状态(但已分离),并使用-r屏幕恢复分离的会话。 这将在你的接口configuration文件没有错误的情况下工作,即networking服务成功重启。
您还可以使用以下技巧:
$ cp -v current_conf_file current_conf_file.bak $ echo "mv current_conf_file.bak current_conf_file && service network restart" | at now+10min
继续编辑您的接口configuration文件并重新启动networking服务。 如果出现错误,您只需等待10分钟,以便重新应用以前的configuration并重新启动networking服务。
所有关于ifup&ifdown的回答都不是根据这个问题。 ifup&ifdown只是使接口上下,不影响networking服务。 对于linuxnetworking服务并不意味着只能使用接口ip设置。
请检查/etc/rc.d/network脚本以获取更多详细信息。