如何让nmcli命令在Linux Mint服务器启动时自动执行?
如何让nmcli命令在Linux Mint服务器启动时自动执行?
兄弟,我之前也碰到过类似的NetworkManager连接异常导致DNS只解析IPv6的情况,给你几个实用的方案,按顺序试应该就能解决:
方案一:让NetworkManager自动激活你的连接(优先尝试)
大概率是你的mediaserver连接没设置开机自动启动,先检查配置:
- 查看当前连接的自动启动状态:
nmcli con show mediaserver | grep autoconnect - 如果输出显示
autoconnect: no,就把它改成自动启动:sudo nmcli con modify mediaserver autoconnect yes - 改完之后重启服务器,试试DNS能不能正常解析IPv4,比如用
ping -4 google.com测试下。
方案二:用systemd服务强制开机执行命令
如果方案一没效果,就手动创建一个systemd服务,让系统开机后自动跑那个nmcli命令:
- 创建服务配置文件:
sudo nano /etc/systemd/system/nmcli-autostart.service - 粘贴以下内容进去(你可以用
which nmcli确认命令路径是否正确,默认是/usr/bin/nmcli):[Unit] Description=Autostart mediaserver network connection After=network.target NetworkManager.service [Service] Type=oneshot ExecStart=/usr/bin/nmcli con up mediaserver User=root [Install] WantedBy=multi-user.target - 保存退出nano(按
Ctrl+O回车确认保存,再按Ctrl+X退出) - 启用这个服务,让它开机自启:
sudo systemctl enable nmcli-autostart.service - 先手动测试一下服务能不能正常运行:
确认DNS解析正常后,重启服务器验证效果。sudo systemctl start nmcli-autostart.service
方案三:用rc.local(备选,适合习惯老方法的用户)
如果你的系统还支持rc.local(Linux Mint默认可能没启用,需要先开启):
- 启用rc-local服务:
sudo systemctl enable rc-local.service - 编辑
/etc/rc.local文件:sudo nano /etc/rc.local - 在
exit 0这一行的上方添加命令:/usr/bin/nmcli con up mediaserver - 给rc.local加执行权限:
sudo chmod +x /etc/rc.local - 重启服务器测试。
备注:内容来源于stack exchange,提问作者smilingfrog
相关产品推荐
相关产品推荐

