4传输层

传输层安全

做用
网络层: 提供点到点的链接
传输层: 提供端到端的链接
------------------------------------------------
协议服务器

TCP
传输控制协议
可靠的、面向链接的协议
传输效率低网络

UDP
用户数据报协议
不可靠的、无链接的服务
传输效率高
---------------------------------------------------
TCP的封装格式tcp

16位源端口号 16位目标端口号
32位序列号
32位确认号
4位首部长度 保留(6位) URG ACK PSH RST SYN FIN 16位窗口大小
16位校验和 16位紧急指针
可选项
数据
-----------------------------------------------------
TCP的链接ide

三次握手:
1 A主机: 发送 SYN ,请求创建链接
2 B主机: 发送 SYN 、ACK
3 A主机: 发送ACK翻译

四次断开:
1 A主机:发送 FIN,请求断开链接
2 B主机: 发送 ACK
3 B主机: 发送 FIN,请求断开链接
4 A主机:发送ACK
----------------------------------------------------------
TCP的应用debug

FTP 文件传输协议,上传,下载 21
Telnet 远程登录 23
SMTP 简单邮件传输协议,发邮件 25
DNS 域名解析服务 53
HTTP 超文本传输协议 80
-----------------------------------------------------------
UDP协议指针

UDP的封装格式
16位源端口号 16位目标端口号
16位UDP长度 16位UDP校验和
数据
-------------------------------------------------------------
UDP的应用接口

TFTP 简单文件传输协议 69
DNS 域名解析服务 53
NTP 网络时间协议 123
-------------------------------------------------------------
UDP的流控和差错控制ip

UDP缺少可靠机制
UDP只有校验和来提供差错控制
须要上层协议来提供差错控制: 例如TFTP协议

TFTP协议提供分块传输、分块确认机制,保证数据传输的可靠性
-------------------------------------------------------------
acl

访问控制列表(ACL)
读取第三层、第四层 头部信息
根据预先定义好的规则对数据进行过滤

ACL利用如下4个元素定义规则。
IP报头: 源/目的(地址)
TCP报头: 源/目的(端口)
--------------------------------------------------------------
工做原理

访问控制列表在接口应用的方向
出: 已通过路由器的处理,正离开路由器接口的数据包
入: 已到达路由器接口的数据包,将被路由器处理

入/出(方向)
列表应用到接口的方向与数据方向有关
------------------------------------------------------------
处理过程

到达访问控制组接口的数据包,匹配第一条。
若是第一条不匹配,则匹配下一条。
依此类推,若是一直到最后都不匹配,则“隐含的拒绝”,丢弃数据包。

acl 隐含的拒绝 相似白名单,没提到的不让经过。

反掩码 0是严格匹配,255是不关心

一旦写错了,no掉,它会所有都删除的,因此一开始就要写对,能够写到文本里确认无误再敲命令。
ip access-group 1 in 这个1的组只用写一次

1个接口只能应用一个列表!
-------------------------------------------------------------
类型

(标准)访问控制列表
基于源IP地址过滤数据包
标准访问控制列表的访问控制列表号是 1~99

(扩展)访问控制列表
基于源/目的IP地址、指定协议、端口来过滤数据包
扩展访问控制列表的访问控制列表号是 100~199
---------------------------------------------------------------
标准ACL配置

建立ACL
Router(config)#access-list access-list-number { permit | deny } source [ source-wildcard ]
容许数据包经过 拒绝数据包经过

应用实例
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)# access-list 1 permit 192.168.2.2 0.0.0.0
容许192.168.1.0/24和主机192.168.2.2的流量经过

隐含的拒绝语句
Router(config)# access-list 1 deny 0.0.0.0 255.255.255.255

关键字
host
any

将ACL应用于接口
Router(config-if)# ip access-group access-list-number {in |out}
如:ip access-group 1 in

在接口上取消ACL的应用
Router(config-if)# no ip access-group access-list-number {in |out}

查看访问控制列表
Router(config)# Show access-lists

删除ACL
Router(config)# no access-list access-list-number
------------------------------------------------------------------------------------------------------
扩展访问控制列表的配置

建立ACL
Router(config)# access-list access-list-number { permit | deny }
protocol { source source-wildcard destination destination-wildcard } [ operator operan ]

应用实例
Router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 80
Router(config)# access-list 101 permit ip any any
----------------------------------------------------------------------------------------------------------
NAT
Network Address Translation,网络地址转换

做用
经过将内部网络的私有IP地址翻译成全球惟一的公网IP地址,使内部网络能够链接到互联网等外部网络上。
------------------------------------------------------------------------------------------------------------
私有IP地址分类

A类 10.0.0.0 ~ 10.255.255.255
B类 172.16.0.0 ~ 172.31.255.255
C类 192.168.0.0 ~ 192.168.255.255
--------------------------------------------------------
NAT

优势:
节省公有合法IP地址
处理地址重叠
安全性

缺点:
延迟增大
配置和维护的复杂性
---------------------------------------------------------
NAT实现方式:

静态转换 :适用于服务器
端口多路复用:适用于公司里的我的电脑

undebug ip nat #取消
----------------------------------------------------------
静态NAT

静态转换
IP地址的对应关系是一对一,并且是不变的,借助静态转换,能实现外部网络对内部网络中某些特设定服务器的访问。

静态NAT配置步骤:
接口IP地址配置
决定须要转换的主机地址
决定采用什么公有地址
在内部和外部接口上启用NAT

Router(config)#ip nat inside source static local-ip global-ip
-------------------------------------------------------------
静态NAT的配置(续1)
将内网地址192.168.1.1静态转换为合法的外部地址100.0.0.2以便访问外网。

设置外部接口的IP地址:

Router(config)#interface g0/1
Router(config-if)#ip address 100.0.0.1 255.0.0.0
Router(config-if)#no shut

设置内部接口的IP地址:
Router(config)#interface g0/0
Router(config-if)#ip address 192.168.1.254 255.255.255.0
Router(config-if)#no shut

创建静态地址转换
Router(config)#ip nat inside source static 192.168.1.1 100.0.0.2

在内部和外部接口上启用NAT
Router(config)#interface g0/1
Router(config-if)#ip nat outside
Router(config)#interface g0/0
Router(config-if)#ip nat inside
---------------------------------------------------------------
端口多路复用(PAT)

做用
经过改变外出数据包的源IP地址和源端口并进行端口转换,内部网络的全部主机都可共享一个合法IP地址实现互联网的访问,节约IP。

PAT配置步骤:
接口IP地址配置
使用访问控制列表定义哪些内部主机能作PAT
肯定路由器外部接口
在内部和外部接口上启用NAT
-----------------------------------------------------------------
PAT的配置

定义内部ip地址
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255

设置复用动态IP地址转换外部接口
Router(config)#ip nat inside source list 1 interface g0/1 overload

在内部和外部接口上启用NAT,以及配置默认路由
与静态NAT配置相同
-----------------------------------------------------------------------
跟踪NAT
debug ip nat命令跟踪NAT操做

R1#debug ip nat
IP NAT debugging is on
*Mar 1 00:03:56.875: NAT: s=192.168.4.2->145.52.23.2, d=1.1.1.1 52225]
*Mar 1 00:03:57.667: NAT*: s=192.168.4.2->145.52.23.2, d=1.1.1.1 [52481]
*Mar 1 00:03:57.811: NAT*: s=1.1.1.1, d=145.52.23.2->192.168.4.2 [52481]

s=192.168.4.2表示源地址是192.168.4.2d=1.1.1.1表示目的地址是1.1.1.1192.168.4.2->145.52.23.2表示将地址192.168.4.2转换为145.52.23.2