目录网卡名网卡配置文件网络参数配置DNS指定主机名本地解析(静态主机名)路由ifconfig命令ping命令netstat 命令使用1:查看本机开启的端口使用2:查看本机有哪些程序开启的端口使用3:查看所有连接使用4:查看网关地址(路由)域名解析相关命令其他命令故障排查

网络属于Linux内核的功能

网口状态(up/down,速率,自协商/强制,全双工/半双工)

ip,掩码,网关,DNS,路由(目标网段/掩码/下一跳)

虚拟接口

网卡名

rhel6网卡名称命名规则

lo:本地回环网卡

eth0:eth表示以太网卡0表示第一块网卡

ppp[num]:点对点连接

rhel7网卡名称命名规则

eno1 :代表由主板BIOS内建的网卡

ens1 :代表由主板BIOS内建的PCI-E界面的网卡

enp2s0 :代表PCI-E界面的独立网卡,可能因此会有多个网卡接口,因此会有s0,s1...的编号

eth0 :如果上述的名称都不适用,就回到原本的预设网卡编号

网卡配置文件

网络配置文件

rhel6# /etc/sysconfig/network-scripts/ifcfg-eth0

rhel7# /etc/sysconfig/network-scripts/ifcfg-eno16777736

网卡硬件信息文件

rhel6# RHEL6: /etc/udev/rules.d/70-persistent-net.rules

RHEL5: /etc/modprobe.conf

网络参数配置

网络接口配置文件:/etc/sysconfig/network-scripts/ifcfg-INTERFACE-NAME

DEVICE=eth0 关联的设备名称,要与文件名的后半部INTERFACE-NAME相一致

BOOTPROTO= (static|none|dhcp|bootp) 引导协议,要使用静态地址,使用static或者none;dhcp表示使用DHCP服务器获取地址

IPADDR=10.168.80.158 IP地址

NETMASK=255.255.248.0 子网掩码

GATEWAY= 设定默认网关

ONBOOT=(yes|no) 开机时是否自动激活此网络接口

HWADDR= MAC地址(硬件地址),要与硬件中的地址保持一致,可以省略

USERCTL=(yes|no) 是否允许普通用户控制此接口

PEERDNS=(yes|no) 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址

注意:配置文件的方式设置不会立即生效,但是重启网络服务器或者主机都会生效

HWADDR与MACADDR的区别

HWADDR="00:0C:29:97:DE:DB"

MACADDR="00:0C:29:DF:52:DA"

HWADDR=, 其中 以AA:BB:CC:DD:EE:FF形式的以太网设备的硬件地址.在有多个网卡设备的机器上,这个字段是非常有用的,它保证设备接口被分配了正确的设备名,而不考虑每个网卡模块被配置的加载顺序.这个字段不能和MACADDR一起使用.

MACADDR=, 其中 以AA:BB:CC:DD:EE:FF形式的以太网设备的硬件地址.在有多个网卡设备的机器上.这个字段用于给一个接口分配一个MAC地址,覆盖物理分配的MAC地址. 这个字段不能和HWADDR一起使用.

DNS

DNS服务器指定方法只有一种 /etc/resove.conf

nameserver DNS-IP_1

nameserver DNS-IP_2

nameserver DNS-IP_3

指定主机名本地解析(静态主机名)

使用主机名访问目标地址的过程是先到--->/etc/hosts里面查看要访问的主机名有么有对应的IP如果找到就用这个ip,没有找到就再看DNS里面找

/etc/hosts #修改后立即生效

主机IP 主机名 主机别名(可以省略)

最左边一列是主机IP信息,中间一列是主机名.任何后面的列都是该主机的别名

路由

路由配置文件

/etc/sysconfig/network-scripts/route-enp1s0

添加格式一:

default via 192.168.0.1 dev enp1s0

10.10.10.0/24 via 192.168.0.10 dev enp1s0

172.16.1.10/32 via 192.168.0.10 dev enp1s0

添加格式二:

ADDRESS0=10.10.10.0

NETMASK0=255.255.255.0

GATEWAY0=192.168.0.10

ADDRESS1=172.16.1.10

NETMASK1=255.255.255.0

GATEWAY1=192.168.0.10

注意:两种格式不能混合使用

red hat官网文档

ifconfig命令

ifconfig命令最主要的作用就是查看IP地址的信息,直接输入ifconfig命令即可。

ping命令

测试网络连通性,后接主机名、域名或IP

-b:后面加入广播地址,用于对整个网段进行探测

-c 持续ping的次数,默认为持续ping

-s ping时发送的数据包数,默认是字节,M

ping 192.168.1.1

ping node1

ping www.linuxcast.net

netstat 命令

功能描述:输出网络连接、路由表、接口统计、伪装连接和组播成员。

netstat是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。

在CentOS7.x中netstat命令默认没有安装,如果需要使用,需要安装net-snmp和net-tools软件包。(CentOS6中自动安装)

[rootelocalhost ~]# netstat [选项]

选项:

-a:列出所有网络状态,包括 Socket程序

-c秒数:指定每隔几秒刷新一次网络状态

-n:使用IP地址和端口号显示,不使用域名与服务名

-p:显示PID和程序名

-t:显示使用TCP协议端口的连接状况-u:显示使用UDP协议端口的连接状况

-1:仅显示监听状态的连接

-r:显示路由表

使用1:查看本机开启的端口

这是本机最常用的方式,使用选项-tuln。因为使用了-l选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接。

[root@vm-centos764 rules.d]# netstat -tuln

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN

Proto:网络连接的协议,一般就是TCP协议或者UDP协议。

Recv-Q:表示接收到的数据。已经在本地的缓冲中,但是还没有被进程取走。

Send-Q:表示从本机发送,对方还没有收到的数据。依然在本地的缓冲中,一般是不具备ACK标志的数据包。

Local Address:本机的IP地址和端口号。

Foreign Address:远程主机的IP地址和端口号。

State:状态。常见的状态主要有以下几种。

LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听。

ESTABLISHED:已经建立连接的状态。如果使用“-l”选项,则看不到已经建立连接的状态。

SYNSENT:SYN发起包,就是主动发起连接的数据包。

SYNRECV:接收到主动连接的数据包。

FINWAIT1:正在中断的连接。

FINWAIT2:已经中断的连接,但是正在等待对方主机进行确认。

TIMEWAIT:连接已经中断,但是套接字依然在网络中等待结束。

CLOSED:套接字没有被使用。

使用2:查看本机有哪些程序开启的端口

如果使用-p选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的PID。

[root@vm-centos764 rules.d]# netstat -tulnp

Active Internet connections (only servers)

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

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd

tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1699/dnsmasq

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

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1139/cupsd

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

tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 2827/sshd: root@pts

tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 4092/sshd: root@pts

使用3:查看所有连接

使用选项-an可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socket程序连接等。因为连接较多,所以输出的内容有很多。

[root@vm-centos764 rules.d]# netstat -an

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN

tcp 0 0 192.168.27.133:22 192.168.27.1:8844 ESTABLISHED

tcp 0 0 192.168.27.133:22 192.168.27.1:8843 ESTABLISHED

tcp 0 36 192.168.27.133:22 192.168.27.1:5526 ESTABLISHED

tcp 0 0 192.168.27.133:22 192.168.27.1:5527 ESTABLISHED

...

udp6 0 0 ::1:323 :::*

raw6 0 0 :::58 :::* 7

Active UNIX domain sockets (servers and established)

Proto RefCnt Flags Type State I-Node Path

unix 2 [ ACC ] STREAM LISTENING 23924 private/error

unix 2 [ ACC ] STREAM LISTENING 23927 private/retry

unix 2 [ ACC ] STREAM LISTENING 23930 private/discard

...

从Active UNIX domain sockets开始,之后的内容就是Socket程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在-an选项的输出中看到各种网络连接状态,而之前的-tuln选项则只能看到监听状态。

使用4:查看网关地址(路由)

ifconfig命令只能看到IP地址,Mac地址,子网掩码。

但是我们并不同通过ifconfig命令查看到网关,如果需要查看网关地址,就需要用到netstat 命令。

如下图,执行命令:netstat -rn

[root@vm-centos764 rules.d]# netstat -rn

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

0.0.0.0 192.168.27.2 0.0.0.0 UG 0 0 0 ens33

192.168.27.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

[root@vm-centos764 rules.d]#

域名解析相关命令

# host命令

[root@vm-centos764 rules.d]# host www.baidu.com

www.baidu.com is an alias for www.a.shifen.com.

www.a.shifen.com has address 110.242.68.4

www.a.shifen.com has address 110.242.68.3

# dig命令

[root@vm-centos764 rules.d]# dig www.baidu.com

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61861

;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;www.baidu.com. IN A

;; ANSWER SECTION:

www.baidu.com. 5 IN A 110.242.68.4

www.baidu.com. 5 IN A 110.242.68.3

;; Query time: 10 msec

;; SERVER: 192.168.27.2#53(192.168.27.2)

;; WHEN: 六 12月 10 22:20:56 CST 2022

;; MSG SIZE rcvd: 63

[root@vm-centos764 rules.d]#

# nslookup命令

# 测试DNS域名解析 可以直接加主机名或IP,也可回车后分別解析

[root@vm-centos764 rules.d]# nslookup www.baidu.com

Server: 192.168.27.2

Address: 192.168.27.2#53

Non-authoritative answer:

Name: www.baidu.com

Address: 110.242.68.3

Name: www.baidu.com

Address: 110.242.68.4

[root@vm-centos764 rules.d]# nslookup 110.242.68.3

Server: 192.168.27.2

Address: 192.168.27.2#53

** server can't find 3.68.242.110.in-addr.arpa.: NXDOMAIN

[root@vm-centos764 rules.d]#

其他命令

traceroute命令:追踪到达目标地址的网络路径(测试主机到主机之间经过的网络节点)

traceroute www.linuxcast.net

mtr命令:使用mtr进行网络质量测试 (结合了traceroute和ping)

mtr www.linuxcast.net

故障排查

网络故障排查遵循从底层到高层、从自身到外部的流程的流程进行

先查看网络配置信息是否正确:

IP地址

子网掩码

网关

DNS

查看到达网关是否连通:

ping 网关IP地址

查看DNS解析是否正常:

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。