网络基础管理

本文介绍了Linux系统中网络的基础管理,包括网卡命名机制、常用网络管理命令、配置文件位置、NetworkManager与原生network服务的使用,以及网络检测工具和故障排查方法。详细讲解了从传统命名到redhat7的命名变化,ifconfig、ip、route等命令的用途,以及如何通过ping、traceroute等工具进行网络故障定位。
摘要由CSDN通过智能技术生成

1. 网卡命名

1.1 传统网卡命名机制

传统命名:
以太网eth[0,1,2,…]
wlan[0,1,2,…]

1.2 redhat7网卡命名机制

systemd对网络设备的命名方式:

  1. 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测,则根据此索引进行命名,例如eno1
  2. 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
  3. 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
  4. 如果用户显式启动,也可根据MAC地址进行命名,例如enx2387a1dc56
  5. 上述均不可用时,则使用传统命名机制

上述命名机制中,有的需要biosdevname程序的参与。所以必须安装biosdevname程序且启用它。

1.3 网络接口名称组成格式

基于固件、设备结构、设备类型

  • 由两个字母开头标示固件
    • 以太网网卡以 en 开头
    • 无线网卡以 wl 开头
  • 设备结构
    • o:主板上集成的设备的设备索引号
    • s:扩展槽的索引号
    • x:基于MAC地址的命名
    • ps:基于物理位置拓扑的命名。如enp2s1,表示PCI总线上第2个总线的第1个插槽的设备索引号

1.4 网卡设备的命名过程

  1. udev,辅助工具程序/lib/udev/rename_device会根据/usr/lib/udev/rules.d/60-net.rules中的信息设定网卡名称
  2. biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules中的信息设定网卡名称
  3. 通过udev检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description中的变量信息设定网卡名称

1.5 回归传统命名

修改网卡配置文件
[root@wenhs-AWS ~]# cd /etc/sysconfig/network-scripts/
[root@wenhs-AWS network-scripts]# cp ifcfg-ens33 ifcfg-eth0
[root@wenhs-AWS network-scripts]# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0   //此处要把ens33改成eht0
DEVICE=eth0 //此处要把ens33改成eht0
ONBOOT=yes

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

[root@wenhs-AWS ~]# 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@wenhs-AWS ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-4b6c5369a989421bb4205cfad603d374
Found initrd image: /boot/initramfs-0-rescue-4b6c5369a989421bb4205cfad603d374.img
done


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

2. 网络管理常用命令

2.1 ifconfig

查看当前处于活动状态的所有网络接口
[root@wenhs-AWS ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 10.0.100.10  netmask 255.255.255.0  broadcast 10.0.100.255
        inet6 fe80::869:6bff:fe89:6872  prefixlen 64  scopeid 0x20<link>
        ether 0a:69:6b:89:68:72  txqueuelen 1000  (Ethernet)
        RX packets 1187  bytes 128192 (125.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1232  bytes 120424 (117.6 KiB)
        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 1000  (Local Loopback)
        RX packets 96  bytes 8952 (8.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 96  bytes 8952 (8.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  
仅查看eth0网卡状态      
[root@wenhs-AWS ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 10.0.100.10  netmask 255.255.255.0  broadcast 10.0.100.255
        inet6 fe80::869:6bff:fe89:6872  prefixlen 64  scopeid 0x20<link>
        ether 0a:69:6b:89:68:72  txqueuelen 1000  (Ethernet)
        RX packets 1221  bytes 130744 (127.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1265  bytes 126274 (123.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
查看所有网卡状态信息, 包括禁用和启用
[root@wenhs-AWS ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 10.0.100.10  netmask 255.255.255.0  broadcast 10.0.100.255
        inet6 fe80::869:6bff:fe89:6872  prefixlen 64  scopeid 0x20<link>
        ether 0a:69:6b:89:68:72  txqueuelen 1000  (Ethernet)
        RX packets 1240  bytes 131850 (128.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1280  bytes 128032 (125.0 KiB)
        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 1000  (Local Loopback)
        RX packets 96  bytes 8952 (8.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 96  bytes 8952 (8.7 KiB)
        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: 接收的数据包
TX packets: 发送的数据包
errors: 总的收包的错误数量
dropped: 由于各种原因, 导致拷贝在内存过程中被丢弃
collisions: 网络信号冲突情况, 值不为0则可能存在网络故障

2.2 ip

语法:ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT:
    link:网络接口属性
    addr:协议地址
    route:路由 

查看网络接口所有地址  
[root@wenhs-AWS ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
    
显示报文统计信息
[root@wenhs-AWS ~]# ip -s link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    8952       96       0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    8952       96       0       0       0       0       
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    135805     1306     0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    135567     1339     0       0       0       0       
    
启用或禁用网络接口ip link set DEV {up|down}
[root@wenhs-AWS ~]# ip link set lo down
[root@wenhs-AWS ~]# ip link set lo up

ip addr add ADDRESS dev DEV:添加IP地址
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
    inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
       valid_lft 2924sec preferred_lft 2924sec
    inet6 fe80::869:6bff:fe89:6872/64 scope link 
       valid_lft forever preferred_lft forever
[root@wenhs-AWS ~]# ip addr add 192.168.1.1/24 dev eth0
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
    inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
       valid_lft 2871sec preferred_lft 2871sec
    inet 192.168.1.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::869:6bff:fe89:6872/64 scope link 
       valid_lft forever preferred_lft forever

//ip addr del ADDRESS dev DEV:删除IP地址
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
    inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
       valid_lft 2826sec preferred_lft 2826sec
    inet 192.168.1.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::869:6bff:fe89:6872/64 scope link 
       valid_lft forever preferred_lft forever
[root@wenhs-AWS ~]# ip addr del 192.168.1.1/24 dev eth0
[root@wenhs-AWS ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0a:69:6b:89:68:72 brd ff:ff:ff:ff:ff:ff
    inet 10.0.100.10/24 brd 10.0.100.255 scope global noprefixroute dynamic eth0
       valid_lft 2742sec preferred_lft 2742sec
    inet6 fe80::869:6bff:fe89:6872/64 s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值