文章目录

  • 1.网卡命名
  • 2.网络管理常用命令
  • 3.网络相关配置文件
  • 4.NetworkManager管理网络
  • 5.使用原生network管理网络



1.网卡命名


如果硬件接口的物理位置信息可用


如果用户显式启动


上述均不可用时-- C



redhat7网卡命名机制

根据此索引进行命

enp2s0

可根据MAC地址进行命名

en9999

则使用传统命名机制

有的需要biosdevname程序的参与

必须安装biosdevname程序且启用它


网络接口名称组成

设备结构

o:主板上集成的设备的设备索引号

s:扩展槽的索引号

x:基于MAC地址的命名

ps:基于物理位置拓扑的命名。如enp2s1,表示PCI总线上第2个总线的第1个插槽的设备索引号

回归传统命名

//修改网卡配置文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# mv ifcfg-ens33 ifcfg-eth0
[root@localhost network-scripts]# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0   //此处要把ens33改成eht0
UUID=03be31f5-a3c1-4f8d-88b3-aea6e85c869f
DEVICE=eth0 //此处要把ens33改成eth0
ONBOOT=yes

//编辑/etc/default/grub配置文件,在以GRUB_CMDLINE_LINUX开头的行内rhgb的前面加上net.ifnames=0 biosdevname=0 

[root@localhost ~]# vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

//为grub2生成其配置文件
[root@localhost ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-fd0bcf5782d24ba5b903b175c35f328e
Found initrd image: /boot/initramfs-0-rescue-fd0bcf5782d24ba5b903b175c35f328e.img
done

//重启系统
[root@localhost ~]# reboot

2.网络管理常用命令

ifconfig:查看当前处于活动状态的所有网络接口

[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.12.128  netmask 255.255.255.0  broadcast 172.16.12.255
        inet6 fe80::20c:29ff:fe73:110  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:73:01:10  txqueuelen 1000  (Ethernet)
        RX packets 5121  bytes 424364 (414.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3813  bytes 3257482 (3.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 4  bytes 344 (344.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 344 (344.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig -a 查看所有网卡状态信息, 包括禁用和启用

[root@localhost ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.12.128  netmask 255.255.255.0  broadcast 172.16.12.255
        inet6 fe80::20c:29ff:fe73:110  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:73:01:10  txqueuelen 1000  (Ethernet)
        RX packets 5177  bytes 428948 (418.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3844  bytes 3262104 (3.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 4  bytes 344 (344.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 344 (344.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

网卡配置信息含义如下:

UP: 网卡处于活动状态

BROADCAST: 支持广播

RUNNING: 网线已接入

MULTICAST: 支持组播

MTU: 最大传输单元(字节),即此接口一次所能传输的最大封包

inet: 显示IPv4地址行

inet6: 显示IPv6地址行

link/enther: 指设备硬件(MAC)地址

txqueuelen: 传输缓存区长度大小

RX packets: 接收的数据包

vTX packets: 发送的数据包

errors: 总的收包的错误数量

dropped: 由于各种原因, 导致拷贝在内存过程中被丢弃

collisions: 网络信号冲突情况, 值不为0则可能存在网络故障

ip

link:网络接口属性
addr:协议地址
route:路由

ip link show:查看网络接口所有地址

[root@localhost ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:73:01:10 brd ff:ff:ff:ff:ff:ff

ip -s link show:显示报文统计信息

[root@localhost ~]# ip -s link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    0          0        0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0       0       0       0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:73:01:10 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    23826      255      0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    21275      157      0       0       0       0

ip link set DEV {up|down}:启用或禁用网络接口

[root@localhost ~]# ip link set lo down
[root@localhost ~]# ip link set lo up

ip addr add ADDRESS dev DEV:添加IP地址

1.先查看eth0网卡信息
[root@localhost ~]# ip addr show eth0
 eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP qlen 1000
    link/ether 00:0c:29:73:01:10 brd ff:ff:ff:ff:ff:ff
    inet 172.16.12.128/24 brd 172.16.12.255 scope global dynamic eth0
       valid_lft 1683sec preferred_lft 1683sec
    inet6 fe80::20c:29ff:fe73:110/64 scope link
       valid_lft forever preferred_lft forever
   2.添加网段
 [root@localhost ~]# ip addr add 192.168.1.1/24 dev eth0
   3.查看[root@localhost ~]# ip addr show eth0
   eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:01:10 brd ff:ff:ff:ff:ff:ff
    inet 172.16.12.128/24 brd 172.16.12.255 scope global dynamic eth0
       valid_lft 1657sec preferred_lft 1657sec
    inet 192.168.1.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:110/64 scope link
       valid_lft forever preferred_lft forever

ip addr del ADDRESS dev DEV:删除IP地址

1.查看eth0网卡[root@localhost ~]# ip addr show eth0
 eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP qlen 1000
    link/ether 00:0c:29:73:01:10 brd ff:ff:ff:ff:ff:ff
    inet 172.16.12.128/24 brd 172.16.12.255 scope global dynamic eth0
       valid_lft 1603sec preferred_lft 1603sec
    inet 192.168.1.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:110/64 scope link
       valid_lft forever preferred_lft forever
       
2.删除IP地址[root@localhost ~]# ip addr del 192.168.1.1/24 dev eth0
[root@localhost ~]# ip addr show eth0
 eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:01:10 brd ff:ff:ff:ff:ff:ff
    inet 172.16.12.128/24 brd 172.16.12.255 scope global dynamic eth0
       valid_lft 1580sec preferred_lft 1580sec
    inet6 fe80::20c:29ff:fe73:110/64 scope link
       valid_lft forever preferred_lft forever

route

查看当前路由表

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
172.16.12.0     0.0.0.0         255.255.255.0   U     100    0        0 ens33

增加网段路由

[root@localhost ~]# route add -net 172.16.128.0/24 gw 172.16.12.2 dev eth1
[root@localhost ~]# route add -net 0.0.0.0/0 gw 172.16.12.2 dev eth1

增加主机路由

[root@localhost ~]# route add -host 172.16.12.128 gw 172.16.12.2

删除路由

[root@localhost ~]# route del -net 172.16.128.0/24
[root@localhost ~]# route del -net 0.0.0.0/0 gw 172.16.12.2

hostname与hostnamectl

公有云: 地区-项目-业务-服务-节点-地址
wh-shop-register-nginx-node1-192.168.56.13
wh-med-pay-mysql-master01-192.168.56.11
wh-med-pay-mysql-slave01-192.168.56.11

hostname临时修改主机名

[root@localhost ~]# hostname clq0917
修改主机名后需要重新登录用户才会显示效果

设定永久名称

[root@localhost ~]# hostnamectl set-hostname clq0917
[root@localhost ~]# cat /etc/hostname
clq0917

查看主机信息

[root@clq0917 ~]# hostnamectl
   Static hostname: clq0917
         Icon name: computer
           Chassis: n/a
        Machine ID: 1445ec8f1b5842fabc3388bbe149ccf3
           Boot ID: f51b74810b51408881a3be0a39da4b7a
    Virtualization: vmware
  Operating System: Red Hat Enterprise Linux Server 7.0 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.0:GA:server
            Kernel: Linux 3.10.0-123.el7.x86_64
      Architecture: x86_64

3.网络相关配置文件

网络配置文件

//网络配置文件:/etc/sysconfig/network
    NETWORKING={yes|no}:设定整个系统是否启用网络功能,若设为no,则不论网卡如何设置都不能使用网络功能。
    HOSTNAME:设置主机名

网络接口配置文件
网络接口即网卡,其配置文件的路径是/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
UUID=03be31f5-a3c1-4f8d-88b3-aea6e85c869f
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.12.130
NETMASK=255.255.255.0
GATEWAY=172.16.12.2
DNS1=172.16.12.2

//网卡配置说明
//参数                    说明
BOOTPROTO=none          //引导协议,可选值有{static|none|dhcp|bootp}。如果要使用静态地址,使用static或none都可以
NM_CONTROLLED           //NM是NetworkManager的简写,NM是由RHEL研发的在RHEL6中取代network脚本来实现网络管理、配置的服务脚本
    //可选值有{ yes | no }
    //此项是设定此网卡是否接受NM控制。CentOS6建议设为“no”

TYPE

//接口类型。常见的接口类型有:Ethernet,Bridge

UUID

//设备的惟一标识

HWADDR

//硬件地址,要与硬件中的地址保持一致,可省

IPADDR=172.16.12.130

//固定IP地址

PREFIX=24

//子网掩码

NETMASK=255.255.255.0

//子网掩码

GATEWAY=172.16.12.2

//默认网关

DNS1=172.16.12.2

//第一个DNS服务器指向

DNS2

//第二个DNS服务器指向

DNS3

//第三个DNS服务器指向

DEVICE=eth1

//关联的设备名称,要与文件名的后半部"INTERFACE_NAME"保持一致

NAME=“eth1”

//连接名称

ONBOOT=yes

//在系统引导时是否自动激活此网络接口,可选值有{ yes | no }

DEFROUTE=yes

//将接口设定为默认路由[yes/no]

USERCTL={yes/no}

//是否允许普通用户控制此接口的启用与禁用

PEERDNS={yes/no}

//是否在BOOTPROTO为dhcp时接受由dhcp服务器指定的DNS地址,此项设为yes时获得的DNS地址将直接覆盖至/etc/resolv.conf文件中

路由配置文件

路由配置文件的路径是/etc/sysconfig/network-scripts/route-INTERFACE_NAME

//添加格式一:DEST via NEXTHOP
[root@localhost ~]# vi /etc/sysconfig/network-scripts/route-ens33
172.16.12.0/24 via 172.16.12.2
                
//添加格式二:
[root@clq0917 ~]# vi /etc/sysconfig/network-scripts/route-ens33
ADDRESS0=172.16.12.0
NETMASK0=255.255.255.0
GATEWAY0=172.16.12.2

DNS配置文件

DNS配置文件的路径是/etc/resolv.conf

[root@clq0917 ~]# vi /etc/resolv.conf
nameserver DNS_IP_1
nameserver DNS_IP_2
nameserver DNS_IP_3

4.NetworkManager管理网络

NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。

使用nmcli命令查看设备以及连接情况

1.//查看设备状态
[root@clq0917 ~]# nmcli device
设备         类型      状态    CONNECTION  
eno16777736  ethernet  连接的  eno16777736 
lo           loopback  未管理  --
         
2.//查看指定设备的详细状态
[root@clq0917 ~]# nmcli device show eno16777736
GENERAL.设备:                           eno16777736
GENERAL.类型:                           ethernet
GENERAL.硬盘:                           00:0C:29:0E:B2:9C
GENERAL.MTU:                            1500
GENERAL.状态:                           100 (连接的)
GENERAL.CONNECTION:                     eno16777736
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.容器:                  开
IP4.地址[1]:                            ip = 192.168.174.130/24, gw = 192.168.174.2
IP4.DNS[1]:                             192.168.174.2
IP4.DOMAIN[1]:                          localdomain
IP6.地址[1]:                            ip = fe80::20c:29ff:fe0e:b29c/64, gw = ::

3.//查看连接设备
[root@clq0917 ~]# nmcli connection
名称         UUID                                  类型            设备        
eno16777736  fce2b2c3-1a21-4d04-a37e-aeb3d16b3b93  802-3-ethernet  eno16777736 

4.//查看指定设备连接的详细情况
[root@localhost ~]# nmcli connection show eno16777736
connection.id:                          eno16777736
connection.uuid:                        fce2b2c3-1a21-4d04-a37e-aeb3d16b3b93
connection.interface-name:              --
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.timestamp:                   1605629656
connection.read-only:                   no
connection.permissions:                 
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.secondaries:                 
connection.gateway-ping-timeout:        0
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mac-address:             00:0C:29:0E:B2:9C
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.mac-address-blacklist:   
802-3-ethernet.mtu:                     自动
802-3-ethernet.s390-subchannels:        
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            
ipv4.method:                            auto
ipv4.dns:                               
ipv4.dns-search:                        
ipv4.addresses:                         
ipv4.routes:                            
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv6.method:                            auto
ipv6.dns:                               
ipv6.dns-search:                        
ipv6.addresses:                         
ipv6.routes:                            
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (未知)
ipv6.dhcp-hostname:                     --
GENERAL.名称:                           eno16777736
GENERAL.UUID:                           fce2b2c3-1a21-4d04-a37e-aeb3d16b3b93
GENERAL.设备:                           eno16777736
GENERAL.状态:                           已激活
GENERAL.默认:                           是
GENERAL.DEFAULT6:                       否
GENERAL.VPN:                            否
GENERAL.ZONE:                           --
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC 对象:                      --
GENERAL.MASTER-PATH:                    --
IP4.地址[1]:                            ip = 192.168.174.130/24, gw = 192.168.174.2
IP4.DNS[1]:                             192.168.174.2
IP4.DOMAIN[1]:                          localdomain
DHCP4.OPTION[1]:                        requested_domain_search = 1
DHCP4.OPTION[2]:                        dhcp_message_type = 5
DHCP4.OPTION[3]:                        requested_time_offset = 1
DHCP4.OPTION[4]:                        requested_domain_name = 1
DHCP4.OPTION[5]:                        requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[6]:                        requested_broadcast_address = 1
DHCP4.OPTION[7]:  
,,,,,

5.使用原生network管理网络

CentOS/RHEL的网络配置文件默认目录为 /etc/sysconfig/network-scripts
默认第一块物理网卡配置文件为ifcfg-eth0, 如果有第二块物理网卡, 配置文件则为ifcfg-eth1以此类推。 注意: 如果新增物理网卡没有配置文件,可选择复制系统默认的进行修改。

//设置NetworkManger开机不启动, 同时停止NetworkManger服务
[root@localhost ~]# systemctl disable NetworkManager
[root@localhost ~]# systemctl stop NetworkManager

//添加一块物理网卡, 然后新增网络连接配置文件
//复制配置eth0配置文件为eth1
[root@localhost ~]# cp /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth1}

//编辑网卡配置文件
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
UUID=03be31f5-a3c1-4f8d-88b3-aea6e85c869f
DEVICE=eth1
NM_CONTROLLED=no
ONBOOT=yes
IPADDR=172.16.12.130
NETMASK=255.255.255.0
GATEWAY=172.16.12.2
DNS1=172.16.12.2

//重启network网络服务加载网络并设置开机启动
[root@localhost ~]# systemctl restart network
[root@localhost ~]# systemctl enable network