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設備名稱包含固件或者 BIOS 提供的索引號,用於板上的設備。如果此信息不適用,udev將使用方案 2。eno1
2設備名稱包含固件或 BIOS 提供的 PCI Express(PCIe)熱插件插槽索引號。如果此信息不適用,udev 將使用方案 3。ens1
3設備名稱包含硬件連接器的物理位置。如果此信息不適用,udev 將使用方案 5。enp2s0
4設備名稱包含 MAC 地址。Red Hat Enterprise Linux 默認不使用這個方案,但管理員可選擇性地使用它。enx525400d5e0fb
5傳統的無法預計的內核命名方案。如果 udev 無法應用任何其他方案,設備管理器將使用這個方案。eth0

如果您手動配置udev規則以更改內核設備名稱,則優先使用這些規則。

默認情況下,Red Hat Enterprise Linux 根據
/usr/lib/systemd/network/99-default.link 文件中的 NamePolicy 設置選擇設備名稱。NamePolicy 中值的順序非常重要。Red Hat Enterprise Linux 使用在該文件中指定的以及 udev 生成的第一個設備名稱。

如果您手動配置 udev 規則以更改內核設備名稱,則優先使用這些規則。

1.2.網絡接口名稱解釋

Linux 8 網絡配置常用命令總結

1.3.修改網卡命名方式為早期的規則(ethx)

Linux 8 網絡配置常用命令總結
Linux 8 網絡配置常用命令總結

2.網絡配置工具概述

Linux 8 網絡配置常用命令總結

2.1使用 nmtui 添加連接配置

Linux 8 網絡配置常用命令總結
Linux 8 網絡配置常用命令總結

2.2NMCLI 入門

Linux 8 網絡配置常用命令總結
Linux 8 網絡配置常用命令總結
Linux 8 網絡配置常用命令總結
Linux 8 網絡配置常用命令總結
Linux 8 網絡配置常用命令總結

2.3使用 GNOME GUI 配置網絡入門

Linux 8 網絡配置常用命令總結
Linux 8 網絡配置常用命令總結

以上內容來源於Redhat官網

3. 以下菜單欄內容為官方文檔:

3.1【nmtui入門】

3.2【nmcli入門】

3.3【使用GNOME GUI配置網絡入門】

3.4【配置網絡bond/team】

4.網絡配置常用命令匯總

以下內容來於筆者的總結

4.1 查看系統網卡設備

[root@localhost ~]# nmcli device status
DEVICE      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 ip4
IP4.ADDRESS[1]:                         192.168.10.2/24
IP4.GATEWAY:                            192.168.10.254
IP4.ROUTE[1]:                           dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100
IP4.DNS[1]:                             8.8.8.8
IP4.ADDRESS[1]:                         192.168.122.1/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.122.0/24, nh = 0.0.0.0, mt = 0
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.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]# ls
ifcfg-ens160  ifcfg-ens160-new

4.5.3 查看網絡配置文件ens160-new內容

[root@localhost network-scripts]# cat ifcfg-ens160-new 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.10.3
PREFIX=24
GATEWAY=192.168.10.254
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160-new
UUID=5825bc94-9919-4993-9abd-e4ec5ef9a4d5
DEVICE=ens160
ONBOOT=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 status
DEVICE      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 ip4
IP4.ADDRESS[1]:                         192.168.10.3/24
IP4.GATEWAY:                            192.168.10.254
IP4.ROUTE[1]:                           dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100
IP4.DNS[1]:                             114.114.114.114

4.5.7 也可以通過連接名ens160-new查看網絡信息(注意關鍵字,這裡用的是nmcli connect)

[root@localhost ~]# nmcli connection show ens160-new |grep -i ip4
IP4.ADDRESS[1]:                         192.168.10.3/24
IP4.GATEWAY:                            192.168.10.254
IP4.ROUTE[1]:                           dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100
IP4.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 activebackup
ipv4.addresses 192.168.10.11/24 ipv4.method manual
nmcli con add con-name team0-port1 ifname ens160 type team-slave master team0
nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0
nmcli con up team0
nmcli con up team0-port1
nmcli con up team0-port2

查看team配置

teamdctl team0 state
setup:
runner: activebackup
ports:
ens160
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens256
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
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 man
nmcli con add con-name team1-port1 ifname ens160 type team-slave master team1
nmcli con add con-name team1-port2 ifname ens265 type team-slave master team1
nmcli con up team1-port1
nmcli con up team1-port2
nmcli con up team1


[root@localhost ~]# teamdctl team1 state
setup:
runner: lacp
ports:
ens160
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
aggregator ID: 5, Selected
selected: yes
state: current
ens265
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
aggregator ID: 5, Selected
selected: yes
state: current
runner:
active: yes
fast 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 team0
nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0
nmcli con up team0
nmcli con up team0-port1
nmcli con up team0-port2

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/209071.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-08 15:24
下一篇 2024-12-08 15:24

相關推薦

發表回復

登錄後才能評論