NAT原理总结iptables实现SNAT和DNAT。
Posted 江神神神神
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.146 client 10.0.0.147、172.16.0.6 firewalld 172.16.0.7 web_server
firewalld配置
[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
以上是关于NAT原理总结iptables实现SNAT和DNAT。的主要内容,如果未能解决你的问题,请参考以下文章