【NAT原理总结iptables实现SNAT和DNAT。】历览千载书,时时见遗烈。这篇文章主要讲述NAT原理总结iptables实现SNAT和DNAT。相关的知识,希望能为你提供帮助。
1、NAT原理NAT:network address translation ,支持PREROUTING,INPUT,OUTPUT,POSTROUTING四个链
请求报文:修改源/目标IP,由定义如何修改
响应报文:修改源/目标IP,根据跟踪机制自动实现
NAT的实现分为下面类型:
- SNAT:source NAT ,支持POSTROUTING, INPUT,让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装,请求报文:修改源IP
- DNAT:destination NAT 支持PREROUTING , OUTPUT,把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP,请求报文:修改目标IP
2、SNAT实现范例
环境准备(最少三台机子,一个做内网,一个做防火网,一个做外网)
10.0.0.146内网client的IP 10.0.0.147、172.16.0.6外网IP对172网段、内网IP对10网段 172.16.0.7外网服务端IP
在firewalld上面开启路由转发功能,还要把网卡的网关指向firewalld主机[root@DNS ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0 GATEWAY=10.0.0.147 [root@DNS ~]#nmcli connection reload [root@DNS ~]#nmcli connection up eth0 [root@web2 ~]#hostname -I 10.0.0.147 172.16.0.6 [root@web2 ~]#vim /etc/sysctl.conf net.ipv4.ip_forward=1 [root@web2 ~]#sysctl -p net.ipv4.ip_forward = 1 [root@web2 ~]#iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 172.16.0.6
文章图片
文章图片
IP走向10.0.0.146 ——》( 10.0.0.147 ——》 172.16.0.6 )——》 172.16.0.7
3、DNAT实现范例 环境准备10.0.0.146client 10.0.0.147、172.16.0.6firewalld 172.16.0.7web_server
[root@web2 ~]#vim /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@web2 ~]#sysctl -p
net.ipv4.ip_forward = 1
文章图片
client配置
[root@DNS ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=10.0.0.147
web-server配置
文章图片
文章图片
测试
文章图片
IP走向
10.0.0.146 ——》( 10.0.0.147 ——》 172.16.0.6 )——》 172.16.0.7
推荐阅读
- Spark的两种核心Shuffle详解
- Java split函数的坑
- kafka 和zookeeper集群配置参考
- 吃透方法内联
- 戴尔台式机3020安装 Centos7
- 面试题 -- 如何设计一个线程池
- filebeat+logstash顺序存储日志
- 致同发布全球商业调查 全球中端市场重归良性发展
- Mybatis 入门 第十一篇 之 缓存