linux自动获取ip地址命令(linux配置自动获取ip地址)
1.网卡命名规则
Red Hat Enterprise Linux 8 提供用于网络接口的一致性和可预测的设备命名方法。这些特性有助于查找和区分网络接口。
内核为网络接口分配名称的方法是,使用一个固定前缀,再加上随着内核初始化网络设备时增加的数字。例如: eth0 将代表引导时被探测的第一个设备。但是这些名称不一定与设备外壳上的标签对应。具有多个网络适配器的现代服务器平台,可能会遇到这些接口的命名不明确的情况。这会影响系统中嵌入的网络适配器和附加适配器。
在 Red Hat Enterprise Linux 8 中,udev 设备管理器支持很多不同的命名方案。默认情况下,udev 根据固件、拓扑和位置信息分配固定名称。它有以下优点:
设备名称完全可预测。
在添加或删除硬件时,设备名称也会保持不变。
因此,有问题的硬件可以被无缝地替换。
1.1.网络接口设备命名等级
如果启用了一致的设备命名(在 Red Hat Enterprise Linux 8 中是默认设置),udev设备管理器会根据以下方案生成设备名称:
1.3.修改网卡命名方式为早期的规则(ethx)
2.网络配置工具概述
2.1使用 nmtui 添加连接配置
2.2NMCLI 入门
2.3使用 GNOME GUI 配置网络入门
以上内容来源于Redhat官网
3. 以下菜单栏内容为官方文档:
3.1【nmtui入门】
3.2【nmcli入门】
3.3【使用GNOME GUI配置网络入门】
3.4【配置网络bond/team】
4.网络配置常用命令汇总
以下内容来于笔者的总结
4.1 查看系统网卡设备
[root@localhost ~]# nmcli device statusDEVICE TYPE STATE CONNECTION ens160 ethernet connected ens160 virbr0 bridge connected (externally) virbr0 lo loopback unmanaged -- virbr0-nic tun unmanaged --
DEVICE 网卡设备名(系统内核为网络接口分配名称,本文中只有一个ens160的网卡设备)
TYPE 网络类型
STATE 当前的状态
CONNECTION 网络连接名(ens160连接名对应的配置文件
/etc/sysconfig/network-scripts/ifcfg-ens160)
注意:一个网卡设备可以有多个网络连接名,但在系统里同时只一个网卡连接名被激活。
4.2 设置网卡ens160 DHCP自动获取IP地址,并开始自启动
[root@localhost ~]# nmcli connection modify ens160 ipv4.method manual autoconnect yes
拨出网卡
[root@localhost ~]# nmcli device disconnect ens160
载入网卡
[root@localhost ~]# nmcli device connect ens160
4.3 给ens160 手动配置一个IP
[root@localhost ~]# nmcli connection modify ens160 ipv4.addresses 192.168.10.2/24 ipv4.gateway 192.168.10.254 ipv4.dns 8.8.8.8 ipv4.method manual autoconnect yes
重新加载配置文件(增加或修改之后必需执行)
[root@localhost ~]# nmcli connection reload
启动网卡
[root@localhost ~]# nmcli connection up ens160
4. 4 查看ens160网络信息
[root@localhost ~]# nmcli device show ens160|grep -i ip4IP4.ADDRESS[1]: 192.168.10.2/24IP4.GATEWAY: 192.168.10.254IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100IP4.DNS[1]: 8.8.8.8IP4.ADDRESS[1]: 192.168.122.1/24IP4.GATEWAY: --IP4.ROUTE[1]: dst = 192.168.122.0/24, nh = 0.0.0.0, mt = 0IP4.ADDRESS[1]: 127.0.0.1/8IP4.GATEWAY: --
4.5 添加一个网络配置文件ens160-new,并配置IP地址
[root@localhost network-scripts]# nmcli connection add type ethernet con-name ens160-new ifname ens160 ipv4.addresses 192.168.10.3 ipv4.gateway 192.168.10.254/24 ipv4.dns 114.114.114.114 ipv4.method manual Connection 'ens160-new' (5825bc94-9919-4993-9abd-e4ec5ef9a4d5) successfully added.
4.5.1 查看网络连接名信息(这里可以看到多出一个ens160-new)
[root@localhost network-scripts]# nmcli connection show NAME UUID TYPE DEVICE ens160 42e915da-c4bc-44ca-9d27-7cd21e2b3755 ethernet ens160 virbr0 4e4a1f37-2072-4368-ae9c-e87c0cd5cc40 bridge virbr0 ens160-new 5825bc94-9919-4993-9abd-e4ec5ef9a4d5 ethernet --
4.5.2 查看网络配置文件ens160-new是否生成
[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# pwd/etc/sysconfig/network-scripts[root@localhost network-scripts]# lsifcfg-ens160 ifcfg-ens160-new
4.5.3 查看网络配置文件ens160-new内容
[root@localhost network-scripts]# cat ifcfg-ens160-new TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneIPADDR=192.168.10.3PREFIX=24GATEWAY=192.168.10.254DNS1=114.114.114.114DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens160-newUUID=5825bc94-9919-4993-9abd-e4ec5ef9a4d5DEVICE=ens160ONBOOT=yes
4.5.4 重新加载并启动ens160-new配置文件
[root@localhost ~]# nmcli connection reload [root@localhost ~]# nmcli connection up ens160-new
4.5.5 查看当前活动配置文件(可以看到CONNECT这一栏里的连接名变成ens160-new)
[root@localhost ~]# nmcli device statusDEVICE TYPE STATE CONNECTION ens160 ethernet connected ens160-new virbr0 bridge connected (externally) virbr0 lo loopback unmanaged -- virbr0-nic tun unmanaged --
4.5.6 查看设备ens160当前激活的网络信息
[root@localhost ~]# nmcli device show ens160 |grep -i ip4IP4.ADDRESS[1]: 192.168.10.3/24IP4.GATEWAY: 192.168.10.254IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100IP4.DNS[1]: 114.114.114.114
4.5.7 也可以通过连接名ens160-new查看网络信息(注意关键字,这里用的是nmcli connect)
[root@localhost ~]# nmcli connection show ens160-new |grep -i ip4IP4.ADDRESS[1]: 192.168.10.3/24IP4.GATEWAY: 192.168.10.254IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100IP4.DNS[1]: 114.114.114.114
4.6 创建网卡绑定(最常用的两种模式 active backup 与LACP)
#1.创建team接口
#2.给team分配地址
#3.创建team的子接口(slave interface)
#4.激活team接口和team的子接口
4.6 .1 手工配置active backup
nmcli connection add type team con-name tema0 ifname team0 team.runner activebackupipv4.addresses 192.168.10.11/24 ipv4.method manualnmcli con add con-name team0-port1 ifname ens160 type team-slave master team0nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0nmcli con up team0nmcli con up team0-port1nmcli con up team0-port2
查看team配置
teamdctl team0 statesetup:runner: activebackupports:ens160link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0ens256link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0runner:active port: ens160
4.6 .2手工配置lacp (此模式下上连交换机也要配置端口聚合)
nmcli connection add type team con-name tema1 ifname team1 team.runner lacp 192.168.10.21/24 ipv4.method mannmcli con add con-name team1-port1 ifname ens160 type team-slave master team1nmcli con add con-name team1-port2 ifname ens265 type team-slave master team1nmcli con up team1-port1nmcli con up team1-port2nmcli con up team1[root@localhost ~]# teamdctl team1 statesetup:runner: lacpports:ens160link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0runner:aggregator ID: 5, Selectedselected: yesstate: currentens265link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0runner:aggregator ID: 5, Selectedselected: yesstate: currentrunner:active: yesfast rate: no
注意: man nmcli-example 里的信息还没更新, 您也可以按linux7 的方式配置。
man nmcli-examples Example 8. Adding a bonding master and two slave connection profiles $ nmcli con add type bond ifname mybond0 mode active-backup $ nmcli con add type ethernet ifname eth1 master mybond0 $ nmcli con add type ethernet ifname eth2 master mybond0 This example demonstrates adding a bond master connection and two slaves. The first command adds a master bond connection, naming the bonding interface mybond0 and using active-backup mode. The next two commands add slaves connections, both enslaved to mybond0. The first slave will be bound to eth1 interface, the second to eth2. Example 9. Adding a team master and two slave connection profiles $ nmcli con add type team con-name Team1 ifname Team1 config team1-master-json.conf $ nmcli con add type ethernet con-name Team1-slave1 ifname em1 master Team1 $ nmcli con add type ethernet con-name Team1-slave2 ifname em2 master Team1 man teamd.conf { "device": "team0", "runner": {"name": "activebackup"}, "link_watch": { "name": "ethtool", "delay_up": 2500, "delay_down": 1000 }, "ports": { "eth1": { "prio": -10, "sticky": true }, "eth2": { "prio": 100 } } }
4.6 .3下面的语法是linux 7 的配置, linux8 也应该支持,感兴趣的小伙伴可以试试
nmcli connection add type team con-name tema0 ifname team0 config '{"runner": {"name": "activebackup"}'nmcli con add con-name team0-port1 ifname ens160 type team-slave master team0nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0nmcli con up team0nmcli con up team0-port1nmcli con up team0-port2
原创文章,作者:admin,如若转载,请注明出处:https://www.qq65hfghe5.com/tg/75147.html