目录网卡名网卡配置文件网络参数配置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解析是否正常:
相关阅读
发表评论