如何在Linux中重启网络 Linux systemctl restart network

兄弟你好,最近我在Linux系统上重启网络服务时遇到了一个小漏洞,所以我决定与你分享。
我以为网络服务的每次系统重启都是一系列命令,但事实并非如此。

我记得是去年的事了。
我使用的是CentOS 7 系统,想要重新启动网络服务,所以我直接在终端中输入systemctl restart network。
结果系统直接给出了一句“Unit network.service notfound”。
我当时很困惑。
发生了什么事?
经过检查,发现重启网络服务的命令必须根据系统和网络管理工具来选择。
例如,对于CentOS/RHEL7 /8 和Fedora,较新的版本通常使用NetworkManager,服务名称为NetworkManager。
不过,有些系统也支持现有的network.service,它是基于网络脚本的。

还有Ubuntu和Debian主要使用Netplan或systemd-networkd,但根本没有称为网络的服务。

我们以Ubuntu为例。
在 Ubuntu 2 0.04 中,您必须使用 netplan apply 来应用配置。
这本身并不是一项服务。

再举一个例子,如果您使用的是 systemd-networkd,只需运行 systemctl restart systemd-networkd 即可。

在其他情况下,您可能需要重新启动特定网络接口(例如 eth0),然后关闭该接口,然后重新打开。
命令是 ip link set eth0 down 和 ip link set eth0 up。

重启后不要忘记检查服务状态和网络连接。
例如,使用 ping -c 4 www.example.com 看看是否可以 ping 通它。

总之这个问题要看具体情况。
不要盲目使用systemctl重启网络。
不然你也会落入和我一样的陷阱。

linux系统重启网卡后网络不通(NetworkManager篇)

哎呀,你说的是这种情况。
去年我在西安帮过一个朋友。

他的 RHEL7 .6 服务器具有绑定到绑定的双网卡并使用 nmcli。
结果,他尝试使用systemctl restart NetworkManager重新启动服务。
哎呀,网络立刻就断了,SSH也无法连接了。
急得要死。

想想看,NetworkManager管理无线和有线服务,自动切换等等,很酷。
但有时,它与 systemd 自带的网络服务不能很好地配合。
尤其是双网卡捆绑在一起后,会产生冲突。

官方文档说有两种方法。
一种是暂时停止NetworkManager,systemctl stop NetworkManager,然后systemctldisable NetworkManager,使其不再启动。
另一种是在bond配置文件中添加一个参数NM_CONTROLLED="no",告诉NetworkManager忽略它。

但是我的朋友环境特殊,无法使用systemctl,所以不得不使用nmcli。
我尝试了一下,使用 nmcli 连接向下网络端口名称,先关闭绑定连接,然后使用 nmcli 连接向上网络端口名称将其打开。
这样,使用systemctl restart NetworkManager,网络就可以了。

你看,这个关键是怎么操作。
使用systemctl重新启动网络服务有时会出现问题。
使用 nmcli 来控制连接的交换机更加安全。
尤其是在绑定双网卡的时候,一定要注意这一点。

Linux网络重启(service network restart)出现错误怎么处理?

上周在Linux系统上写脚本时,发现输入awk命令时,系统提示没有该命令。
我查了一下,发现Linux系统上awk有3 个版本:awkgawknawk。
我尝试了三个不同的命令,然后发现正确的命令是 gawk。
这让我想起,在使用命令行工具时,版本控制问题有时确实令人头疼。
我的朋友在2 02 3 年也面临过类似的情况,他在Mac上写shell脚本时,发现找不到grep命令。
后来他们发现这是因为系统默认的是grep -E。
算了,这取决于你。
使用命令行工具时记得注意系统版本和命令书写。
我突然想到另一件事。
同事在Windows上写批处理脚本时,遇到路径问题,脚本无法执行。