Linux之路由转发和SNAT的应用方式
1.SNAT的介绍
SNAT又称源地址转换。源地址转换是内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址(可指定具体的服务以及相应的端口或端口范围),这可以使内网中使用保留ip地址的主机访问外部网络,即内网的多部主机可以通过一个有效的公网ip地址访问外部网络。
真实环境运用中私网可以通过路由转发,将数据包传送给公网IP地址的服务器,而公网地址无法将相应的数据包回还给私网地址的用户。
此时二者之间需要一个媒介,就是一个建立在私网和公网之间的网关服务器,对其之间的数据包进行相应的处理。来完成私网IP与公网IP之间的建立联系
SNAT源地址转换过程:
- 数据包从内网发送到公网时,SNAT会把数据包的源地址由私网IP转换成公网IP。
- 当相应的数据包从公网发送到内网时,会把数据包的目的地址由公网IP转换为私网IP。
- 当内网有多台主机访问外网时,SNAT在转换时会自动分配端口,不同内网主机会通过端口号进行区分。
2.SNAT实验的部署设计
运用SNAT策略将局域网中的客户机IP封装为网关服务器的外网IP,访问web服务器的http服务
3.具体实验步骤
第一步:做好实验前的虚拟机设置
在这里我准备了三台虚拟机依次将它们当作客户机,web服务器和网关服务器来使用
1. 网关服务器的设置
- 1.1 添加网卡,修改vmnet
- 1.2 修改ens33 为网关服务器的内网网卡
- 1.3 修改新加网卡ens36(这里添加的网卡是什么就用什么)
yum install -y httpd systemctl restart httpd
以上操作结束后,重启网卡
2. 客户机设置模拟
3. web服务器设置
- 3.1 配置网卡
- 3.2 下载http服务并且开启
yum install -y httpd systemctl restart httpd
第二步:网关服务器设置同意路由转发
#永久启用 vim /etc/sysctl.conf net.ipv4.ip_forward=1 sysctl -p #临时开启 echo 1 > /proc/sys/net/ipv4/ip_forward 或 sysctl -w net.ipv4.ip_forward=1
第三步:关闭防火墙和syslinux,客户机初步访问web服务器httpd服务
运用Linux的火狐浏览器,直接通过IP进行访问:
查看web服务器的http访问日志:
#追踪更新访问者访问httpd服务的日志 tail -f /var/log/httpd/acces_log
这是由虚拟机模拟的内网外网环境,与真实环境有一些出入,如果在真实环境中,私网IP是不会在公网服务器上留下访问痕迹。
同时:并没有达到实验最终目的,还需要进一步的SNAT源地址转换
第四步 :SNAT源地址转换
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.73.0/24 -o ens36 -j SNAT --to 12.0.0.254
第五步:再次访问,且查看web服务器日志
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Service Temporarily Unavailable的503错误是怎么回事?
一般来说,出现Service Temporarily Unavailable错误多半是因为网站访问量大,造成了流量超限或者并发数大引起的资源超限出现的错误2013-05-05
最新评论