linux 网络设置 文件系统 日志分析

ifconfig:

[root@localhost ~]#ifconfig ens33
ens33: flags=4163<UP,   BROADCAST,RUNNING,MULTICAST>  mtu 1500
         该口 已启用,  支持广播、 正在运行  支持组播  最大传输单元1500
        inet 192.168.233.21  netmask 255.255.255.0  broadcast 192.168.91.255
        inet6 fe80::fe7:ca03:81f:2887  prefixlen 64  scopeid 0x20<link>
        IPV6地址                        子网长度       作用域 link表示仅该接口有效
        ether 00:0c:29:fe:e5:bf  txqueuelen 1000        (Ethernet)
        mac地址                   传输队列长度(传输缓存大小)  接口类型
        RX  packets 2211  bytes 182146 (177.8 KiB)
        接收 报文个数      总和字节数
        RX  errors 0  dropped 0  overruns 0  frame 0
        接收 错误       丢弃        溢出       冲突帧数
        TX  packets 1317  bytes 294334 (287.4 KiB)
        发送 报文个数       总字节数
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
           错误       丢失         溢出        载荷数     冲突数
           

ifconfig 具体网卡名称       #只显示具体网卡的详细信息(无论该网卡是否使用)

ifconfig -a                 #表示显示所有网卡包括没有启动的网卡

ifconfig 网卡名称 [up|down] #表示开启或关闭网卡

ifconfig 网络接口 ip地址 [netmask  子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]

ifconfig ens33:0 地址 #表示虚拟网卡

关闭虚拟网卡使用 
ifconfig ens33:0 down
开启
ifconfig ens33:0 up

[root@localhost ~]#ifconfig -s #网络通讯情况


WINDOWS查看MTU: netsh interface ipv4 show subinterfaces

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.233.21
NETMASK=255.255.255.0
GATEWAY=192.168.233.2
DNS1=192.168.233.2
MTU="9000"   #加上这一段

mtu是最大传输单元

不恰当的本地MTU值
当本地MTU值 > 网络MTU值时,需要拆包,会导致效率下降
当本地MTU值 < 网络MTU值时,未发挥最大传输能力

理想的本地MTU值
本地MTU值 = 网络MTU值

而一般以太网MTU都为1500, 所以在以太网中, 往往TCP MSS为1460。

启用、禁用网络接口配置
(一)、重启、禁用网卡
systemctl restart network        #重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33                    #关闭某个网卡
ifup ens33                        #启动某个网卡
ifconfig ens33 down                #临时禁用某个网卡
ifconfig ens33 up                #重新激活某个网卡(不会更新IP地址)

查看主机名称 hostname
(一)、hostname命令
1、查看或临时设置当前主机名
hostname    [主机名]

2、永久设置主机名
hostnamectl   set-hostname    [主机名]
vim  /etc/hostname      #只有第一行有效
#设置完后需重启系统才生效


查看路由表条目 route
route命令
1、查看或设置主机中路由表信息
route -n

查看网络连接情况netstat(即端口扫描)
netstat
netstat命令常用选项:
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息 
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息 
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

netstat -antp | grep 端口号 

4、获取 socket 统计信息------ss
ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,
可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
ss   [选项]  
常用选项          作用
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。

ss -nltp | grep 22 查看tcp的所有包含22的端口

tcp和tcp6d都是tcp协议:tcp是ipv4,tcp6是ipv6

"LISTEN" 是指在网络通信中等待连接的 TCP 端口的状态之一。
当一个主机上的应用程序在指定的端口上开始监听连接请求时,它进入 "LISTEN" 状态,表示正在等待其他主机建立连接。

"ESTABLISHED" 是指在网络通信中建立的 TCP 连接的状态之一。它表示当前的 TCP 连接已成功建立并且正在进行数据传输。

lsof(List Open Files)是一个用于列出系统中打开文件的命令行工具。
它可以显示当前系统中打开的文件、目录、套接字、管道等资源,以及与它们相关联的进程信息。

常用的 lsof 命令选项和用法包括:
列出所有打开的文件和网络连接:lsof
列出指定进程ID(PID)打开的文件和网络连接:lsof -p <PID>
列出指定用户打开的文件和网络连接:lsof -u root
列出指定端口被哪些进程占用:lsof -i :22
以监听模式查看网络连接:lsof -i -sTCP:LISTEN
列出指定命令打开的文件:lsof -c ssh

lsof -i -a -p <PID>
在命令中,-i 参数表示只显示网络连接信息,-a 参数表示进行与查询条件的逻辑与操作,-p 参数表示指定要查询的进程ID。

输出结果简要说明:

COMMAND:进程名

PID:进程ID

TID:线程ID

USER:所属用户

FD:文件描述符。可能的值为“cwd  当前工作目录”,“rtd  root目录”,“txt txt文件”,
“mem 内存映射文件”,“err 文件描述符信息错误”,“jld jail 目录(FreeBSD)”,
“Lnn 库文件相关(AIX)”,“Mxx 十六进制内存映射类型值”,“m86 DOS合并映射文件”,
“mmap 内存映射设备”,“pd 父目录”,“v86 vp/ix 映射文件”,“- 未知的或者被锁定的符号”,
“tr 内核跟踪文件(OpenBSD)”

TYPE:与文件关联的node类型。可能的值为“DIR 目录”,“REG 普通文件”,“CHR 字符”,“FIFO 管道通讯特殊文件”,“LINK 符号链接文件”,“unix UNIX域socket文件”,“inet 互利联网域套接字文件”,“IPv4 IPv4套接字文件”,“IPv6 IPv6套接字文件”,“DEL 被删除的文件的linux映射文件”,“DOOR VDOOR文件”,“KQUEUE BSD类型内核事件队列文件”等等。

DEVICE:设备编号,用逗号分割,用于特殊字符、特殊块、常规文件、目录和NFS文件

SIZE/OFF:文件大小以及文件偏移量

NODE:本地文件node编号

NAME:文件系统挂载点名称

[root@test1 opt]# lsof -i -P -a -p 1026
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1026 root    3u  IPv4  22913      0t0  TCP *:22 (LISTEN)
sshd    1026 root    4u  IPv6  22915      0t0  TCP *:22 (LISTEN)
-i 参数表示只显示网络连接信息,
-P 强制显示端口号
-a 参数表示进行与查询条件的逻辑与操作,
-p 参数表示指定要查询的进程ID

测试网络连接
测试网络连通性------ping
ping -c 5 www.baiducom  ping5次百度自动退出,c次数,最常用的方式
-c:发送包的个数
-i:发送包的间隔时间
-W:超时时间
-w:多少秒后停止 ping 命令操作


跟踪数据包的路由途径------traceroute
测试从当前主机到目的主机之间经过的网络节点
raceroute 目标主机地址

测试DNS域名解析------nslookup

nslookup   目标主机地址    [DNS服务器地址]

[root@192 ~]# nslookup www.baidu.com
Server:        192.168.233.2         ---服务器的dns地址
Address:    192.168.233.2#53      ---53端口号

Non-authoritative answer:                   -----------dns的解析结果
www.baidu.com    canonical name = www.a.shifen.com.
Name:    www.a.shifen.com
Address: 180.101.49.11
Name:    www.a.shifen.com
Address: 180.101.49.12

dig 可以显示出更多详细信息
[root@kgc ~]#dig www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40371
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.            IN    A

;; ANSWER SECTION:
www.baidu.com.        390    IN    CNAME    www.a.shifen.com.
www.a.shifen.com.    30    IN    A    14.215.177.39
www.a.shifen.com.    30    IN    A    14.215.177.38

;; Query time: 77 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 9月 23 22:02:04 CST 2021
;; MSG SIZE  rcvd: 101

设置网络参数的方式
(一)、临时配置---------使用命令调整网络参数
1、简单、快速, 可直接修改运行中的网络参数
2、一般只适合在调试网络的过程中使用
3、系统重启以后,所做的修改将会失效

(二)、固定设置---------通过配置文件修改网络参数
1、修改各项网络参数的配置文件
2、适合对服务器设置固定参数时使用
3、需要重载网络服务或者重启以后才会生效

设置路由记录 route
(一)、添加到指定网段的路由记录
route  add  -net  网段地址    gw    IP地址 dev ens33
route add -net 192.168.14.0/24 gw 192.168.233.21 dev ens33

#添加一个静态路由,将目标网络地址192.168.14.0/24通过网关192.168.233.21发送到网卡ens33。
这个命令会告诉操作系统在发送到目标网络192.168.14.0/24的数据包时,
应该通过指定的网关192.168.233.21进行中转,并通过网卡ens33进行发送。

(二)、删除到指定网段的路由记录
route   del    -net   网段地址
route del -net 192.168.14.0/24

(三)、向路由表中添加默认网关记录
route   add   default    gw  IP地址

(四)、删除路由表中默认的网关记录
route  del   default  gw   IP地址

(五)、永久添加路由(重启network服务生效)

vim /etc/sysconfig/static-routes
any net any gw 192.168.233.21: 将所有网络流量都路由到192.168.233.21网关
any net 192.168.3.0/24 gw 192.168.233.21: 将目的网络为192.168.3.0/24的所有流量路由到192.168.233.21网关
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.233.21: 将目的网络为10.0.0.0的所有流量,使用掩码255.0.0.0,路由到192.168.233.21网关
any host 192.168.100.100 gw 192.168.233.21: 将目的IP为192.168.100.100的所有流量路由到192.168.233.21网关。

systemctl restart network

Destination     目标网段或者主机
Gateway         网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask         网络掩码,可以设定 netmask 决定网域的大小
Flags         标记。一些可能的标记如下:
              U — 路由是活动的,可以使用
              H — 目标是一个主机,H 该路由是到一个主机,也就是说,
             目的地址是一个完整的主机地址。如果没有设置该标志,说明该路由是到一个网络,
             而目的地址是一个网络地址:一个网络号,或者网络号与子网号的组合
              G — 路由指向网关
              R — 恢复动态路由产生的表项
              D — 由路由的后台程序动态地安装
              M — 由路由的后台程序修改
              ! — 拒绝路由
Metric         路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref             路由引用次数(linux 内核中没有使用)
Use             此路由项被路由软件查找的次数
Iface         转发的网络设备即虚拟网卡名称


网络接口配置文件
(一)、配置文件存在位置
vim   /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet            #设置网卡类型,“Ethernet”表示以太网
DEVICE=ens33            #设置网卡的名称
ONBOOT=yes                #设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static        #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
IPADDR=192.168.80.3        #设置网卡的 IP 地址
NETMASK=255.255.255.0    #设置网卡的子网掩码
GATEWAY=192.168.80.2    #设置网卡的默认网关地址
DNS1=192.168.80.2        #设置DNS服务器的 IP 地

配置DNS域名解析服务器
修改DNS域名解析配置文件:vim  /etc/resolv.conf 
配置文件解析:

nameserver 192.168.233.21            
#nameserver表示DNS服务器名称 8.8.8.8表示DNS解析服务器地址


修改完成后需要重启网卡服务:systemctl  restart  network

域名解析配置文件**

本地主机映射文件

/etc/resolv.conf
保存的是你DNS服务器的地址


/etc/hosts 文件
保存主机名与IP地址的映射记录

[root@localhost ~]# cat /etc/hosts
127.0.0.1  localhost localhost.localdomain  localhost4 localhost4. 
192.168.91.100     www.yun.com
[root@kgc ~]#ping www.yun.com
PING www.yun.com (192.168.91.100) 56(84) bytes of data.
64 bytes from www.yun.com (192.168.91.100): icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=2 ttl=64 time=0.065 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=3 ttl=64 time=0.067 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=4 ttl=64 time=0.062 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=5 ttl=64 time=0.071 ms
64 bytes from www.yun.com (192.168.91.100): icmp_seq=6 ttl=64 time=0.130 

TYPE=Ethernet            
DEVICE=ens33            
ONBOOT=yes                
BOOTPROTO=static        
IPADDR=192.168.233.22        
NETMASK=255.255.255.0    
GATEWAY=192.168.233.2    
DNS1=192.168.233.2        

#TYPE:接口类型;常见有的Ethernet, Bridge
#PROXY_METHOD:此配置文件应用到的设备  
#BROWSER_ONLY:
#BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
#DEFROUTE:
#IPV4_FAILURE_FATAL:
#IPV6INIT:
#IPV6_AUTOCONF:
#IPV6_DEFROUTE:
#IPV6_FAILURE_FATAL:
#IPV6_ADDR_GEN_MODE:
#NAME:此配置文件应用到的设备
#UUID:设备的惟一标识
#DEVICE:设备名
#ONBOOT:在系统引导时是否激活此设备
#IPADDR::
#NETMASK:
#GATEWAY:
#DNS1:

systemctl restart rsyslog
netstat -antp | grep 514    #查看端口情况

配置接收方:
//修改服务端配置文件,并启动服务
vim /etc/rsyslog.conf
#将下面四行前的注释取消掉
$ModLoad imtcp
$InputTCPServerRun 514

systemctl restart rsyslog
netstat -antp | grep 514   #查看端口情况

logger "this is ky32"


---------- journalctl 日志管理工具 ----------
日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从messages这个文件里读取信息。
Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,
查看所有日志(内核日志和应用日志)。
日志的配置文件是/etc/systemd/journald.conf

#查看所有日志(默认情况下,只保存本次启动的日志)
journalctl                   
journalctl -r                #-r表示倒序,从尾部看(推荐)

#查看内核日志(不显示应用日志)
journalctl -k

#查看系统本次启动的日志    
journalctl -b  [-0]  #默认就是0

#查看上一次启动的日志(需更改设置,如上次系统崩溃,需要查看日志时,就要看上一次的启动日志)
journalctl -b -1

#显示尾部指定行数的日志
查看的是/var/log/messages的日志,但是格式上有所调整,如主机名格式不一样而已
journalctl -n 20

#查看某个服务的日志
journalctl -u nginx.service

#查看指定进程的日志 
journalctl _PID=1

#查看指定用户的日志
journalctl _UID=0  --since today
journalctl _UID=0  --since yesterday 昨天的日志,能不能看明天的日志?

journalctl -xe
查看systemd journal中的所有错误信息,包括启动过程中的错误和系统运行期间的错误。
-x选项显示更加详细的错误信息,
-e选项跳转到日志的末尾,从而查看最新的错误信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值