iptables的SNAT和DNAT

目录

一、SNAT概念

1.1 SNAT的原理

1.2 SNAT转换流程

1.3 SNAT的实例

1.3.1 临时打开和永久打开

1.3.2 SNAT的转发方式

1.4 实例

二、DNAT概述

2.1 DNAT的原理

2.2 DNAT转换流程

2.3 DNAT的实例

2.3.1 Linux网关开启路由转发

 2.3.2 DNAT转换的方式

总结


一、SNAT概念

1.1 SNAT的原理

SNAT适用于局域网主机共享单个公网IP地址接入Internet

源地址转换(Source Network Address Translation),根据指定的条件修改数据包的源IP地址,通

常被叫做源映射。

客户端往网关服务器发数据包,通过网关服务器不进行转发,发送至需要访问的服务器,访问后,

数据包回来的时候还是私网IP,原来的源IP作为目的IP进行传送,私网IP作为目的地址在互联网中

会被丢弃,所以我们需要将IP进行转换,这样就能以公网IP的身份返回
 

1.2 SNAT转换流程

SNAT转换是从私网到公网,源IP地址改变,目的IP地址不变

1.3 SNAT的实例

1.3.1 临时打开和永久打开

Linux系统本身没有转发功能,只有路由发送数据。

①临时打开

echo 1 > /proc/sys/net/ipv4/ip_forward

sysctl -w net.ipv4.ip_forward=1

 

②永久打开

vim /etc/sysctl.conf

net.ipv4.ip_forward  =  1    #将此行写入配置文件  (注意要有空格)
sysctl -p       #读取修改后的配置

 

 

1.3.2 SNAT的转发方式

①私网转换固定的公网IP地址

iptables -t nat -A POSTROUTING -s 192.168.58.0/24 -o ens33 -j SNAT --to 12.0.0.1

iptables -t nat -A POSTROUTING -s 192.168.58.0/24 -o ens33 -j SNAT --to-source 12.0.0.1-12.0.0.10
②转换非固定的公网地址

iptables -t nat -A POSTROUTING -s 192. 168.58.0/24 -o ens36 -j MASQUERADE

1.4 实例

前提:

网关服务器内网网卡(VMnet1)    192.168.100.100

网关服务器外网网卡  (VMnet2)   10.0.0.2

Linux Web服务器  (VMnet2) 10.0.0.12

局域网(windows10)(VMnet1)   192.168.100.111
①配置网关服务器的网卡

②修改web服务器的IP地址和网关地址

 

 

③修改win10的IP地址

 ④在网关服务器上设置SNAT

 ⑤在win10上验证

二、DNAT概述

2.1 DNAT的原理

目标 地址转换。根据指定条件修改数据包的目标IP地址,保证了内网服务器的安全,通常被叫做目的映射。

2.2 DNAT转换流程

DNAT转换流程是源IP不变,目标IP地址改变

2.3 DNAT的实例

2.3.1 Linux网关开启路由转发

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

 2.3.2 DNAT转换的方式

①内网的web服务

把从ens37进来的要访问web服务的数据包目的地址转换为192.168.100.100
iptables -t nat -A PREROUTING -i ens37 -d 10.0.0.2 -p tcp --dport 80 -j DNAT --to 192.168.100.100

iptables -t nat -A PREROUTING -i ens37 -d 10.0.0.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.100                                                                          ##80 是端口,

 - i:入站外网网卡 
10.0.0.2: 外网IP
192.168.100.100: 内网服务器IP

②修改目标的端口

发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens37 -d 10.0.0.12 -p tcp --dport 250 -j DNAT --to 192.168.100.100:22

在外网环境中使用SSH测试
ssh -p 250 root@12.0.0.1

yum -y install net-tools    #####若没有ifconfig 命令可提前使用yum 进行安装
ifconfig ens33
 

总结

SNAT:源地址转换数据包从内网发送至公网时,SNAT会把数据包的源IP由私网IP转换成公网IP。当响应的数据包从公网发送内容时,会把数据包的目的IP由公网IP转为私网IP

DNAT:将公网IP映射为局域网内对应的私网IP的服务器

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值