如何在 RHEL7 中永久禁用 NIC 接口?禁用后“ifconfig -a”不应显示接口?
请问有什么想法吗?
答案1
这可以通过简单的配置来实现。如何实现取决于您使用 NetworkManager 还是传统的 ifupdown。您只需要让相关 NIC 没有 IP 地址,您可以通过不给它 IP 地址来实现。我将给出传统网络的解决方案,因为我对 NetworkManager 有自己的看法。
每个 NIC 的配置都存储在/etc/sysconfig/network-scripts/
名为 的文件中ifcfg-eth0
。这些文件中将逐行输入配置选项。下面是一个 NIC 的示例,它不会尝试通过 DHCP 获取 IP,也不会通过“address=”字段静态分配 IP(未列出,因为我们没有为其分配地址)
在进行这些修改之前,您需要使用现有配置关闭 NIC。这可以通过 来完成ifdown eth0
。我假设您想要的 NIC 是 eth0,但您尚未指定要禁用哪一个。名称可以有多种形式,因此请根据自己的喜好进行调整。
DEVICE="eth0"
BOOTPROTO=none # note here that "none" will disable DHCP
NM_CONTROLLED="no" #This prevents NetworkManager from controlling this interface, honoring only the config elements in this file
PERSISTENT_DHCLIENT=1 #Irrelevant in the absence of DHCP
ONBOOT="yes" # You could change this to "no" to prevent the interface from coming up even at layer 2
TYPE=Ethernet
DEFROUTE=yes #Irrelevant in the absence of DHCP
PEERDNS=yes #Irrelevant in the absence of DHCP
PEERROUTES=yes #Irrelevant in the absence of DHCP
IPV4_FAILURE_FATAL=yes #Irrelevant if you're not even giving it an IPv4 address
IPV6INIT=no # Change this to "no" to prevent from getting an IPv6 address
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="eth0"
完成该配置后,您可以查看ifup eth0
配置是否按照您的需要进行操作。