为了在 RHEL 7 上配置网络,我创建了一个用于分组的 JSON 文件,然后运行以下命令:
ip link set down eno1
ip link set down eno2
ip link set down eno3
ip link set down eno4
teamd -g -f lacp.conf -d
我还为 VLAN 创建了 ifcfg 文件并运行了以下命令:
systemctl restart network
之后,一切都或多或少按预期进行,但问题是这在重新启动之间不会持续存在,所以我每次启动后都必须执行此操作。
我该如何解决这个问题?我希望此命令仅执行一次,然后我希望此设置在重新启动之间保留。
=================================================== ========
我尝试应用建议的修复,但出现了以下问题:
我已经创建了
ifcfg-team0
文件,内容是:DEVICE=team0 DEVICETYPE=Team ONBOOT=yes BOOTPROTO=none TEAM_CONFIG='{"device":"team0", "runner": { "name": "lacp"...
我应该删除“设备”部分,然后更改为TEAMCONFIG='{"runner": { "name": "lacp"...
因为我已经有了DEVICE=team0
?还是提两次就可以了?
我的
ifcfg-eno1
文件包含:HWADDR=... TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes IPV4_FAILURE_FATAL=no IPV6_INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno1 UUID=e656... ONBOOT=no
我真的应该删除其中的几乎所有内容吗?特别是我真的应该删除UUID
,NAME
部分并将此文件替换为文档建议的内容吗? :
DEVICE=eth1
HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
或者我应该保留这两个文件?只需举个例子ifcfg-eno1
,然后ifcfg-eno1Team
执行此操作时:
systemctl start network.service
我收到这样的错误:Failed to start LSB: Bring up/down networking. Unit network.service entered failed state.
答案1
/etc/sysconfig/network-scripts
首先,在名为的目录中创建一个新文件ifcfg-team0
,如下所示:
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.2.3.4
NETMASK=255.255.255.0
TEAM_CONFIG='{"runner": {"name": "lacp"}, "link_watch": {"name": "ethtool"}}'
显然,您需要适当更改 IP 地址和网络掩码。
然后在同一目录中,将所有ifcfg-eno[1-4]
文件更改为如下所示:
DEVICE=eno1
HWADDR=00:11:22:33:44:55
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
如上所述,您的本地文件会略有不同,因为您需要保留现有HWADDR
设置。
这是直接从手册中取出。
该ifcfg-team0
文件是指lacp.conf
您已经创建的文件。但是,我在手册中没有看到它如何找到该文件。也许teamd
您从之前的手动配置中记住了它,或者您可能必须将其放在公共目录中。
无论如何,一旦配置完成,您说ifup team0
,组合的 NIC 组将一起启动。各个接口需要在开始时关闭,但您不需要做任何特殊的事情来确保在启动时关闭,因为它们现在被标记为 NIC 组的一部分。操作系统的启动配置将意识到它不应该单独启动这四个接口,而应该只作为 NIC 组的一部分启动。
以上所有内容均假设您已禁用网络管理器回到在 Red Hat 类型的 Linux 上配置网络的好旧方法:
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service
$ sudo systemctl start network.service
$ sudo systemctl enable network.service
对于服务器来说,这通常是一个好主意,特别是当它们的网络配置开始变得棘手时,例如 LACP。 NetworkManager 解决了很多问题,但它通常以桌面为中心,这对于服务器来说是不合适的。例如,它解决了笔记本电脑常见的自动 WiFi 到以太网转换问题。服务器通常具有静态网络配置,因此 NetworkManager 最终可能会成为障碍。
不过,如果您发现自己想坚持使用红帽的默认设置,他们确实涵盖了这种替代方案手册前面的几个部分。