目录
一、SNAT原理介绍
1、SNAT 应用环境
。局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由
2、SNAT原理
。源地址转换
。修改数据包的源地址
3、SNAT转换前提条件
。局域网各主机已正确设置IP地址、子网掩码、默认网关地址
。inux网关开启IP路由转发
。linxu系统本身是没有转发功能,只有路由发送数据
二、DNAT的原理介绍
1.DNAT应用环境
。在Internet中发布位于局域网内的服务器
2.DNAT原理
。目标地址转换
。修改数据包的目标地址
3.DNAT转换前提条件
。局域网的服务器能够访问Internet
。网关的外网地址有正确的DNS解析记录
。Linux网关开启IP路由转发
三、SNAT与DNAT的应用实操
1、实验环境:
1.1 内网服务器 IP地址:192.168.134.10 网关:192.168.134.1
1.2 网关服务器网关
内网网关:192.168.134.1
外网网关:12.0.0.1
1.3 外网服务器 IP地址:12.0.0.10 网关:12.0.0.1
2、SNAT:让内网可以访问外网
配置内网服务器
1、systemctl stop firewalld && setenforce 0
#关闭防火墙与安全机制
2、yum install httpd -y
#安装http服务
3、systemctl start httpd
#启动http服务
4、vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改ens33网卡
5、systemctl restart network
#重启网卡
配置网关服务器
1、添加一块新网卡,需要配置内外两个网关,因此需要准备两快网卡
2、systemctl stop firewalld && setenforce 0
#关闭防火墙与安全机制
3、ifconfig
#查看网卡信息
4、cd /etc/sysconfig/network-scripts/
#切换至网卡配置文件所在目录
5、cp ifcfg-ens33 ifcfg-ens35
#复制ens33网卡配置到ens36网卡
6、vim ifcfg-ens33
#修改网卡配置,按要求编辑 内网网关
7、vim ifcfg-ens35
#修改网卡配置,按要求编辑 外网网关
8、systemctl restart network
#重启网卡
9、vim /etc/sysctl.conf
#开启SNAT
net.ipv4.ip_forward = 1
#添加此条命令到配置文件中
10、sysctl -p
#验证SNAT是否开启成功
11、iptables -F -t nat
#清空nat表规则,避免影响SNAT转换命令
12、iptables -t nat -A POSTROUTING -s 192.168.134.0/24 -o ens35 -j SNAT --to 12.0.0.1
#转换地址,使得内网服务器可以访问外网服务器
配置外网服务器
1、systemctl stop firewalld && setenforce 0
#关闭防火墙与安全机制
2、yum install httpd -y
#安装http服务
3、systemctl start httpd
#启动http服务
4、vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改ens33网卡
5、systemctl restart network
#重启网卡
6、#重启网卡后外网服务器xshell连接会断开,此时我们重新打开一个会话 去连接修改过后的外网服务器即可(ssh 12.0.0.10)
访问测试
1、内网服务器访问外网服务器:curl 12.0.0.10
2、外网服务器查看访问日志:tail /var/log/httpd/access_log
3、DNAT:让外网可以访问内网
(与SNAT 步骤几乎一致,仅转换命令不同,编辑转换路由时输入DNAT 的转换命令即可)
配置内网服务器
1、systemctl stop firewalld && setenforce 0
#关闭防火墙与安全机制
2、yum install httpd -y
#安装http服务
3、systemctl start httpd
#启动http服务
4、vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改ens33网卡
5、systemctl restart network
#重启网卡
配置网关服务器
1、添加一块新网卡,需要配置内外两个网关,因此需要准备两快网卡
2、systemctl stop firewalld && setenforce 0
#关闭防火墙与安全机制
3、ifconfig
#查看网卡信息
4、cd /etc/sysconfig/network-scripts/
#切换至网卡配置文件所在目录
5、cp ifcfg-ens33 ifcfg-ens36
#复制ens33网卡配置到ens36网卡
6、vim ifcfg-ens33
#修改网卡配置,按要求编辑 内网网关
7、vim ifcfg-ens36
#修改网卡配置,按要求编辑 外网网关
8、systemctl restart network
#重启网卡
9、vim /etc/sysctl.conf
#开启DNAT
net.ipv4.ip_forward = 1
#添加此条命令到配置文件中
10、sysctl -p
#验证DNAT是否开启成功
11、iptables -F -t nat
#清空nat表规则,避免影响DNAT转换命令
12、iptables -t nat -A PREROUTING -i ens35 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.134.20
#转换地址,使得外网服务器可以访问内网服务器配置外网服务器1、systemctl stop firewalld && setenforce 0
#关闭防火墙与安全机制
2、yum install httpd -y
#安装http服务
3、systemctl start httpd
#启动http服务
4、vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改ens33网卡
5、systemctl restart network
#重启网卡
6、#重启网卡后外网服务器xshell连接会断开,此时我们重新打开一个会话 去连接修改过后的外网服务器即可(ssh 12.0.0.10)
###访问测试
1、外网服务器 访问内网服务器:curl 192.168.134.10
2、内网服务器 查看访问日志:tail /var/log/httpd/access_log