网络基础管理.md

目录

  • 1.网卡命名

    • 1.1 传统网卡命名机制
    • 1.2 redhat7网卡命名机制
    • 1.3 网络接口名称组成格式
    • 1.4 网卡设备的命名过程
    • 1.5 回归传统命名
  • 2. 网络管理常用命令
    • 2.1 ifconfig
    • 2.2 ip
    • 2.3 route
    • 2.4 hostname与hostnamectl
  • 3. 网络相关配置文件
    • 3.1 网络配置文件
    • 3.2 网络接口配置文件
    • 3.3 路由配置文件
    • 3.4 DNS配置文件
  • 4. NetworkManager管理网络
  • 5. 使用原生network管理网络
  • 6. 网络检测工具与故障排查
    • 6.1 ping
    • 6.2 host与nslookup
    • 6.3 traceroute
    • 6.4 netstat
    • 6.5 ss
    • 6.6 网络故障排查

1.网卡命名

1.1 传统网卡命名机制

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

1.2 redhat7网卡命名机制

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

如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测,则根据此索引进行命名,例如eno1
如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
如果用户显式启动,也可根据MAC地址进行命名,例如enx2387a1dc56
上述均不可用时,则使用传统命名机制
上述命名机制中,有的需要biosdevname程序的参与。所以必须安装biosdevname程序且启用它。

1.3 网络接口名称组成格式

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

1.4 网卡设备的命名过程

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

1.5 回归传统命名

//修改网卡配置文件
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# mv ifcfg-ens33 ifcfg-eth0
[[email protected] 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改成eht0
ONBOOT=yes

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

[[email protected] ~]# 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生成其配置文件
[[email protected] ~]# 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

//重启系统
[[email protected] ~]# reboot

2. 网络管理常用命令

2.1 ifconfig

//查看当前处于活动状态的所有网络接口
[[email protected] ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 192.168.124.134 netmask 255.255.255.0 broadcast 192.168.124.255
        inet6 fe80::14bd:bb10:c3ee:f87 prefixlen 64 scopeid 0x20<link>
        ether 00:0c:29:76:10:14 txqueuelen 1000 (Ethernet)
        RX packets 884 bytes 75762 (73.9 KiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 944 bytes 74081 (72.3 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 1 (Local Loopback)
        RX packets 0 bytes 0 (0.0 B)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 0 bytes 0 (0.0 B)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

//仅查看eth0网卡状态
[[email protected] ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 192.168.124.134 netmask 255.255.255.0 broadcast 192.168.124.255
        inet6 fe80::14bd:bb10:c3ee:f87 prefixlen 64 scopeid 0x20<link>
        ether 00:0c:29:76:10:14 txqueuelen 1000 (Ethernet)
        RX packets 898 bytes 76820 (75.0 KiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 954 bytes 75827 (74.0 KiB)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

//查看所有网卡状态信息, 包括禁用和启用
[[email protected] ~]# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 192.168.124.134 netmask 255.255.255.0 broadcast 192.168.124.255
        inet6 fe80::14bd:bb10:c3ee:f87 prefixlen 64 scopeid 0x20<link>
        ether 00:0c:29:76:10:14 txqueuelen 1000 (Ethernet)
        RX packets 918 bytes 78328 (76.4 KiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 967 bytes 77523 (75.7 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 1 (Local Loopback)
        RX packets 0 bytes 0 (0.0 B)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 0 bytes 0 (0.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: 接收的数据包
TX packets: 发送的数据包
errors: 总的收包的错误数量
dropped: 由于各种原因, 导致拷贝在内存过程中被丢弃
collisions: 网络信号冲突情况, 值不为0则可能存在网络故障

2.2 ip

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

//查看网络接口所有地址
[[email protected] ~]# 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:76:10:14 brd ff:ff:ff:ff:ff:ff

//显示报文统计信息
[[email protected] ~]# 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:76:10:14 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    84542      997      0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    83317      1019     0       0       0       0     

//启用或禁用网络接口ip link set DEV {up|down}
[[email protected] ~]# ip link set lo down
[[email protected] ~]# ip link show
1: lo: <LOOPBACK> mtu 65536 qdisc noqueue state DOWN 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:76:10:14 brd ff:ff:ff:ff:ff:ff
[[email protected] ~]# ip link set lo up
[[email protected] ~]# 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:76:10:14 brd ff:ff:ff:ff:ff:ff

//ip addr add ADDRESS dev DEV:添加IP地址
[[email protected] ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:10:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.134/24 brd 192.168.124.255 scope global dynamic eth0
       valid_lft 1421sec preferred_lft 1421sec
    inet6 fe80::14bd:bb10:c3ee:f87/64 scope link
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip addr add 192.168.1.1/24 dev eth0
[[email protected] ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:10:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.134/24 brd 192.168.124.255 scope global dynamic eth0
       valid_lft 1320sec preferred_lft 1320sec
    inet 192.168.1.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::14bd:bb10:c3ee:f87/64 scope link
       valid_lft forever preferred_lft forever

//ip addr del ADDRESS dev DEV:删除IP地址
[[email protected] ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:10:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.134/24 brd 192.168.124.255 scope global dynamic eth0
       valid_lft 1704sec preferred_lft 1704sec
    inet 192.168.1.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::14bd:bb10:c3ee:f87/64 scope link
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip addr del 192.168.1.1/24 dev eth0
[[email protected] ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:10:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.134/24 brd 192.168.124.255 scope global dynamic eth0
       valid_lft 1664sec preferred_lft 1664sec
    inet6 fe80::14bd:bb10:c3ee:f87/64 scope link
       valid_lft forever preferred_lft forever

//ip addr show DEV:查看网络接口的地址
[[email protected] ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:76:10:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.134/24 brd 192.168.124.255 scope global dynamic eth0
       valid_lft 1575sec preferred_lft 1575sec
    inet6 fe80::14bd:bb10:c3ee:f87/64 scope link
       valid_lft forever preferred_lft forever

//ip route:routing table management 路由管理
//添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
    TARGET:
        主机路由:IP
        网络路由:NETWORK/MASK 

//删除路由:ip route del TARGET
    TARGET:
        主机路由:IP
        网络路由:NETWORK/MASK

//查看路由:ip route show

//刷新路由表:ip route flush
    [dev IFACE]
    [via PREFIX]

2.3 route

Linux主机之间是使用IP进行通信, 假设A主机和B主机同在一个网段内且网卡都处于激活状态, 则A具备和B直接通信的能力, 但如果A主机和B主机处于两个不同的网段, 则A必须通过路由器才能和B通信, 路由器属于IT设备的基础设施, 每一个网段都应该至少有一个网关

//查看当前路由表
[[email protected] ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 eth0
192.168.124.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0

//以数字方式显示各主机或端口等相关信息
[[email protected] ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.124.2 0.0.0.0 UG 100 0 0 eth0
192.168.124.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0

//增加路由
//语法:route add [-net|-host] target [netmask Nm] [gw Gw]  [[dev] If]

//增加网段路由
[[email protected] ~]# route add -net 172.16.12.0/24 gw 172.16.12.2 dev eth1
[[email protected] ~]# route add -net 0.0.0.0/0 gw 172.16.12.2 dev eth1

//增加主机路由
[[email protected] ~]# route add -host 172.16.12.128 gw 172.16.12.2

//删除路由
[[email protected] ~]# route del -net 172.16.12.0/24
[[email protected] ~]# route del -net 0.0.0.0/0 gw 172.16.12.2

2.4 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.12

//hostname查看主机名
[[email protected] ~]# hostname
localhost.localdomain

//rhel7系统建议使用hostnamectl修改和查看主机名
//设定永久名称
[[email protected] ~]# cat /etc/hostname
localhost.localdomain
[[email protected] ~]# hostnamectl set-hostname liping
[[email protected] ~]# cat /etc/hostname
liping

//查看主机信息
[[email protected] ~]# hostnamectl
   Static hostname: liping
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 6853500258764b1fae8e52afc08a5ff9
           Boot ID: 226fa1dc43b1410fb55601c65bc6af81
    Virtualization: vmware
  Operating System: Red Hat Enterprise Linux Server 7.4 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.4:GA:server
            Kernel: Linux 3.10.0-693.el7.x86_64
      Architecture: x86-64

3. 网络相关配置文件

注意:在Linux中以命令方式修改网络配置只在当前状态有效,重启后将失效。故若想使修改的配置重启后依然有效,则必须编辑配置文件进行配置的修改。

3.1 网络配置文件

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

3.2 网络接口配置文件

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



[[email protected] ~]# 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文件中

3.3 路由配置文件

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



//添加格式一:DEST via NEXTHOP
[[email protected] ~]# vi /etc/sysconfig/network-scripts/route-ens33
172.16.12.0/24 via 172.16.12.2

//添加格式二:
[[email protected] ~]# vi /etc/sysconfig/network-scripts/route-ens33
ADDRESS0=172.16.12.0
NETMASK0=255.255.255.0
GATEWAY0=172.16.12.2

3.4 DNS配置文件

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


[[email protected] ~]# vi /etc/resolv.conf 

# Generated by NetworkManager

search localdomain

nameserver 192.168.124.2

4. NetworkManager管理网络

RHEL/CentOS7系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。
NetworkManager提供的命令行和图形配置工具对网络进行设定, 设定保存的配置文件在/etc/sysconfig/network-scripts目录下, 工具有 nmcli, nmtui, nm-connect-editor

device物理设备, 例如 ens33,enp2s0,virbr0,team0
connection连接设置, 具体网络配置方案

1.不同的网络连接配置可以应用到相同的物理设备,但物理设备同一时间只能应用其中某个网络连接
2.针对物理网络接口, 设定不同的网络连接, 在不同的使用环境中激活相应的网络连接,就可以实现网络配置信息的自动切换了
使用nmcli命令查看设备以及连接情况

//查看设备状态
[[email protected] ~]# nmcli device
设备 类型 状态 连接
eth0 ethernet 连接的 eth0
lo loopback 未托管 --   

//查看指定设备的详细状态
[[email protected] ~]# nmcli device show eth0
GENERAL.设备: eth0
GENERAL.类型: ethernet
GENERAL.硬盘: 00:0C:29:76:10:14
GENERAL.MTU: 1500
GENERAL.状态: 100 (连接的)
GENERAL.连接: eth0
GENERAL.连接路径: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.载波: 开
IP4.地址[1]: 192.168.124.134/24
IP4.网关: 192.168.124.2
IP4.DNS[1]: 192.168.124.2
IP4.域[1]: localdomain
IP6.地址[1]: fe80::14bd:bb10:c3ee:f87/64
IP6.网关: --

//查看连接状态
[[email protected] ~]# nmcli connection
名称 UUID 类型 设备
eth0 8f352a0a-d25c-465c-9488-15a067f71d37 802-3-ethernet eth0 

//查看指定设备连接的详细情况
[[email protected] ~]# nmcli connection show eth0
connection.id: eth0
connection.uuid: 8f352a0a-d25c-465c-9488-15a067f71d37
connection.stable-id: --
connection.interface-name: eth0
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (默认)
connection.timestamp: 1570517882
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (默认)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: 未知
connection.lldp: -1 (default)
...

5. 使用原生network管理网络

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


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

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

//编辑网卡配置文件
[[email protected] ~]# 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网络服务加载网络并设置开机启动
[[email protected] ~]# systemctl restart network
[[email protected] ~]# systemctl enable network

6. 网络检测工具与故障排查

6.1 ping

ping命令的目的在于测试另一台主机是否可达, 如果ping不到某台主机,就说明对方主机已经出现了问题, 但是不排除由于链路中的防火墙、ping被丢弃等原因造成ping不通的情况


//ping命令常用选项:
    -c 指定ping的次数
    -i 指定ping包的发送间隔
    -w 如果ping没有回应, 则在指定超时时间后退出
[[email protected] ~]# ping -c 4 -i 2 www.baidu.com
PING www.a.shifen.com (182.61.200.7) 56(84) bytes of data.

64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=1 ttl=128 time=28.2 ms

64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=2 ttl=128 time=32.4 ms

64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=3 ttl=128 time=29.5 ms

64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=4 ttl=128 time=30.5 ms

--- www.a.shifen.com ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 6014ms

rtt min/avg/max/mdev = 28.207/30.166/32.410/1.537 ms

6.2 host与nslookup

host/nslookup命令用于查询DNS记录


[[email protected] ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 119.75.216.20
www.a.shifen.com has address 119.75.213.61

[[email protected] ~]# nslookup www.baidu.com
Server:         172.16.12.2
Address:        172.16.12.2#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 119.75.213.61
Name:   www.a.shifen.com
Address: 119.75.216.20

6.3 traceroute

traceroute命令用于路由跟踪, 检测网络故障出现在ISP运营商或是对端服务无法响应


[[email protected] ~]# traceroute www.baidu.com

traceroute to www.baidu.com (182.61.200.7), 30 hops max, 60 byte packets

 1 gateway (192.168.124.2) 0.134 ms 0.100 ms 0.065 ms

 2 * * *

 3 * * *

 4 * * *

 5 * * *

 6 * * *

6.4 netstat

netstat用于查看网络状态


//常用选项
   -antlp
[[email protected] ~]# netstat -antlp
Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name    

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1096/sshd           

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1317/master         

tcp 0 196 192.168.124.134:22 192.168.124.1:57661 ESTABLISHED 1427/sshd: [email protected] 

tcp6 0 0 :::22 :::* LISTEN 1096/sshd           

tcp6 0 0 ::1:25 :::* LISTEN 1317/master

6.5 ss

ss是一种网络状态查看工具,取代netstat


//语法:ss [options] [ FILTER ]
//常用的options:
    -t:tcp协议相关
    -u:udp协议相关
    -w:裸套接字相关
    -x:unix套接字相关
    -l:listen状态的连接
    -a:所有
    -n:数字格式
    -p:相关的程序及pid
    -e:扩展的信息
    -m:内存用量
    -o:显示计时器信息

//常见的FILTER:
    FILTER := [ state TCP-STATE ] [ EXPRESSION ]
    如:ss -tan state ESTABLISHED

//常见的state:
    //tcp finite state machine:有限状态机
        LISTEN:监听
        ESTABLISHED:已建立的连接

    //EXPRESSION:
        dport =
        sport =
        示例:'( dport = :ssh or sport = :ssh)',此处的ssh也即服务名可以使用其对应的端口号代替,等号两边必须有空格

//常用组合:
[[email protected] ~]# ss -antlp
State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port
LISTEN     0      128                   *:22                                *:*                   users:(("sshd",pid=1096,fd=3))
LISTEN     0      100           127.0.0.1:25                                *:*                   users:(("master",pid=1317,fd=13))
LISTEN     0      128                  :::22                               :::*                   users:(("sshd",pid=1096,fd=4))
LISTEN     0      100                 ::1:25                               :::*                   users:(("master",pid=1317,fd=14))

6.6 网络故障排查

网络故障分为硬件/软件故障
网卡损坏
链路故障
网卡驱动不兼容
网络排查思路
ping本地回环口, 确定本机TCP/IP协议栈是否正常
ping本机IP地址, 确定本地设备以及驱动是否正常
ping同网段主机, 确定二层网络是否正常工作
ping网关地址, 确定本地与网络是否正常
ping公网地址, 确定本地路由是否正常
ping公网域名, 确定DNS客户端是否正常
服务故障排查思路
使用telnet检测端口是否开放
检查服务端防火墙以及SElinux
检查相应的权限是否配置正常
检查日志是否有异常
检查完毕后持续测试

原文地址:https://www.cnblogs.com/liping0826/p/11635742.html

时间: 2024-08-06 05:46:45

网络基础管理.md的相关文章

马哥2016全新Linux+Python高端运维班-Linux 网络基础管理,包管理,bash脚本练习

本周作业内容: 1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别.     集线器:又称"HUB"主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上.它工作于OSI(开放系统互联参考模型)参考模型第一层,即"物理层".     二层交换机:工作于OSI模块的第2层(数据链路层),故称为二层交换机.可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录

liunx 网络基础管理

在Linux中,以太网接口被命令为:eth0, eth1等, 0,1代表网卡编号 通过lspci命令可以查看网上硬件信息(如果是usb接口,则可能要用lsusb) 命令ifconfig命令用来查看接口信息 ifconfig -a 查看所有接口 ifconfig eth0 查看特定接口 在CentOS中可以用命令ifup,ifdown用来启用,禁用一个接口 在ubuntu中可以用ifconfig 网卡 up, ifconfig 网卡 down做同样的功能 sudo ifconfig eth0 up

Linux网络基础番外篇(IP、MAC、TCP)

linux网络管理 计算机网络 MACMAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制.介质访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC地址.因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址.MAC地址(MAC Address)MAC(Medium/Media Access Control)地址,用来表示互联网上每一

网络基础配置

1.网络基础知识一台主机如果可以连接公网,比如访问www.baidu.com 那么这台主机必然会有 ipaddress GATEWAY     dns       主机域名转换成ip的服务器 ############ipaddress############## tcp/ip ipv4 2进制32位 254.254.254.254/255.255.255.0 11111110.11111110.11111110.11111110/11111111.11111111.11111111.000000

网络基础实用知识(五)

第二章认识网络常用设备(一) 一.     家庭用路由器 1.家庭路由器图例 家用路由器在市场上品牌很多,设置方法看各路由器说明书.家庭路由器一般作为家庭网的出口设备. 2.家庭路由器连接示意图 3.设置方法 连线 按照说明书给的路由器ip地址,配置电脑ip与路由器同网段. 在浏览器里输入:http://路由器ip地址 输入说明书提供的用户名和密码登陆路由器 配置上网方式:根据你实际情况配置静态地址或者PPPOE拨号. 配置是否开启DHCP. 设置无线开放状态包括:SSID的发布.密码等. 联网

网络基础知识查询

第一章.基础网络概念 1.1 网络是个什么玩意儿 全世界的人种有很多,人类使用的语言种类也多的很.那如果你想要跟外国人沟通时,除了比手划脚之外,你要如何跟对方讲话? 大概只有两种方式啰,一种是强迫他学中文,一种则是我们学他的语言,这样才能沟通啊.在目前世界上的强势语言还是属于英语系国家, 所以啰,不管是啥人种,只要学好英文,那么大家都讲英文,彼此就能够沟通了.希望不久的未来,咱们的中文能够成为强势语言啊! 这个观念延伸到网络上面也是行的通的,全世界的操作系统多的很,不是只有 Windows/Li

linux网络基础设置 以及 软件安装

一. linux网络基础设置 网络设置基本可以分为:网卡设置.网关设置.DNS设置三部分 ifconfig命令 ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 参数 add<地址>:设置网络设备IPv6的ip地址: del<地址>:删除网络设备IPv6的IP地址: down:关闭指定的网络设备: up:启动指定的网络

Python学习第二天----网络基础及操作系统简介(安装linux系统)

一.操作系统 1.操作系统是一个协调.管理和控制计算机硬件资源和软件资源的控制程序,位于计算机软件与硬件之间,其实也是一款软件. 2.操作系统的组成:内核(运行于内核态为了管理硬件资源) 系统调用接口(运行于用户态为应用程序提供系统调用接口) 3.操作系统的功能:跟硬件衔接的部分隐藏了丑陋的硬件调用接口,为应用程序员提供了更好.更简单.更清晰的系统调用接口:跟应用程序衔接的部分封装了美丽的接口,将应用程序对硬件资源的竞态请求变得有序化 4.操作系统与普通软件的区别 操作系统由硬件保护,不能被用户

Docker 学习笔记【2】 Docker 基础操作实,Docker仓库、数据卷,网络基础学习

Docker 学习笔记[3] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,实操 网络基础  ---------高级网络配置和部分实战案例学习 ============================================================= Docker 学习笔记[1]Docker 相关概念,基本操作--------实操记录开始 ============================================================= 被