NAT地址转换实现原理与应用方式!
IPv4即网际网协议第4版——Internet Protocol Version 4的缩写。IPv4定义一个跨越异种网络互连的超级网,它为每个网际网的节点分配全球唯一IP地址。如果我们把Internet比作一个邮政系统,那么IP地址的作用就等同于包含城市、街区、门牌编号在内的完整地址。
NAT作为伟大的转发技术,实现了现有IPV4地址不足的问题,让我们都能快乐的上网。当然虽然一定程度上它增加了网络访问的难度,并且会损失一部分速度,不过却让我们更多人没有公网IP地址的情况下共享上网!
今天我们谈一个用iptables实现NAT的一个办法,它有一个好用的办法哦!可以让我们之通过一个云服务器就能实现多台没有公网IP云服务器一起上网呢!
你问我为啥要这么干?
小伙伴们想一想,高配云服务器贵呀!撸出来一个要不少钱呢!但低配不同呀!你像云还有免费的云服务器呢!你撸出来几个,自己组建个小的局域网群,不论是做开发测试,还是弄一些其它有意思的东西都挺好的。积少成多,小服务器也能让你弄成高配“云服务器”不是。而且就算你不用,这么多弄一个挂机宝或者一些其它的在线挂QQ也是美滋滋呀!躺着就赚钱,固然少点但投入精力也不多,赚点是点嘛!
首先我们介绍一下iptables: iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。(当然要求你系统内核是linux,如果你非用Windows……小编可以傲娇的告诉您,本教程不支持!不支持!不支持!重要的事情说三遍!)
天也不早了,咱也干点正事了,下面咱就具体说说咋用。
通过iptables端口映射, 实现只有内网ip服务通过(借助)外网ip主机与外界通信。
场景介绍
云的云主机一台,内网ip为: 172.27.0.6
云redis一个,内网ip为: 172.27.0.3(没外网ip,不能外网访问)
iptables -t nat -A PREROUTING -d 172.27.0.6 -p tcp –dport 6379 -j DNAT –to 172.27.0.3:6379
iptables -t nat -A POSTROUTING -d 172.27.0.3 -p tcp –dport 6379 -j SNAT –to-source 172.27.0.6
第一句意思: 把 用户请求172.27.0.6:6379行为 转到172.27.0.3:6379; 第二句意思: 把 172.27.0.3:6379响应转发到172.27.0.6
在就可以通过云主机外网主机ip+6379+redis密码访问redis了;
需要打开云主机的6379端口,这个需要在云后台防火墙的出入站规则配置一下,否则用不了。笔者曾经就被这个坑过,配置好就是用不了,然后找了许久才发现这个问题。大家引以为戒哈!要想了解更多相关技术介绍,大家可以阅读《小白也能懂技术——nat地址转换科普》,您可以自己查阅云知识库来了解相关知识哦!