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
传输数据
物理层:工作在OSI最底层,通过通讯介质完成信号之间的相互转换
数据链路层:通过mac地址(物理网卡)可以完成在局域网之间传输数据
网络层:通过IP地址进行访问
公网IP:工作在以太网上的ip
私网IP:中小型局域网中的ip,可以通过NAT地址转换连接以太网
传输层:决定网络传输使用的可靠(tcp)和不可靠协议(udp),开启端口号
会话层:控制发包的数据
表示层:表明文件类型
应用层:应用程序调用
4.Tcp/ip协议
网络接口层
网络层
传输层
应用层
5.数据封装的过程
OSI模型封装的过程
数据传输的过程,以及封装解封装的过程
tcp模型封装的过程
6.三次握手
7.四次挥手
#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服务器有缓存查看,无缓存再去访问根域名
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.静态路由
#配置静态路由
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<网络接口>:指定数据包要离开本机所使用的网络接口