一,SNAT 原理的应用
SNAT 应用环境∶局域网主机共享单个公网IP地址接入Internet
SNAT原理∶修改数据包的源地址。 SNAT转换前提条件∶
局域网各主机已正确设置IP地址、子网掩码、默认网关地址
命令:
临时打开:
echo 1 >/proc/sys/net/ipv4/ip_forward
永久打开:
vim /etc/ sysctl. conf net. ipv4.ip_ forward = 1 sysctl -PSNAT转换
局域网PC封装源、如:目ip(源地址:192.168.100.77,目的地址:172.16.16.101),到达网关路由器,SNAT将源地址转换成唯一的一个公网ip,
此时源地址变成了公网ip172.16.16.254(eth0),再把数据包重新封装。当外网服务器收到,进行数据回复的时候。源目对调,源地址是web服务
器地址,目标地址是网关地址,找到网关路由之后,在网关路由中会有一个状态记录(局域网内或许不止一台主机访问外网),转发回去。
转换公式: 1:iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -i SNAT --to 12.0.0.1 2:iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to-source 12.0.0.1-12.0.0.10 二,DANT的原理的应用 工作原理如图:
转换前置条件
网关的外网地址有正确的DNS解析记录
Linux网关开启IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 sysct1 -p DNAT转换1: 发布内网的Web服务 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 -p tcp --dport 80-j DNAT --to 192.168.80.11-192.168.80.20 (入站 外网网卡 外网ip 内网服务器ip) DNAT转换2: 发布时修改目标端口 iptables-t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp--dport 250-jDNAT --to 192.168.80.11:22 在外网环境中使用SSH测试 ssh -p 250 root@12.0.0.1 yum -y install net-tools ifconfig ens33 防火墙规则的备份和还原 导出: iptables-save > /opt/ipt.txt 导入: iptables-restore < /opt/ipt.txt iptables-save >/etc/sysconfig/iptables (将iptables规则文件保存在 /etc/sysconfig/iptables 中,iptables服务启动时会自动还原规则) systemctl stop iptables (停止iptables服务会清空掉所有表的规则) systemctl start iptables (启动iptables服务会自动还原/etc/sysconfig/iptables 中的规则)