Answers:
您可以使用:
ifdown eth1 && ifup eth1
作为一个命令。&&仅运行一个命令,如果第一个命令成功,则运行另一个命令。如果需要使用sudo,请确保在每个命令之前都使用它:
sudo ifdown eth1 && sudo ifup eth1
只要将接口配置为具有必要的IP和路由以匹配当前配置,您的ssh连接就不会断开。
如果您担心没有其他访问方法在生产服务器上使用它,那是可以理解的。尽管该命令完全可以满足您的要求,但是很容易出现配置错误,只有在运行该命令后才会注意到该错误。如果您没有其他访问方法(例如,带外控制台或在其他接口上运行的SSHD),则最安全的做法是不这样做。
我经常使用此技术来执行接口的“重启”,但是通常我有一种备用的访问方法,以防万一。
ifdown eth1 && ifup eth1
,除非ifdown成功,否则ifup不会运行,而;
ifup将运行,而不管ifdown如何返回。
您可以通过发出以下命令来“重启”一个接口:
# ifdown eth1
# ifup eth1
之后,您可以验证新配置是否处于活动状态
# ip a
ifdown eth1 ; ifup eth1
?
您是否要更改远程计算机上接口的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脚本以获取更多详细信息。