iptable之SNAT的实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptable之SNAT的实现相关的知识,希望对你有一定的参考价值。
概念:
定义:
SNAT:Source 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
实验拓扑图:
实验步奏:
1、 分别centos7上的3台主机上关闭firewad和清空iptables的nat
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# iptables -F
2、 在NDA Server 上打开内核转发
[[email protected] ~]# 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通外网。
用外网ping内网,是不通的,说明实验成功了。
[[email protected] ~]# 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
本文出自 “12180356” 博客,请务必保留此出处http://12190356.blog.51cto.com/12180356/1975724
以上是关于iptable之SNAT的实现的主要内容,如果未能解决你的问题,请参考以下文章
Linux|计算机网络|iptables|dnat+snat实现外网访问局域网内部服务器