如何使 ifcfg 脚本“运行”我需要的确切命令?

如何使 ifcfg 脚本“运行”我需要的确切命令?

在新安装的 Fedora 24 上,我想禁用 NetworkManager,因为我有一个静态 IP 并且讨厌守护进程。

如果我在启动后(以 root 身份)执行此操作,则一切正常:

ifconfig enp1s0 192.168.0.3 网络掩码 255.255.0.0
ip 路由添加默认通过 192.168.0.1

等效的 /etc/sysconfig/network-scripts/ifcfg-enp1s0 文件是什么?下列的 https://stackoverflow.com/questions/21432620/how-to-setup-static-ip-in-fedora-19 (我意识到是 Fedora 19,而不是 24,但可能应该可以工作),我做了:

设备=“enp1s0”
NM_CONTROLLED="否"
名称=enp1s0
启动=是
类型=以太网
BOOTPROTO=无
DEFROUTE=是
IPV4_FAILURE_FATAL=否
IPADDR=192.168.0.3
网络掩码=255.255.0.0
广播=192.168.255.255
PEERDNS=是
对等路由=是
IPV6INIT=否
IPV6_AUTOCONF=是
IPV6_DEFROUTE=是
IPV6_PEERDNS=是
IPV6_PEERROUTES=是
IPV6_FAILURE_FATAL=否
IPV6_ADDR_GEN_MODE=稳定隐私
UUID=[虽然不太可能是私有的但被屏蔽了]
自动连接_优先级=-999

但这行不通。如果我用上面的命令重新启动,我会得到“网络无法访问”。

我意识到我可以简单地在启动脚本中运行我的命令,但我现在正在尝试以“正确的方式”做事。

答案1

Fedora 文档说这NetworkManager是自 Fedora 20 以来的默认网络守护进程。很可能您应该对它说声抱歉并习惯它。

但是,您应该仍然能够使用network守护进程。通过命令行测试:

systemctl start/stop/restart/status network

如果它为您打开网络,请启用它:

systemctl enable network

尽管如前所述,网络管理器旨在处理您的网络,而网络更多的是作为帮助者。看一看这里

答案2

禁用network-manager

systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

启动并启用network.service

systemctl restart network.service
systemctl enable network.service

编辑你的/etc/sysconfig/network-scripts/ifcfg-enp1s0改变:

BOOTPROTO=none 
PEERDNS=yes 

到:

BOOTPROTO="static"
PEERDNS=no

配置您的/etc/resolv.conf然后应用更改:

systemctl restart network.service

相关内容