目录
5. 使用网关服务器分别ping 内网 外网 验证是否能ping通
一、SNAT
1. SNAT 原理
SNAT原理与应用:. SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) SNAT原理:源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映谢
SNAT转换前提条件: 1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址 2.Linux网关开启IP路由转发 linxu系统本身是没有转发功能 只有路由发送数据
SNAT 就是让内网可以访问到外网
2. 开启SNAT
2.1 临时打开
echo 1 >/proc/sys/net/ipv4/ip_forward
或
sysctl -w net.ipv4.ip forward=1
2.2 永久打开
vim /etc/ sysctl. conf
net. ipv4.ip_ forward = 1 #将此行写入配置文件
sysctl -P #读取修改后的配置
3.SNAT的转换
3.1 固定的公网地址
#配置SNAT策略,实现snat功能,将所有192.168.100.0这个网段的ip的源ip改为10.0.0.1
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to 10.0.0.1
可换成单独IP 出站外网网卡 外网IP
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to-source 10.0.0.1-10.0.0.10
内网IP 出站外网网卡 外网IP或地址池
3.2 非固定的公网IP地址(共享动态IP地址)
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 12.0.0.0/24 -d 192.168.100.0/24 -j MASQUERADE
一个IP地址做SNAT转换,一般可以让内网 100到200 台主机实现上网
4. SNAT 实验
1.修改网关服务器网卡信息
网关服务器:
1.配置网关服务器网卡
cd /etc/sysconfig/network-scripts/
ls
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens33
vim ifcfg-ens36
systemctl restart network
ens33
ens36
2. 修改网关服务器内核配置文件
sysctl -a|grep ip_forward
vim /etc/sysctl.conf
sysctl -e
3.设置内网网卡信息:
1.设置 网卡 ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
4.设置外网网卡信息
1. 配置网卡 ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
5. 使用网关服务器分别ping 内网 外网 验证是否能ping通
6.给网关服务器添加SNAT规则
7.用内网curl 外网
代表SNAT 实验成功
二、 DNAT
1.DNAT的原理介绍
1.1 应用环境
在Internet中发布位于局域网内的服务器
1.2 DNAT原理
- 目标地址转换
- 修改数据包的目标地址
1.3 DNAT转换前提条件
- 局域网的服务器能够访问Internet
- 网关的外网地址有正确的DNS解析记录
- Linux网关开启IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysct1 -p
2. DNAT的转换
2.1 发布内网的Web服务
#把从ens33进来的要访问web服务的数据包目的地址转换为 192.168.80.11
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp--dport 80 -j DNAT --to 192.168.80.11
或
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp--dport 80-j DNAT --to-destination 192.168.80.11
入站|外网网卡 | 外网ip 内网服务器ip
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80-j DNAT --to 192.168.80.11-192.168.80.20
2.2 发布时修改目标端口
#发布局域网内部的OpenSSH服务器, 外网主机需使用250端口进行连接
iptables-t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp--dport 250-jDNAT --to 192.168.100.102:22
3. DNAT实验
准备操作与SNAT 相同 (参考SNAT实验步骤1-5)