day027-集群架构-开篇

6次阅读
没有评论

00.网络结尾

1.抓包方式
1.工具:wireshark
2.命令:tcpdump #yum -y install tcpdump
1.1.工具wireshark(鲨鱼)抓包软件在Windows使用
1.2.命令tcpdump
作用:tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具
     tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息
---------------------------------------
[root@oldboy ~]# yum -y install tcpdump
#常用选项
-i       #监听哪一个网卡 
-n       #不把ip解析成主机名
-nn      #不把端口解析成应用层协议
-c       #指定抓包的数量
-S       #不把随机序列和确认序列解析成绝对值
-w       #将流量保存到文件中,文件中的信息是无法直接查看的
-r       #读取文件中的内容
-v       #输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。 
-vv      #输出详细的报文信息。
-nnvvi ens33
-------------------------------------------
#0.保存到文件中
[root@oldboy ~]# tcpdump -w 1.txt -nnvvi ens33 dst www.baidu.com
查看文件中的内容
[root@oldboy ~]# tcpdump -r 1.txt 

#1. 默认启动
[root@oldboy ~]# tcpdump -vv #普通情况下,之间启动tcpdump将监视第一个网络接口上所有流过的数据包。

#2.过滤主机
[root@oldboy ~]# tcpdump -i ens33 host 10.0.0.200 #抓取所有经过ens33,目标或源地址是10.0.0.200的网络数据

[root@oldboy ~]# tcpdump -i ens33 src host 10.0.0.200 #指定源地址,10.0.0.200
[root@oldboy ~]# tcpdump -i ens33 dst host 10.0.0.200 #指定目的的地址,10.0.0.200

#3.过滤端口
[root@oldboy ~]# tcpdump -i ens33 port 80 #抓取所有经过ens33,目的或源端口是80的网络数据

[root@oldboy ~]# tcpdump -i ens33 src port 80 #指定源端口
[root@oldboy ~]# tcpdump -i ens33 dst port 80#指定目的端口

#4.协议过滤
[root@oldboy ~]# tcpdump -i ens33 arp #抓arp协议
[root@oldboy ~]# tcpdump -i ens33 ip #抓ip   
[root@oldboy ~]# tcpdump -i ens33 tcp #抓tcp
[root@oldboy ~]# tcpdump -i ens33 udp #抓udp
[root@oldboy ~]# tcpdump -i ens33 icmp #抓icmp

抓tcp某端口的数据包
[root@oldboy ~]# tcpdump -i ens33 tcp port 21 -nn

#5.常用表达式
非:! or not
且:&& or and
或:|| or or
1.3.实例:企业中遇到无法远程连接排错流程
企业中遇到无法远程连接拍错流程: IDC机房服务器 云服务器
1.ping 通
2.通过页面或者机房插显示器连接服务器抓包
tcpdump -nni eth0 port 12345
3.在公司Windows电脑使用telnet连接测试
cmd窗口--》telnet 服务器ip地址 12345

结果:
1.如果服务端可以看到来源公网IP地址说明服务端做的限制
2.如果服务端来源IP地址不是公司公网IP地址 则需要放行抓取到的公网(打电话解决)
3.如果服务端收不到任何信息,说明是公司网络问题
2.Linux常用网络命令
2.1.网卡命名规则
biosdevname和net.ifnames两种命名规范
#net.ifnames的命名规范为:   
        设备类型+设备位置+数字
#设备类型:
    en 表示Ethernet
    wl 表示WLAN
    ww 表示无线广域网WWAN
2.2.ping
作用:ping命令主要的功能是用来检测网络的连通情况和分析网络速度。
常用选项:
        -t      #持续ping,不中断。不加该选项只ping4个包。
        -c      #ping的包数,默认是4个。
        -W      #多长时间ping一次。
        -f      #极速ping。
注意:windows: ping不通不能表示服务器不能访问 可能服务器禁止了ICMP协议(禁ping)
2.3.nc
作用:nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
常用选项:
        -l      #用于指定nc将处于侦听模式。
        -u      #指定nc使用UDP协议,默认为TCP
        -v      #输出交互或出错信息,新手调试时尤为有用
        -w      #超时秒数,后面跟数字 
        -z      #表示zero,表示扫描时不发送任何数据     
2.4.nmap
作用:Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具。Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口。
常用选项:
        -p          #指定端口号
        -p22        #单个端口
        -p22,80     #多个端口
        -p1-1000    #1到1000之间的端口    

企业案例:
写一个脚本 探测自己所有的服务器上开放的服务以及端口 并且计算一些每个服务占用所有服务的百分比

用AI写,改吧改吧能用
2.5.telnet
作用:一种远程登录的工具。同样可以检查某个主机是否开启某个端口
默认端口23
用法用法 主要功能链接路由器、交换机 telnet 192.168.13.1 端口
2.6.netstat
作用:打印网络连接、路由表、tcp11种状态。查看当前系统中运行了哪些服务端口
常用选项:
        -l      #只显示监听套接字。
        -n      #不做名字解析
        -t      #显示tcp端口
        -u      #显示udp端口
        -p      #显示pid和程序名字
        -r      #显示路由表
        -a      #显示所有的套接字
netstat -tnulp
2.7.ss
作用:跟netstat命令差不多。
#常用选项
    -l      #只显示监听套接字。
    -n      #不做名字解析
    -t      #显示tcp端口
    -u      #显示udp端口
    -p      #显示pid和程序名字
    -r      #解析主机名
    -a      #显示所有的套接字
2.8.tracert
作用:(windows) 路由跟踪(检查你与目标之间每个路口是否畅通)
常用选项:
        -d   #禁止把IP解析为对应的域名(主机名)
2.9.traceroute
作用:路由跟踪(检查你与目标之间每个路口是否畅通)
常用选项:
        -n   禁止把IP解析为对应的域名(主机名)
[root@oldboy ~]# traceroute -n -I www.baidu.com     
2.10.iftop
iftop界面说明:

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
常用选项:
-i      #设定监测的网卡

-B      #以bytes为单位显示流量(默认是bits)

-n      #使host信息默认直接都显示IP

-P      #使host信息及端口信息默认就都显示

-m      #设置界面最上边的刻度的最大值,刻度分五个大段显示

按q退出监控。
2.11.dstat
测试带宽
yum -y install dstat
dstat -nf 
注:麒麟默认仓库epel都没有这个命令,ubt可以下载这个命令

day027-集群架构-开篇

3.网络重点
#1.网络常用命令
1)Linux系统
ping
ip add
route -n
ifconfig
nslookup
tracerount
tcpdump
nmap
nc
iftop
iotop
netstat -tnulp
ss -an|grep tcp
telnet
crul
wget

2)windows系统
ping
nslookup
mstsc
cmd
ipconfig/all
ipconfig/flushdns
ipconfig/displaydns
tracert

2.OSI七层模型
3.TCP三次握手
4.TCP四次挥手
5.DNS解析流程
6.子网掩码决定IP可用数量
7.静态路由动态路由理解

01.一阶段基础重点

1.系统命令
2.目录作用 目录下放着是啥
3.相关配置文件 网卡 NDS配置 rc.local profile hostname
4.三剑客 正则 awk sed grep 正则
5.文件属性 /dev/null zero dd find
6.软件安装yum rpm apt dpkg
7.打包压缩tar zip
8.用户管理 密码
         删除
         切换su
         提权visudo
         md5sum
9.权限管理
10.进程管理
11.定时任务
12.磁盘管理 挂载新的磁盘 RAID
13.相关案例
14.lsof 查看文件被哪个进程占用

02.二阶段开篇

#相关名词概念:
WEB服务
静态数据:图片视频--->静态页面 html语言
动态数据:和我们进行交互的数据 登录 注册 评论 个人信息 银行卡信息 -->数据库核心
架构:
集群:
高可用:
负载均衡:
高并发:
微服务:
1.系统优化
恢复到最初始的安装完操作系统--->快照或重装
--------------------
1.安装扩展的epel仓库
2.安装常用的软件工具
3.添加多块网卡
4.关闭防火墙(优化防火墙 只放行业务端口80)
5.selinx centos默认是开启的 kylin和ubt都是关闭的
6.时间同步
7.修改SSH
8.加大文件描述符
9.卸载tmp目录
10.内核优化 网络参数
1.1.安装扩展的epel仓库
[root@oldboy ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
1.2.安装常用的软件工具
[root@oldboy ~]# yum -y install network-scripts tree lrzsz ntpdate screen iftop net-tools
1.3.添加多块网卡
1.添加一块网卡

day027-集群架构-开篇

2.配置第二块网卡的IP地址

1)优化第一块网卡
[root@oldboy ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5

2)查看第二块网卡名称
[root@oldboy ~]# ip a|grep ens
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute ens33
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

3)复制ifcfg-ens33到ifcfg-ens36
[root@oldboy ~]# cd /etc/sysconfig/network-scripts/
[root@oldboy network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@oldboy network-scripts]# cat ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=none
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=172.16.1.200
PREFIX=24

4)重启网卡生效
[root@oldboy network-scripts]# systemctl restart network
1.4.关闭防火墙(优化防火墙 只放行业务端口80)
[root@oldboy ~]# systemctl stop firewalld
[root@oldboy ~]# systemctl status firewalld
1.5.selinux centos默认是开启的 kylin 和 ubt都是关闭的
#临时退出当前selinux防火墙
[root@oldboy ~]# setenforce 0
setenforce: SELinux is disabled

#禁止开机启动
[root@oldboy ~]# sed -i '8c SELINUX=disabled' /etc/selinux/config
疑问?实测kylin也默认开启
1.6.时间同步
[root@oldboy ~]# tail -1 /etc/crontab 
*/15 * * * * root ntpdate ntp1.aliyun.com &>/dev/null
1.7.修改SSH
1)默认端口22-->其他未被使用的 使用5555 配置文件的17行修改默认端口
[root@oldboy ~]# grep Port /etc/ssh/sshd_config -n
17:Port 5555
重启生效
[root@oldboy ~]# systemctl restart sshd
注意:改完记得改回,自己用可以用默认端口

2)优化远程连接的速度
[root@oldboy ~]# vim /etc/ssh/sshd_config
80 GSSAPIAuthentication no #第80行修为no

113 #UseDNS no #centos默认是开启的,需要改成no kylin默认关闭不需要操作
重启生效
[root@oldboy ~]# systemctl restart sshd
8.加大文件描述符
[root@oldboy ~]# echo "* - nofile 65535" >> /etc/security/limits.conf 

查看默认的描述符、默认是1024
[root@oldboy ~]# ulimit -n
65535
#注意:修改后重新连接xshell生效

#查看某个进程总共用的文件描述符
[root@oldboy ~]# ps aux|grep nginx
root        5347  0.0  0.2  39172  2364 ?        Ss   17:36   0:00 nginx: master process /usr/sbin/nginx
nginx       5348  0.0  0.6  50344  6372 ?        S    17:36   0:00 nginx: worker process
root        5354  0.0  0.0 213156   808 pts/0    S+   17:36   0:00 grep nginx

[root@oldboy ~]# ll /proc/5347/fd/|wc -l
12
1.9.卸载tmp目录
#永久锁定 NFS 服务,禁止任何方式启动(开机 / 手动 / 依赖启动)
[root@oldboy ~]# systemctl mask nfs.service 错的  正确的:systemctl mask tmp.mount
Created symlink /etc/systemd/system/nfs.service → /dev/null.


#解除命令
systemctl unmask nfs.service
1.10.内核优化 网络参数
2.克隆虚拟机
2.1.系统优化做快照

day027-集群架构-开篇

2.2.克隆需要的服务器
主机名 外网IP 内网IP
backup 10.0.0.41 172.16.1.41
web01 10.0.0.7 172.16.1.7
nfs 10.0.0.31 172.16.1.31
web02 10.0.0.8 172.16.1.8
2.3.修改主机名
#1.backup主机
[root@backup ~]# hostnamectl set-hostname backup

#2.web01主机
[root@web01 ~]# hostnamectl set-hostname web01

#3.nfs主机
[root@nfs ~]# hostnamectl set-hostname nfs

#4.web02主机
[root@web02 ~]# hostnamectl set-hostname web02
2.4.修改IP地址
##1.backup主机
[root@backup network-scripts]# grep 'IP' ifcfg-ens33
IPADDR=10.0.0.41
[root@backup network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.41
重启网卡
[root@backup network-scripts]# systemctl restart network

#2.web01主机
[root@web01 network-scripts]# grep 'IP' ifcfg-ens33 
IPADDR=10.0.0.7
[root@web01 network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.7
重启网卡
[root@web01 network-scripts]# systemctl restart network

#3.nfs主机
[root@nfs network-scripts]# grep 'IP' ifcfg-ens33
IPADDR=10.0.0.31
[root@nfs network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.31
重启网卡
[root@nfs network-scripts]# systemctl restart network

#4.web02主机
[root@web02 network-scripts]# grep 'IP' ifcfg-ens33
IPADDR=10.0.0.8
[root@web02 network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.8
[root@web02 network-scripts]# systemctl restart network
2.5.做快照
主机1-4快照

day027-集群架构-开篇

2.6.xshell远程连接创建会话

day027-集群架构-开篇

测试验证

day027-集群架构-开篇

正文完
 0
评论(没有评论)