OSI七层模型
物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
防火墙
iptables
firewalld
selinux
telnet
telnet ip port
例子:
telnet 152.136.127.116 22
SSH-2.0-OpenSSH_7.4 –>成功,此ip的22端口打开
正在连接152.136.127.116…无法打开到主机的连接。 在端口 23: 连接失败 –》没打开
常用端口
22: sshd
53: DNS
80: web(http)
443: https
三次握手和四次挥手
三次握手
客户端–》服务器端
客户端发送syn=1请求包给服务器端,服务器端接收请求之后给返回一个syn=1,ack=1的返回包,客户端收到之后就会给服务器端返回一个ack=1的包,这个时候连接建立,开始传输文件。
四次挥手
客户端发送fin=1的包给服务器端,服务器端收到fin=1的包后返回ack=1的包给客户端
服务器端发送fin=1,Ack=1的包给客户端,客户端收到再返回ack=1的包,这个时候连接断掉。
总结:TCP与UDP的区别:
1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。所以传输速度可更快
4.TCP保证数据正确性,UDP可能丢包;TCP保证数据顺序,UDP不保证。
虚拟机中三种网络模式
桥接模式特点
1.该模式下的虚拟机可以上外网
2. 局域网之内的主机可以访问该虚拟机(做共享服务器使用)
3. 该虚拟机可以和宿主机进行通信
4. 同一台主机相同模式下的虚拟机可以互相通信
5. 桥接模式下的虚拟机获得IP地址或者自己设置的IP地址需要和宿主机的以太网IP保持同一网段
缺陷:如果你的虚拟机设置成桥接模式,需要和宿主机的网段保持一致,这样就造成了一个问题,宿主机的网段在不同网络之下是不断变化的,所有需要实时的更改。
nat模式特点
1.该模式下的虚拟机可以上外网
2. 局域网之内的主机不可以访问该虚拟机
3. 该虚拟机可以和宿主机进行通信
4. 同一台主机相同模式下的虚拟机可以互相通信
5. nat模式下的虚拟机IP地址或者自己设置的IP地址需要和宿主机的Vmnet8保持同一网段
仅主机模式
1.该模式下的虚拟机不可以上外网
2. 局域网之内的主机不可以访问该虚拟机
3. 该虚拟机可以和宿主机进行通信
4. 同一台主机相同模式下的虚拟机可以互相通信
5. 仅主机模式下的虚拟机IP地址或者自己设置的IP地址需要和宿主机的Vmnet1保持同一网段
配置网卡
/etc/sysconfig/network-scripts/ifcfg-ens33
动态配置必须项:
DEVICE=”eth0″
ONBOOT=yes
BOOTPROTO=dhcp #(static/dhcp/none)
TYPE=Ethernet
静态配置必须项:
DEVICE=”eth0″
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.64.4
NETMASK=255.255.255.0
GATEWAY=192.168.64.2
DNS1=8.8.8.8
DNS2=114.114.114.114
配置完网卡文件之后需要重启网络
[root@ken ~]# systemctl restart network
[root@ken ~]# systemctl restart network
查看虚拟机的IP地址
[root@ken ~]# ip a #ip address show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:e3:93:4b brd ff:ff:ff:ff:ff:ff
inet 192.168.64.4/24 brd 192.168.64.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
[root@ken ~]# yum install net-tools -y
[root@ken ~]# ifconfig
eth0: flags=4163 mtu 1500
inet 192.168.64.4 netmask 255.255.255.0 broadcast 192.168.64.255
ether 00:0c:29:e3:93:4b txqueuelen 1000 (Ethernet)
RX packets 4475 bytes 380162 (371.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1438 bytes 172248 (168.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 24 bytes 1890 (1.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 1890 (1.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看端口
ss
常用选项:
-t: tcp
-n: 把协议名转换成port
-l: 查看处于listening状态
-a: 处于所有状态的
常用组合:-tnl
[root@ken ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
[root@ken ~]# ss -tna
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
ESTAB 0 0 192.168.64.4:22 192.168.64.1:63820
ESTAB 0 52 192.168.64.4:22 192.168.64.1:64372
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
练习:xhsell连接虚拟机
第一步:关掉防火墙
[root@ken ~]# setenforce 0 #临时关闭selinux
[root@ken ~]# systemctl stop firewalld #立即关掉firewalld
[root@ken ~]# systemctl disable firewalld #firewalld开机不自启
永久关闭selinux
[root@ken ~]# vim /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=disabled #把enforcing改成disabled
# SELINUXTYPE= can take one of three two values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are protected.
# mls – Multi Level Security protection.
SELINUXTYPE=targeted
第二步:查看虚拟机IP
[root@ken ~]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:e3:93:4b brd ff:ff:ff:ff:ff:ff
inet 192.168.64.4/24 brd 192.168.64.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
第三步:xshell连接
略
关掉httpd
方法一、systemctl stop httpd
方法二、kill -9 pid
方法三、pkill 服务名
[root@ken ~]# pkill httpd
查看系统负载
方法一、top
方法二、uptime
[root@ken ~]# uptime
11:41:56 up 1 day, 14:36, 1 user, load average: 0.01, 0.07, 0.08 #表示1分钟,5分钟,15分钟的平均负载
系统负载越低越好
查看端口以及占用的进程名
第一步:使用ss -tnl查看所有端口
[root@ken ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9000 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:81 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::10050 :::*
LISTEN 0 128 :::10051 :::*
第二步:查看10050端口是被那个进程占用的
[root@ken ~]# lsof -i :10050
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
zabbix_ag 13546 zabbix 4u IPv4 1494050 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13546 zabbix 5u IPv6 1494051 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13547 zabbix 4u IPv4 1494050 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13547 zabbix 5u IPv6 1494051 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13548 zabbix 4u IPv4 1494050 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13548 zabbix 5u IPv6 1494051 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13549 zabbix 4u IPv4 1494050 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13549 zabbix 5u IPv6 1494051 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13550 zabbix 4u IPv4 1494050 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13550 zabbix 5u IPv6 1494051 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13551 zabbix 4u IPv4 1494050 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 13551 zabbix 5u IPv6 1494051 0t0 TCP *:zabbix-agent (LISTEN)
命令学习:
ps aux / ps -ef
top
uptime
ss
lsof