查看网络接口信息ifconfig
ifconfig,此命令可以查看所有活动的网络设备接口
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 20.0.0.10 netmask 255.255.255.0 broadcast 20.0.0.255
inet6 fe80::20c:29ff:fea9:19b6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:a9:19:b6 txqueuelen 1000 (Ethernet)
RX packets 2914 bytes 236395 (230.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1775 bytes 236354 (230.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
这是ens33网卡的一些信息,以下几点为重要信息:
inet 20.0.0.10:这台本机的ipv4地址
inet6 fe80::20c:29ff:fea9:19b6 :这台本机的ipv6地址
ether 00:0c:29:a9:19:b6:本机网卡的MAC地址。
ifconfig相关命令
ifconfig ens33:查看指定设备的网卡信息(活动的网卡)
ifconfig -a :显示所有网卡接口设备
ifconfig ens33 up :开启
ifconfig ens33 down:关闭
关闭之后就无法与其他主机ping通。
如何在Linux中查看路由表
route命令
route -n :数字化查看路由表
netstat命令
netstat:查看网络连接情况(端口扫描)
20.0.0.10 连接不上 nginx 80:排错思路
1.先查网络 ping 20.0.0.10
2.看应用程序,nginx服务的状态,是否正常运行。
3.看防火墙策略
4.防火墙没问题,数据流量可以正常通过则看端口号
netstat -antp
a:显示主机中所有活动的网络连接信息
n:以数字形式显示相关的主机地址,端口
t:查看所有tcp协议的相关信息
u:查看所有udp协议的相关信息
-p:显示与网络连接的相关的进程号,和进程名(必须root权限,管理员权限)
tcp:IPv4
tcp6:IPv6
LISTEN:监听状态,等待连接
ESTABLISHED:已连接,正在传输数据
1.如果系统启动了,但是端口号没有起来,服务没有办法继续使用
2.如果端口号被抓占,可以用netstat查询端口号被哪个进程占用
3.httpd nginx80 mysql 3306 ssh 22 默认端口号被改了
netstat -antp | grep mysql
ss命令
ss也是网络连接的命令,和netstat输出结果类似,更详细的展示连接状态和连接信息。
比netstat速度快,尤其是服务器有大量的接口通信时,netstat查询可能会卡,甚至卡死,用ss效率高
-t:tcp协议
-u:udp协议
-a:显示所有
-n:数字化展示
p:显示相关进程以及pid。
l:查看处于listen状态的连接
traceroute
测试从当前主机到目的主机的网络节点
(了解即可)
在Linux中,有关网络配置的重要文件:
cat /etc/resolv.conf 保存着DNS解析地址
vim /etc/resolv.conf 可以添加,修改完之后wq!即可,不需要重启网络
/etc/sysconfig/network-scripts/ifcfg-ens33网卡设备配置文件
TYPE=Ethernet
接口类型,以太网,物理网卡
DEVICE=ens33
网卡设备的名称
ONBOOT=yes
Linux系统启动时,自动激活改设备
BOOTPROTO=static
静态IP地址,固定IP地址
IPADDR=20.0.0.10
本机IP地址
NETMASK=255.255.255.0
子网掩码
GATEWAY=20.0.0.2
网关地址
DNS1=218.2.135.1
DNS解析地址
DNS2=8.8.8.8(可添加多个)
补充
lsof list open files
列出系统中打开的文件目录,套接字,管道资源 核心:打开的文件数,展示相关联的进程信息
lsof -p pid 只能使用pid号
展示当前进程打开的文件数和网络连接
lsof -u 用户名
展示当前用户打开的文件数和网络连接
lsof -i : 端口号
展示指定端口号,打开的文件数和网络连接。端口被哪些进程占用
lsof -c 系统命令(ls)
列出指定命令打开文件