admin管理员组

文章数量:1647016

文章目录

  • NAT
  • SNAT
  • DNAT

个人博客
https://blog.csdn/cPen_web

NAT

NAT的概念

Network Address Translation,网络地址转换 --> 公用ip地址和私有ip地址之间的转换
路由器在转发数据的时候,修改ip包头里的源ip地址或者目的ip地址 --> 在公网ip和私网ip之间的转换

为什么需要NAT?

	答:ipv4的ip地址不够用,不能做到每个人都分配一些公用ip地址
		1. 解决ip地址不够用的问题
		2. 起到安全的作用

作用

	私有地址和公有ip地址之间的转换	隐藏了内部的网络的ip地址,外面的机器不知道内部的网络
	解决了ipv4不足
	缺点:降低了网速

自己给自己配1个公有ip地址(真正的公有ip,也有可能是电信内部的一个私有ip),不交钱给移动、电信、联通,是否可以上网?

	答:不能
		使用电信网络里的资源(购物,游戏,视频,直播等)
		整个内部网络的出口的位置(WAN口)会得到一个公有ip地址

为什么要拨号?拨号到底是干什么?

	答:因为运营商(ISP Internet service provider)需要认证用户是否合法,合法的用户给予分配ip地址,接入网络
		拨号就是利用调制解调器呼叫另一台计算机或网络并登录的过程

NAT的坏处?

	答:会影响到速度
		ip包的转发 --> nat后 --> 会修改ip包的源ip或者目的ip地址 --> 从封装和解封装的角度来思考,可能是影响速度的
NAT技术不是必须的,有些路由器不修改ip地址,只是转发数据
核心的网络使用nat比较少,在边缘网络里大量的使用,节约公网ip地址
路由器里启用nat功能后,会有nat转换表 --> 数据回来时,根据nat转换表 把ip换回来

Linux里2种NAT

	1. SNAT									修改源ip
	2. DNAT									修改目的ip
	SNAT:局域网 --> 外网 --> 出去的问题
	DNAT:外网 --> 局域网 --> 进来的问题

SNAT

SNAT --> 将局域网里面的机器代理上网 或者 整个局域网里的机器共享1个ip地址出去,所以外网的机器 不知道内网pc机的ip地址,隐藏内部网络的作用 (出去的时候 修改源ip,初衷是ip地址不足)
	代理上网
	共享一个ip地址上网
	路由器、网关服务器、代理服务器
外网卡 --> WAN口								#注:网关服务器的叫法
内网卡 --> LAN口

SNAT策略的典型应用环境

	局域网主机共享单个公网IP地址接入Internet

SNAT策略的原理

	源地址转换,Source Network Address Translation
	修改数据包的源IP地址

实验:SNAT


步骤:准备2台Linux虚拟机

	1.router的机器需要2块网卡 --> 网卡模式全部使用桥接		#注:关机添加网卡
	2.另外的client机器1块网卡 --> 网卡模式也是桥接

NAT-SNAT-图


步骤:准备环境

1.linux-server router机器(服务机上)

[root@snat-server network-scripts]# cp ifcfg-ens33 ifcfg-ens37		#注:复制配置文件
[root@snat-server network-scripts]# ls
ifcfg-ens33  ifcfg-ens37
[root@snat-server network-scripts]# cat ifcfg-ens33
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.0.77										#注:WAN口
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
DNS2=114.114.114.114
[root@snat-server network-scripts]# cat ifcfg-ens37		#注:内网LAN口不需要添加网关和DNS
BOOTPROTO="none"
NAME="ens37"
DEVICE="ens37"
ONBOOT="yes"
IPADDR=192.168.30.254									#注:LAN口
NETMASK=255.255.255.0

激活网卡,会重新生成路由表

[root@snat-server network-scripts]# ifup ens33
[root@snat-server network-scripts]# ifup ens37
[root@snat-server network-scripts]# ip route
default via 192.168.0.1 dev ens33 proto static metric 102 
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.77 metric 102 
192.168.30.0/24 dev ens37 proto kernel scope link src 192.168.30.254 metric 103 
#注:1条默认路由,2条直连路由

2.linux-client机器(客户机)

#注:给客户机配置ip

本文标签: 计算机网络笔记nat