第二十五天 网络基础

Linux网络基础

第一天

1.网络的重要性

现如今已经进入了网络时代,我们已经离不开网络了

1)所有的系统都依靠与网络

2)我们的生活已经和网络息息相关

3)运维生涯50%的生产故障都是网络故障

2.怎么实现上网

​ 网卡 :具有全球唯一标识的mac地址

有线网卡:双向,可以同时发送

无线网卡:

交换机:

傻瓜交换机:无法进行配置(tp-link /dlink/水星)

程控交换机:可以进行配置,可控的(思科、华为、H3C)

路由(双网卡)

内网网卡---链接公司、学校等办公场所的内网交换机上
外网网卡---链接到运营商  

内网(私网)IP查看方式:Linux,在输入界面输如 ip  address
                  :
外网(公网)IP查看方式 :Windows 在浏览器上输入IP 回车即可
                  :Linux  在字符界面输入 curl ifconfig.me
             
PS : 高级路由器具有上网行为管理器和防火墙功能
#鸿鹄论坛 :网络论坛

3.OSI 7层模型

分层的作用:复用

OSI七层的作用
1.物理层:规定通信设备,通信链路的特性。

2.数据链路层:在物理层提供的比特流的基础上,建立相邻节点之间的数据链路,不可靠的物理介质提供可靠传输 ppp协议。

3.网络层:选择合适的网间路由完成两个计算机之间的多个数据链路,通过路由协议和地址解析协议(ARP)。IP,RIP(路由信息协议),OSPF(最短路径优先协议)

4、传输层:为应用程序之间提供端对端的逻辑通信。

5、会话层:验证访问和会话管理。

6、表示层:信息格式和语法的转化。

7、应用层:为操作系统或者应用程序提供可用的网络接口。

https://baike.baidu.com/item/七层模型/1441391?fr=aladdin

1567167914607.png

1567167931657.png

​ 传输数据

物理层:工作在OSI最底层,通过通讯介质完成信号之间的相互转换

数据链路层:通过mac地址(物理网卡)可以完成在局域网之间传输数据

网络层:通过IP地址进行访问
公网IP:工作在以太网上的ip
私网IP:中小型局域网中的ip,可以通过NAT地址转换连接以太网

传输层:决定网络传输使用的可靠(tcp)和不可靠协议(udp),开启端口号

会话层:控制发包的数据

表示层:表明文件类型

应用层:应用程序调用

4.Tcp/ip协议

网络接口层
网络层
传输层
应用层

5.数据封装的过程

OSI模型封装的过程

1567168025041.png

数据传输的过程,以及封装解封装的过程

数据封装和解封装.gif

tcp模型封装的过程

63d0f703918fa0ecc6563003269759ee3d6ddb2f.jpg

6.三次握手

1567173920225.png

7.四次挥手

1567173980683.png
#tcp标识
SYN     建立连接
ACK     回应标识
FIN     断开连接
PSH     数据包
URG     紧急指针
RST     重置(重传)

第二天

1.ip地址划分

ip地址是由32位二进制组成

#ip地址分类

#   a类  范围
10.0.0.1-126.255.255.254
#私有地址:10.0.0.1-10.0.0.255

#   b类  范围
128.0.0.1-191.255.255.254
#私有地址:172.16.0.0-172.31.255.255

#   c类  范围
192.0.0.1-223.255.255.255
#私有地址:192.168.0.0-192.168.255.255

#   d类  范围  组播地址
224.

#   e   范围  保留地址


127.0.0.0-127.255.255.255  本地回环地址

0.0.0.0       任意的目的地址
255.255.255.255 广播地址

为了缓解ipv4地址不够用,两种解决方式

1、ipv6 的诞生

ipv6是由48位

2、NAT地址转换技术

优势:
1、节省了大量的公网ip
2、减少了网络攻击

2.子网掩码

子网掩码的作用:

决定一个网段的大小

PS :在同一局域网内,同一网段的ip才能相互通信,不同网段的ip相互通信需要借助路由

3.DNS解析流程

DNS : domain name system 域名系统

本地劫持:hosts文件

DNS解析流程:本地有缓存,先查看本地缓存,DNS服务器有缓存查看,无缓存再去访问根域名

1567339490790.png

QQ能上,网页打不开,查看一下DNS服务地址

dig ip.com  #linux解析域名

DNS记录的类型:

A       IP地址
CNAME   把域名解析到另外一个域名上
MX      解析邮箱地址,解析到另外一个域名上,有另外一个域名提供ip来解析
NS      把子域名交给其他DNS服务解析 (nameserver)
AAAA    ipv6

tcpdump使用方法

tcpdump -i 网卡名称 协议名称 port 端口号 -nn   
#-nn 

TTL(生存时间值):TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段

TTL的作用是限制IP数据包在计算机网络中的存在的时间。TTL的最大值是255,TTL的一个推荐值是64

百度:11.13.100.92

腾讯:199.22.22.22

网易:123.55.22.66

4.ARP协议 (地址解析协议)

https://baike.baidu.com/item/ARP/609343?fr=aladdin

将ip地址转换为mac地址

ARP:进行广播,广播要找的IP地址,如果该网段有,会回应

arp具有欺骗性

如果局域网太大,会造成广播风暴

第三天

1.TCPDUMP

#tcpdump
-i      指定网卡名称
port    指定端口号(http 80;ftp 21;ssh 22;telnet 23;smtp 25;dns udp53; ntp dup53)
-n      不把ip解析成主机名
-nn     不把端口号解析成应用层协议
-c      指定抓包的数量
-S      不把随机序列和确认序列解析成绝对值
-w      指定包另存为****.cap

curl ifconfig.me 查看公网ip

2.配置ip地址

/etc/resolve.conf #dns配置文件  优先级低于网卡,暂时修改

centos7 修改网卡名称
1、修改grub.cfg
1)第一个方法:
vim /boot/grub2/grub.cfg        #修改内核参数,重启之后生效  在100行
net.ifnames=0 biosdevname=0
2)第二个方法
grubby --update-kernel=ALL --args="net.ifnames=0  biosdevname=0"

2、重命名网卡配置文件
mv /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-eth0

3、修改ifcfg-eth0配置文件中的设备名称和网卡名称
sed -i 's#ens32#eth0#g' /etc/sysconfig/network-scripts/ifcfg-eth0

4、reboot重启之后生效

3、常用命令

ping ip.com -c3 #ping三次

nc 监视端口
nc -l 8000 #8000是端口号
nc ip地址 端口号

nmap 扫描开放的端口
端口范围 0-65535
扫描端口 0-10000 (常用端口)
10000+ 不常用端口

语法:
nmap ip/子网掩码

修改端口
vim /etc/ssh/sshd_config   #修改配置文件
Prot 端口号

systemctl restart sshd    #重启sshd端口服务

netstat -lntup      #查看开启端口


iftop:监控网络流量

wget --lkimit-rate=100k http://shajhfj。 #下载这个文件,限速100k

tracerotue -d www.qq.com #追踪QQ的路由器路径   linux命令。
-n:直接使用IP地址而非主机名称;

tracert -d www.qq.com  #windows命令

4、网络问题如何排查?

a:xshell连不上的问题
第一步:检查网络适配器,是否禁用vmware的虚拟机网卡
第二步:检查vmware net8的地址是和虚拟机的ip处于同一网段。
第三步:检查系统的vmware服务是否启动
第四步:检查虚拟机的网络适配器是否连接
第五步:在vmware控制台登录linux,查看是否有ip地址

b:ping 不通百度的问题
第一步:是否能ping通外网ip,223.5.5.5,能ping通,说明是dns配置问题
第二步:是否能ping通网关,route -n去查网关,如果能ping通网关,你可能被上网行为管理器限制,还有一种可能,你配置了一个错误的网关!

c:ping 不通vmware网关的问题
第一步:重启vmware nat服务
第二步:把虚拟机的网络适配器,先断开,再连接
第三步:进入vmware linux系统,systemctl restart network(重复3次)

企业里面上不了网:
第一步:检查物理是否正常
第二步:ping网关
第三步: ping公网ip
第四步:ping www.baidu.com

tracert -d www.qq.com
第五步:ping 自己服务器

第四天

1.通讯介质

2.静态路由

1567385471566.png
#配置静态路由
route -n        #查看路由
route add -net 172.16.1.0/24 gw 10.0.0.12
#route add -net 要去访问的网段 gw 通过那个ip出去

#当中间的网络设备收到包时,查看包内的数据,不是找自己的,默认会丢掉,启用命令,让其转发
sysctl net.ipv4.ip_forward=1        #该值默认是0,不转发,改为1,让其转发

让静态路由永久化

#在/etc/sysconfig/network-scripts/ 下新建与网卡相关的文件
ip route          #查看当前路由表
vim /etc/sysconfig/network-scripts/route-eth1   #新建配置文件(静态路由文件)


3.使用iptables 实现net上网

network 02 :                #上一台主机
添加网关10.0.0.254 ,使network02能够访问外网
GATEWAY=10.0.0.254

配置 iptables 转发规则
iptables -F             #清除规则链中已有的条目
iptables -t nat -F      #清除nat表中已有的规则条目
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口


你可能感兴趣的:(第二十五天 网络基础)