IT俱乐部 Linux Linux之路由转发和SNAT的应用方式

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服务器日志

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/server/linux/12189.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部