如何在 rhel 7 中启动网络接口?

如何在 rhel 7 中启动网络接口?

我获得了一个 rhel7 vmware 模板,用于配置 rhel 7 测试环境。当我创建我的虚拟机时,它启动正常,只是我的网络接口似乎没有出现。如果我输入 ifconfig -a,我会得到以下内容:

ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:50:56:XX:XX:XX  txqueuelen 1000  (Ethernet)
        RX packets 55  bytes 3300 (3.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 792  bytes 62296 (60.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 792  bytes 62296 (60.8 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

如您所见,我没有 ens192 的 IP 地址。作为一名程序员而不是系统管理员,我在 Google 上搜索了一番,然后被告知我应该编辑一个 70-persistent-net.rules 文件。我没有这个文件。所以我又搜索了一番,然后了解到我应该运行命令 /lib/udev/write_net_rules。我似乎也没有这个。然后我读到了一些我可以运行的 udevadmn 命令。它们似乎什么也没做。我尝试使用 nmtui 激活连接,但这样做时它会崩溃。

我还尝试了“/etc/init.d/network restart”命令。它失败了,并建议我尝试几个命令来查看原因。因此,当我输入建议的命令“systemctl status network.service”时,我得到了以下输出:

Jan 23 08:30:39 myhostname network[10858]: RTNETLINK answers: File exists
Jan 23 08:30:39 myhostname network[10858]: RTNETLINK answers: File exists
Jan 23 08:30:39 myhostname systemd[1]: network.service: control process exited, code=exited status = 1
Jan 23 08:30:39 myhostname systemd[1]: Failed to start LSB: Bring up/down networking
Jan 23 08:30:39 myhostname systemd[1]: Unit network.service entered failed state.

有什么我没有尝试过的事情可以帮助我让这个接口获得 ipaddress 吗?

谢谢!

答案1

我搞清楚了,也明白了为什么我会收到“阅读手册”类型的评论。这个问题相当简单,我相信任何系统管理员都会马上搞清楚。但对于我们这些出于必要而必须做系统管理员工作的程序员来说,事情是这样的。

简短回答:我的 /etc/sysconfig/network-scripts/ifcfg-ens192 配置中的 MAC 地址不正确。

详细解释:当您从模板配置新的虚拟机时,VMware 会为每个新的虚拟网卡生成一个新的 mac 地址。这似乎很合理。但是,当您查看 VMWare 设置中配置的硬件地址时,它只会在禁用的文本框中显示前四个八位字节,不允许您查看其余部分。配置中的 mac 地址似乎具有相同的前四个八位字节,因此我错误地认为配置中的 mac 地址是正确的。关闭虚拟机后,我可以向右滚动并查看其余的 mac 地址。注意到它不同后,我在配置中对其进行了更改,一切正常。

如果 Redhat 开发人员读过这个网站,请在出现此类错误时提供一些有意义的错误消息。谢谢!

答案2

如果 RHEL 7.2 作为 VMWare VM 运行并依赖 DHCP 分配,请确保您的/etc/sysconfig/network-scripts/ifcfg-ens192文件具有。出于某种原因,在我的实例中,它在安装期间ONBOOT=yes被设置为。ONBOOT=no

HWADDR不需要该线。

/etc/init.d/network restart修改后,您可以使用或更好的方法重新启动网络systemctl restart network,并且实例将被分配一个 IP 地址。

答案3

您想添加如下一行:

HWADDR=0A:0B:0C:0D:0E:0F

在 /etc/sysconfig/network-scripts/ifcfg-ensXX 中(XX 可以是某个数字)

使用 vi——说。

然后运行 ​​/etc/init.d/network restart

并输入 ip route

并且您应该有一个 IP 地址和默认网关。

要获取应添加的地址,您需要转到虚拟机设置->硬件->网络适配器->高级

写下其中的 MAC 地址并将其作为上面的 HWADDR= 地址输入。

答案4

确保ifcfg-<name>是 unix 格式。我见过RTNETLINK answers: File exists由 windows 行尾引起的错误。修复dos2unix /etc/sysconfig/network-scripts/ifcfg-*

相关内容