概念:

定义:

SNATSource NAT(POSTROUTING):源地址转换,请求由内网的主机发起,修改IP源,外网的目的地址不变。

作用:

在生产环境中,源地址转换能够让我们公司的内网或者个人的主机可以访问外网而且不让自己的私网IP地址暴露在公网中,达到既能上网有隐藏ip防止被攻击的作用。

 

准备环境:

准备三台centos7的虚拟机

一台充当内网主机,ip地址为192.168.146.129

一台充当NAT Server,内网接口地址是192.168.146.120,

外网接口的地址是172.18.250.98.

一台充当外网,地址是172.18.250.195

 

实验拓扑图:

iptable之SNAT的实现_SNAT

实验步奏:

1、 分别centos7上的3台主机上关闭firewad和清空iptablesnat

[root@centos7 ~]# systemctl stop firewalld

[root@centos7 ~]# iptables  -F

2、  NDA Server 上打开内核转发

 [root@centos7 ~]# echo 1  >/proc/sys/net/ipv4/ip_forward

3、   在内网的机器上添加内网的网关,外网添加外网对应的网关

          route add default gw 192.168.146.130  #内网

          route add default gw 172.18.250.98    #外网

4、  在NDA Server上做SNAT源地址转换规则

         iptables -t nat -A POSTROUTING  -s 192.168.146.0/24 -j SNAT

        --to-source172.18.250.98

5、  测试

在内网的机器上测试,ping 公网的IP结果是可以PING通外网。

iptable之SNAT的实现_SNAT_02

用外网ping内网,是不通的,说明实验成功了。

        [root@centos7 ~]#  ping 192.168.146.129

        connect: Network is unreachable

 

注意事项:

1、NAT Server机器上一定要开启内核转发功能,就算做了策略,内网也ping不 通外网。

2、   SNAT源地址转换NAT表对应的链是POSTROUTING,不是PREROUTING链。

3、      SNAT源地址转换NAT是把源地址转换成外网网关的172.18.250.98,所以规则上填入的是--to-source 172.18.250.98