您的位置:首页 > 文旅 > 旅游 > SNAT与DNAT

SNAT与DNAT

2024/10/6 12:34:24 来源:https://blog.csdn.net/qq_54188720/article/details/139568132  浏览:    关键词:SNAT与DNAT

一、SNAT策略概述

1、SNAT 策略的典型应用环境

局域网主机共享单个公网IP地址接入Internet(私有IP不能在Internet中正常路由)

局域共享上网

2、 SNAT 策略的原理

修改数据包的源地址

把从内网 --> 外网的数据的源内网地址转换成公网源地址 

 

3、SNAT转换前提条件 

  • 局域网各主机已正确设置IP地址、子网掩码
  • 局域网各主机正确设置默认网关地址
  • Linux网关支持IP路由转发

 

临时打开的方法:
echo 1 > /proc/sys/net/ipv4/ip_forward
或
sysctl -w net.ipv4.ip_forward=1#只能临时生效,重启服务器之后会返回为0

永久打开的方法:vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 		#将此行写入配置文件sysctl -p 						#读取修改后的配置

4、配置SNAT 内网连接外网实现源地址转换

第一步:准备虚拟机

准备三台虚拟机;一台当作网关服务器;一台当作外网web服务器;一台当作内网客户机;为了区分内网和外网的区别,设置两个VMnet;VMnet1作为内网;VMnet2作为外网

第二步:为网关服务器添加配置 

(1)多添加一个网络适配器

 

(2)修改网卡和新网卡配置

(3)网关服务器设置同意路由转发

#永久启用
vim /etc/sysctl.confnet.ipv4.ip_forward=1 sysctl -p 
#若 net.ipv4.ip_forward=0 即无法连通外网地址

第三步:配置客户机

第四步:配置外网web服务器

(1)配置网卡

 (2)安装并启动httpd软件

yum install -y httpd 
systemctl restart httpd
netstat -lntp | grep :80   #查看软件是否开启

第五步:关闭防火墙和syslinux

systemctl stop firewalld
setenforce 0

第六步:配置SNAT源地址转换

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens36 -j SNAT --to 12.0.0.10

第七步:在内网ping外网服务器,并用tcpdump抓包工具查看信息

内网:  ping -c 10 12.0.0.20            #先ping外网:
tcpdump -i ens33 -s 0 -w ./test2.cap   #再tcpdump抓包;内网ping完后sz test1.cap 到真机文件中,使用 winsharp 进行查看抓包

二、DNAT策略 

1、工作原理

 2、应用场景

3、DNAT转换的前提条件 

局域网的Web服务器能够访问Internet

网关的外网IP地址有正确的DNS解析记录

Linux网关支持IP路由转发

 

4、配置DNAT 

准备虚拟机设置IP地址和网关 

将一台主机放在内网,作为Web服务器,两台作为客户端放在外网,一台作为网关务器 

与DNAT实验时相反,这次的web服务器在内网环境,服务机在公网环境

准备DNS服务器给外网客户端使用

yum install -y bind

vim /etc/named.conf

vim /etc/named.rfc1912.zones 

 

cd /var/named/
cp -p named.localhost xy101.com.zonevim xy101.com.zone

 

systemctl start named
systemctl enable named

 去客户机验证

vim /etc/resolv.conf
nameserver 12.0.0.30
nsloookup www.xy101.com

配置内核配置文件,添加ip_forward 实现路由转发功能的开启

vim /etc/sysctl.confnet.ipv4.ip_forward = 1保存退出之后 
sysctl -p

客户机验证

ping 192.168.80.30
ping 12.0.0.30
ping 12.0.0.100
ping 12.0.0.200

作DNAT转换

用客户机做网页查询;没有任何反应

添加配置即可实现访问网址 ;(先关闭防火墙)
 

iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.30 -p tcp --dport 80 -j DNAT --to 192.168.80.15:80

实现远程登录Web服务器

iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.30 -p tcp --dport 2345 -j DNAT --to 192.168.80.15:22

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com