1.SNAT
1.1 SNAT 定义
SNAT 又称源地址转换。源地址转换是内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址(可指定具体的服务以及相应的端口或端口范围),这可以使内网中使用保留ip地址的主机访问外部网络,即内网的多部主机可以通过一个有效的公网ip地址访问外部网络。
1.2 SNAT源地址转换过程
- 数据包从内网发送到公网时,SNAT会把数据包的源地址由私网IP转换成公网IP。
- 当相应的数据包从公网发送到内网时,会把数据包的目的地址由公网IP转换为私网IP。
- 当内网有多台主机访问外网时,SNAT在转换时会自动分配端口,不同内网主机会通过端口号进行区分。
1.3 实验
运用SNAT策略将局域网中的客户机IP封装为网关服务器的外网IP,访问web服务器的http服务
实验一:
① 配置网关服务器
基本准备:
添加网卡:
配置网卡:
重启网卡生效
查看是否生效
开启路由转发功能:
配置防火墙策略:
[root@localhost network-scripts]#iptables -t nat -A POSTROUTING -s 192.168.44.0/24 -o ens36 -j SNAT --to 12.0.0.1
#在出口的地方加 指定 POSTROUTING
#指定源网段 192.168.44.0/24
#出口网卡 ens36
#将内网地址通过ens36网口,都转为12.0.0.1的外网地址
② 配置内网客户端
③ 配置外网客户端,也就是web服务器
④ 测试:
将内容导入到页面,方便之后访问
开始测试,显示效果:
源内网地址转为源外网地址
实验二:
[root@localhost network-scripts]#iptables -t nat -A POSTROUTING -s 192.168.44.0/24 -o ens36 -j MASQUERADE
#如果地址不固定的时候可以设置
#伪装 你有什么地址,我就用什么地址
源内网地址成功转为源外网地址
2.DNAT
1.DNAT 定义
DNAT 将私网中web服务器映射到公网IP,使其公网IP作为目标地址被公网中主机进行访问
DNAT策略的原理:
- 目标地址转换
- 修改数据包的目标地址
2. DNAT源地址转换过程
- 数据包从外网发送到内网时,DNAT会把数据包的目标地址由公网IP转换成私网IP。
- 当相应的数据包从内网发送到公网时,会把数据包的源地址由私网IP转换为公网IP。
3. 实验
通过DNAT将web服务器的提供的httpd服务映射到网关服务器ens36网卡,且端口为80上面
其它配置都一样,修改网关服务器配置
DNAT 防火墙策略
[root@localhost network-scripts]#iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.44.30
#把从ens36进来的要访问web服务的数据包目的地址转换为192.168.44.30
#指定目的地址为网关服务器的ens36外网网卡的IP地址,将web服务器的私网地址映射到网关服务器的外网IP
#指定目的端口为html:80 这里可以修改映射为其它端口,加强安全性
内网客户端需要开启 httpd 服务
否则就会出现拒绝连接
成功连接
日志查看,源私网IP地址转为了公网IP
这样的设置存在的最大缺点是我们通常并不会通过IP去访问,更多的时运用域名,而内网访问web服务器是用内网的私网地址,而外网访问则是映射的外网IP。所以DNAT的运用一般我们会用DNS分离解析来配合使用。使其实现内网主机通过内网域名转换为内网IP访问,外网主机也能通过域名转换为外网IP进行访问
4. DNAT 和 DNS 分离解析相结合
方法:直接在上面配好SNAT和DNAT的基础上,在网关服务器配置分离解析即可
内网配置为:www.xyl.com 解析成 192.168.44.20
外网配置为:www.xyl.com 解析成 12.0.0.1 (web 服务器映射外网 IP)
主配置文件:
域名配置文件:
配置数据库文件:
重新启动服务
7-1 客户端去访问 不再需要输入ip地址也可以访问
7-3
DNAT 外网可以访问内网
域名地址都可以访问!