• 网络配置(一)


    网卡命名

    两种命名规范

    biosdevname(过时)

    通过读取BIOS中的信息来确定网卡的物理位置,然后借此生成设备名称。这种方式并不一定能够准确对应网卡的物理顺序。

    使用需安装 yum -y install biosdevname 软件包

    命名规律

    eth0、eth1、eth2...

    systemd(主流)

    使用设备的类型、位置、数字来生成设备名称。

    守护进程 systemd-udevd.service ,默认开机自启

    命名规律
    类型
    en以太网(Ethernet)
    ib无限带宽(InfiniBand)
    sl串列线路互联网协议(slip:Serial line IP)
    wl无线局域网(WLAN,Wireless local area network)
    ww无线广域网(WWAN,Wireless wide area network)
    位置
    o板载设备索引号
    s热插拔插槽索引号
    xMAC 地址
    ps[f][d]PCI 地理位置
    ps[f][u][..][c][i]USB 端口链
    命名策略

    Scheme 1(方案 1):如果从BIOS中能够取到可用的,板载网卡的索引号,则使用这个索引号命名,例如: eno1,如不能则尝试Scheme 2
    Scheme 2(方案 2):如果从BIOS中能够取到可以用的,网卡所在的PCI-E热插拔插槽的索引号,则使用这个索引号命名,例如: ens1,如不能则尝试Scheme 3
    Scheme 3(方案 3):如果能拿到设备所连接的物理位置信息,则使用这个信息命名,例如:enp2s0,如不能则尝试Scheme 5
    Scheme 4(方案 4):使用网卡的MAC地址来命名,这个方法一般不使用。
    Scheme 5(方案 5):传统的kernel命名方法,例如: eth0,这种命名方法的结果不可预知的,即可能第二块网卡对应eth0,第一块网卡对应eth1。

    管理方式

    network.service

    network.service是系统提供的服务之一,以兼容遗留的网络功能。该服务的运行也被纳入SystemD的管理。

    相关命令

    service network start 和 chkconfig network on 系列命令

    systemctl start network 系列命令

    NetworkManager.service

    它是守护进程NetworkManager提供的服务。centos7及之后版本默认的网络管理工具

    相关命令

    systemctl status NetworkManager.service 系列命令

    两者不能同时使用

    CentOS6

    网卡名字

    常见的 eth0、eth1、eth2...

    管理方式

    network.service

    相关命令

    启动网络服务:service network start

    关闭网络服务:service network stop

    查看网络服务状态:service network status

    设为开机自启:chkconfig network on

    取消开机自启:chkconfig network off

    配置网络

    修改完网卡配置文件后重启网络服务。

    1. [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    2. DEVICE="eth0"
    3. HWADDR="00:0C:29:E5:8D:44"
    4. TYPE="Ethernet"
    5. UUID="8d0680d1-36ff-4a3f-ac93-5ca2b335094d"
    6. ONBOOT="yes"
    7. BOOTPROTO="static"
    8. IPADDR=192.168.28.163
    9. PREFIX=24
    10. GATEWAY=192.168.28.2
    11. DNS1=223.5.5.5
    12. DNS2=119.29.29.29
    13. [root@localhost ~]# service network restart

    CentOS7

    网卡名字

    常见的 ens33

    管理方式

    network.service 和 NetworkManager(默认) 同时存在,但不能同时启用。

    系统启动时,/etc/init.d/network会读取ifcfg文件,并检测NetworkManager是否已启动该设备。如果NetworkManager已经启动该设备,则/etc/init.d/network不生效,NetworkManager.service管理网络;否则/etc/init.d/network会启动该设备,network.service管理网络。

    相关命令

    启动网络服务:systemctl start network.service 或 systemctl start NetworkManager.service

    关闭网络服务:systemctl stop network.service 或 systemctl stop NetworkManager.service

    查看网络服务状态:systemctl status network.service 或 systemctl status NetworkManager.service

    设为开机自启:systemctl enable network.service 或 systemctl enable NetworkManager.service

    取消开机自启:systemctl disable network.service 或 systemctl disable NetworkManager.service

    配置网络

    network.service方式

    修改完网卡配置文件后重启网络服务。

    1. 将 NetworkManager 停止并取消开机自启
    2. [root@wenzi ~]# systemctl stop NetworkManager.service
    3. [root@wenzi ~]# systemctl disable NetworkManager.service
    4. Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
    5. Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
    6. Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
    7. 启动network.service并设置为开机自启
    8. [root@wenzi ~]# systemctl start network.service
    9. 会出现提示,应使用 chkconfig network on
    10. [root@wenzi ~]# systemctl enable network.service
    11. network.service is not a native service, redirecting to /sbin/chkconfig.
    12. Executing /sbin/chkconfig network on
    13. [root@wenzi ~]# chkconfig network on
    14. [root@wenzi ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
    15. TYPE=Ethernet
    16. PROXY_METHOD=none
    17. BROWSER_ONLY=no
    18. BOOTPROTO=static
    19. DEFROUTE=yes
    20. IPV4_FAILURE_FATAL=no
    21. IPV6INIT=yes
    22. IPV6_AUTOCONF=yes
    23. IPV6_DEFROUTE=yes
    24. IPV6_FAILURE_FATAL=no
    25. IPV6_ADDR_GEN_MODE=stable-privacy
    26. NAME=ens33
    27. UUID="039c247d-11cc-4cee-8562-01f309f0332a"
    28. DEVICE=ens33
    29. ONBOOT=yes
    30. IPADDR=192.168.28.162
    31. PREFIX=24
    32. GATEWAY=192.168.28.2
    33. DNS1=223.5.5.5
    34. DNS2=119.29.29.29
    35. [root@wenzi ~]# systemctl restart network.service
    NetworkManager方式

    见下方CentOS8

    CentOS8

    网卡名字

    常见的 ens160

    管理方式

    NetworkManager

    相关命令

    启动网络服务:systemctl start NetworkManager.service

    关闭网络服务:systemctl stop NetworkManager.service

    查看网络服务状态:systemctl status NetworkManager.service

    设为开机自启:systemctl enable NetworkManager.service

    取消开机自启:systemctl disable NetworkManager.service

    配置网络

    nmcli

    是一个命令行工具,用于控制NetworkManager,它是CentOS 7和Red Hat Enterprise Linux 7等系统中默认的网络管理工具。

    语法

    nmcli [options] object {command | help}

    object 常用的是 connection 和 device。

    Device(设备)是指网络接口,是物理设备,例如网卡、无线网卡等。NetworkManager可以自动检测和配置这些设备。

    Connection(连接)是逻辑设置,用于描述如何配置Device(设备)。一个Connection可以应用到多个Device上,但同一时间只能启用其中一个Connection。Connection包含了诸如IP地址、子网掩码、网关等网络参数的配置。

    一、查看网卡信息
    1. 查看所有网络连接
    2. [root@wenzi ~]# nmcli con show
    3. NAME UUID TYPE DEVICE
    4. System ens160 96649f5b-1c86-4cea-aa1e-366223abaea8 ethernet ens160
    5. 查看活跃的网络连接
    6. [root@wenzi ~]# nmcli con show --active
    7. NAME UUID TYPE DEVICE
    8. System ens160 96649f5b-1c86-4cea-aa1e-366223abaea8 ethernet ens160
    9. 查看指定网络连接的详细信息
    10. [root@wenzi ~]# nmcli con show "System ens160"
    11. connection.id: System ens160
    12. connection.uuid: 96649f5b-1c86-4cea-aa1e-366223abaea8
    13. connection.stable-id: --
    14. connection.type: 802-3-etherne
    15. ...
    16. 查看所有网络设备
    17. [root@wenzi ~]# nmcli dev show
    18. GENERAL.DEVICE: ens160
    19. GENERAL.TYPE: ethernet
    20. GENERAL.HWADDR: 00:0C:29:1B:12:DA
    21. ...
    22. GENERAL.DEVICE: lo
    23. GENERAL.TYPE: loopback
    24. GENERAL.HWADDR: 00:00:00:00:00:00
    25. GENERAL.MTU: 65536
    26. 查看指定网络设备的详细信息
    27. [root@wenzi ~]# nmcli dev show ens160
    28. GENERAL.DEVICE: ens160
    29. GENERAL.TYPE: ethernet
    30. GENERAL.HWADDR: 00:0C:29:1B:12:DA
    31. GENERAL.MTU: 1500
    32. ...
    二、改变网卡状态
    1. 停用指定的网络连接
    2. [root@wenzi ~]# nmcli con down "System ens160"
    3. 启用指定的网络连接
    4. [root@wenzi ~]# nmcli con up "System ens160"
    5. 删除指定的网络连接
    6. [root@wenzi ~]# nmcli con delete "System ens160"
    7. 停用指定网络设备
    8. [root@wenzi ~]# nmcli device disconnect ens160
    9. 启用指定网络设备
    10. [root@wenzi ~]# nmcli device connect ens160
    11. 删除指定的网络设备
    12. [root@wenzi ~]# nmcli device delete ens160
    13. 重新加载网络配置
    14. [root@wenzi ~]# nmcli con reload
    三、新增网卡配置文件

    nmcli con add ...会自动生成新的网卡配置文件,名字为ifcfg-[con-name],即下面的ifcfg-ens00

    1. [root@wenzi ~]# nmcli con add type ethernet con-name ens00 ifname ens00 ipv4.method manual connection.autoconnect yes ipv4.addresses 192.168.28.165/24 ipv4.gateway 192.168.28.2 ipv4.dns 223.5.5.5 +ipv4.dns 119.29.29.29
    2. [root@wenzi ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens00
    3. TYPE=Ethernet
    4. PROXY_METHOD=none
    5. BROWSER_ONLY=no
    6. BOOTPROTO=none
    7. IPADDR=192.168.28.165
    8. PREFIX=24
    9. GATEWAY=192.168.28.2
    10. DNS1=223.5.5.5
    11. DNS2=119.29.29.29
    12. DEFROUTE=yes
    13. IPV4_FAILURE_FATAL=no
    14. IPV6INIT=yes
    15. IPV6_AUTOCONF=yes
    16. IPV6_DEFROUTE=yes
    17. IPV6_FAILURE_FATAL=no
    18. IPV6_ADDR_GEN_MODE=stable-privacy
    19. NAME=ens00
    20. UUID=e4b5bd14-e321-4a9a-a8a9-13226a209c5e
    21. DEVICE=ens00
    22. ONBOOT=yes
    type ethernetTYPE=Ethernet
    con-name ens00NAME=ens00
    ifname ens00DEVICE=ens00
    ipv4.method manual 或 autoBOOTPROTO=none 或 dhcp
    connection.autoconnect yesONBOOT=yes
    ipv4.addresses 192.168.28.165/24

    IPADDR=192.168.28.165
    PREFIX=24

    ipv4.gateway 192.168.28.2GATEWAY=192.168.28.2
    ipv4.dns 223.5.5.5DNS1=223.5.5.5
    +ipv4.dns 119.29.29.29DNS2=119.29.29.29

    三、修改网卡配置文件

    一、通过nmcli命令 nmcli con mod ens00 .... ,修改后需要执行 nmcli con up ens00 使配置生效。

    二、手动修改ifcfg-ens00配置文件,修改后需要执行 nmcli con reload && nmcli con up ens00 使配置生效

    1. 添加第二个IP
    2. [root@wenzi ~]# nmcli con mod ens00 +ipv4.addresses 192.168.28.166/24
    3. 删除第二个IP
    4. [root@wenzi ~]# nmcli con mod ens00 -ipv4.addresses 192.168.28.166/24
    5. 添加第二个DNS
    6. [root@wenzi ~]# nmcli con mod ens00 +ipv4.dns 223.5.5.5
    7. 删除第二个DNS
    8. [root@wenzi ~]# nmcli con mod ens00 -ipv4.dns 223.5.5.5

    其余的选项同上方表格。

  • 相关阅读:
    go: 如何获取linux用户的uid和gid
    基于Spring、SpringMVC、Mybatis的超市管理系统
    什么是客户体验自动化?
    【java基础-实战2】数组拷贝的几种实现方式
    如何下载MyBatis呢?
    Docker swarm 通过 docker-compose 部署应用
    大前端进阶:vue
    分布式监控系统——Zabbix(2)部署
    Spring-aop技术
    Windows C++ 环境下 eigen、osqp、osqp-eigen安装教程
  • 原文地址:https://blog.csdn.net/qq_40875048/article/details/134410581