如何在RHEL上“重启”特定的networking接口?

在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脚本以获取更多详细信息。