Linux网络管理

环境准备

1.虚拟机新增一个NAT网卡

2.自动获取的前提条件是直连的网络中有dhcp服务器

nmtui命令

配置
复制代码
 #自动/手动配置
 [root@server ~ 12:23:25]# nmtui

网络启动/停止

复制代码
 # 停用网络,并不会停止 NetworkManager 服务。
 [root@server ~]# nmcli networking off
 # 网卡状态变化:activated -> deactivating -> disconnected -> unmanaged -> unavailable 
 ​
 # 启用网络
 [root@server ~]# nmcli networking on
 # 网卡状态变化:unavailable -> disconnected -> auto-activating
 ​
 在vm虚拟机终端执行 nmcli networking on恢复

设备控制

  • 网卡(设备)

  • connection(网卡的配置),是连接

  • #一个device可有多个配置,同一时刻只能激活一个配置

复制代码
 # 显示设备列表状态信息
 [root@server ~ 11:23:18]# nmcli device 
 DEVICE      TYPE      STATE   CONNECTION 
 ens33       ethernet  已连接  ens33      
 ens36       ethernet  已连接  ens36      
 virbr0      bridge    已断开  --         
 lo          loopback  未托管  --         
 virbr0-nic  tun       未托管  --         
 # 断开设备链接disconnect
 [root@server ~ 11:25:00]# nmcli device disconnect ens36
 成功断开设备 "ens36"。
 #查看
 [root@server ~ 11:25:42]# nmcli device 
 DEVICE      TYPE      STATE   CONNECTION 
 ens33       ethernet  已连接  ens33      
 virbr0      bridge    已断开  --         
 ens36       ethernet  已断开  --         
 lo          loopback  未托管  --         
 virbr0-nic  tun       未托管  --   
 # 重新连接设备connect
 [root@server ~ 11:26:33]# nmcli device connect ens36
 成功用 "ens36654cc6c5-1ed4-3d70-8c4f-0aa6cbf1e3f8" 激活了设备 ""。
 [root@server ~ 11:26:40]# nmcli device 
 DEVICE      TYPE      STATE   CONNECTION 
 ens33       ethernet  已连接  ens33      
 ens36       ethernet  已连接  ens36      
 virbr0      bridge    已断开  --         
 lo          loopback  未托管  --         
 virbr0-nic  tun       未托管  --     
 # 显示特定设备详细信息show
 [root@server ~ 11:27:49]# nmcli device show ens36
 GENERAL.DEVICE:                         ens36
 GENERAL.TYPE:                           ethernet
 GENERAL.HWADDR:                         00:0C:29:18:BE:97
 GENERAL.MTU:                            1500
 GENERAL.STATE:                          100(已连接)
 GENERAL.CONNECTION:                     ens36
 GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnect
 WIRED-PROPERTIES.CARRIER:               开
 IP4.ADDRESS[1]:                         10.1.1.10/24
 IP4.GATEWAY:                            --
 IP4.ROUTE[1]:                           dst = 10.1.1.0/24, nh = 0.0.0.0, mt = 101
 IP6.ADDRESS[1]:                         fe80::c2e9:241a:3fac:d764/64
 IP6.GATEWAY:                            --
 ​

动态获取

复制代码
 # 查看connection清单
 [root@server ~ 11:28:44]# nmcli connection 
 NAME   UUID                                  TYPE      DEVICE 
 ens33  0d61fd62-c298-48d5-bf72-548ef221ae51  ethernet  ens33  
 ens36  654cc6c5-1ed4-3d70-8c4f-0aa6cbf1e3f8  ethernet  ens36  
 # 删除连接
 [root@server ~ 11:28:49]# nmcli connection delete ens36
 成功删除连接 "ens36" (654cc6c5-1ed4-3d70-8c4f-0aa6cbf1e3f8)。
 [root@server ~ 11:29:01]# nmcli connection 
 NAME        UUID                                  TYPE      DEVICE 
 ens33       0d61fd62-c298-48d5-bf72-548ef221ae51  ethernet ens33 
 有线连接 1  654cc6c5-1ed4-3d70-8c4f-0aa6cbf1e3f8  ethernet  ens36
 ​
 # 添加配置网卡配置,模式是自动获取IP地址
 [root@server ~ 11:29:14]# nmcli connection add type ethernet ifname ens36 con-name es36-dynamic
 连接 "ens36-dynamic" (181c80cb-0eed-4831-a92f-4bf6a601b3b6) 已成功添加。
 ​
 [root@server ~ 11:40:06]# nmcli connection show
 NAME           UUID                                  TYPE      DEVICE 
 ens33          0d61fd62-c298-48d5-bf72-548ef221ae51  ethernet  ens33  
 有线连接 1     654cc6c5-1ed4-3d70-8c4f-0aa6cbf1e3f8  ethernet  ens36  
 ens36-dynamic  181c80cb-0eed-4831-a92f-4bf6a601b3b6  ethernet  --    
 ​
 [root@server ~ 11:40:33]# nmcli connection show ens36-dynamic
 connection.id:                          ens36-dynamic
 connection.uuid:                        181c80cb-0eed-4831-a92f-4bf6a601b3b6
 connection.stable-id:                   --
 connection.type:                        802-3-ethernet
 connection.interface-name:              ens36
 connection.autoconnect:                 是
 connection.autoconnect-priority:        0
 connection.autoconnect-retries:         -1 (default)
 connection.multi-connect:               0(default)
 connection.auth-retries:                -1
 connection.timestamp:                   0
 connection.read-only:                   否
 connection.permissions:                 --
 # 修改配置指定获取IP方式
 [root@server ~ 11:41:10]# nmcli connection modify ens36-dynamic ipv4.method auto
 # 激活配置
 [root@server ~ 11:41:46]# nmcli connection up ens36-dynamic 
 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/10)
 ​

静态配置

复制代码
 # 添加一个静态配置的连接
 [root@server ~]# nmcli connection add type ethernet ifname ens36 con-name ens36-static ipv4.method manual ipv4.addresses 10.1.8.20/24
 连接 "ens36-static" (652c8436-ac91-4697-b4ad-43d8dac83f8f) 已成功添加。
 ​
 # 修改 ipv4 相关属性
 [root@server ~]# nmcli connection modify ens36-static ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2
 ​
 # 激活连接
 [root@server ~]# nmcli connection up ens36-static 
 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/19)
 ​
 # 查看状态
 [root@server ~]# nmcli connection 
 NAME             UUID                                  TYPE      DEVICE 
 ens33            5f61d96b-a284-41e9-9bf6-5cf3de6250cd  ethernet  ens33 
 ens36-static     652c8436-ac91-4697-b4ad-43d8dac83f8f  ethernet  ens36 
 ens36-dynamic    27d7dd0a-a5d1-4ed8-81ad-1051f89f89d1  ethernet  --  

桥接物理网卡

复制代码
 案例
 #需要改vm虚拟机为桥接
  需求: server第二块网卡模式设置为桥接,桥接到物理网卡(有线连接)
  1. 修改vmware 网络编辑器,设置桥接网卡桥接到物理网卡(有线连接)
  2. 设置虚拟机的网络模式为桥接模式
  3. 配置网络(自动获取或者手动)
  #设置动态获取
  [root@server ~ 14:04:41]# nmcli connection add type ethernet ifname ens36 con-name ens36-physical ipv4.method auto 
  连接 "ens36-physical" (cee8ce0f-add2-4627-92cc-1479cbf249ed) 已成功添加。
  [root@server ~ 14:07:15]# nmcli connection 
  NAME            UUID                                  TYPE      DEVICE 
  ens33           d5c401d3-4d19-4324-8a6d-6e35e33302bc  ethernet  ens33  
  ens36-physical  cee8ce0f-add2-4627-92cc-1479cbf249ed  ethernet  ens36  
  virbr0          ab864f67-6502-4f3b-a0b7-26c9476e3909  bridge    virbr0 
  ens36           e6c7908e-16fc-4049-8551-cca87f4e09c0  ethernet  --     
  ens36-static    3b06f415-c6cb-4a70-97e0-1037b7ec64cd  ethernet  --     
   #激活
  [root@server ~ 14:07:20]# nmcli connection up ens36-physical 
  连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/23)
  [root@server ~ 14:07:39]# 
  #查看ip,其他外部主机能通过IP访问
  [root@server ~ 14:07:41]# ip -br add show ens36
  ens36            UP             192.168.43.214/24 fe80::d258:52be:3ce3:b842/64 
相关推荐
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
BingoGo3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack3 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack4 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
JaguarJack4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo4 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
Rockbean5 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩5 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试