NAT:

SNAT:内网主机访问外网的时候,当外网主机响应的时候路由无法识别源地址,因此需要做源地址转换,

其实,当响应的时候,源地址已经变为目标地址,因此路由也做了DNAT,源地址转换可以隐藏内

网主机,因此,最早是设计来保证内网主机的安全的,但是后来,作为了ipv4公网地址不够用的完

美解决办法,因此,除了安全,还是实现内网中的私网地址通过一个公网地址上网的功能。

其实,做SNAT的时候,可以通过修改公网服务器主机的路由网关,把自己的网关指向路由服务器

的网关也可。

DNAT:把内网主机扮作服务器,可供外网主机访问,当访问时,无法路由,因次,需要把路由服务器的

DNAT打开,把目标地址转换为公网网关,内网主机响应时,把源地址转换为公网网关地址。这样

做可以把内网N个主机扮演为,一个公共网关公网地址的服务器,并且如果iptables规格设置的几

个主机的条件一样,就可以实现负载均衡。

DNAT因为在请求时已经知道是请求的内网路由,并无法路由,因此需要在路由服务器的

PREROUTING设置iptables规则,而SNAT因为在请求时要先分析源地址是内网地址,所以要进ip

路由分析池出来之后才知道,因此需要在POSTROUTING处设置iptables规则。

另外补充,在DNS中也能通过DNS解析实现负载均衡,而这里ipttables的DNAT也能实现负载均衡,并

且后期的内核中更强大的负载均衡工具也行。

代理跟NAT的区别在于,代理在应用层,主要负责你干什么?而NAT工作在网络层和传输层,主要

负责怎么去到要干事情的地方!!

转载于:https://blog.51cto.com/lvxibb/1844981

iptables 垫脚石之 NAT DNAT SNAT 代理 深度理解相关推荐

  1. 启动docker容器时报错:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT -

    启动docker容器时报错: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT ...

  2. docker启动报错  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --

    docker启动报错 :  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT ...

  3. dockerq启动报错(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --t

    docker启动报错 (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --t ...

  4. iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9443 -j DNAT

    docker启动容器的时候报错: Error response from daemon: driver failed programming external connectivity on endp ...

  5. 启动容器时报错:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1217 -j DNAT --to-de

    故障原因: 利用tomct镜像启动容器时报错: [root@localhost Tomcat]# docker run -d --name tomcat2 -p 1217:8080 tomcat:ce ...

  6. Linux iptables用法与NAT

    1.相关概念 2.iptables相关用法 3.NAT(DNAT与SNAT) 相关概念 防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为代理服务器(Proxy)及封包过滤机制(IP ...

  7. 使用公网NAT网关SNAT功能访问互联网

    目录 公网NAT网关 使用公网NAT网关SNAT功能访问互联网 操作: VPC NAT网关 应用场景 NAT网关提供网络地址转换服务,阿里云提供公网NAT网关和VPC NAT网关两款产品,公网NAT提 ...

  8. java 动态代理深度学习(Proxy,InvocationHandler)

    http://hi.baidu.com/malecu/item/9e0edc115cb597a1feded5a0 http://www.iteye.com/topic/683613 http://bl ...

  9. 沈向洋:从深度学习到深度理解

    2020-07-30 01:29:20 作者 | 蒋宝尚 编辑 | 丛 末 7月19日,深圳市人工智能与机器人研究院与香港中文大学(深圳)联合主办的"全球人工智能与机器人前沿研讨会" ...

最新文章

  1. matlab length_《Matlab - Robotics System Toolbox》学习笔记(2)
  2. 计算机设计思想 —— 代理(proxy)
  3. 推荐几个华为、字节跳动、蚂蚁金服的大佬公号
  4. c++ 如何判断无效指针_如果链表中有环,我们应该如何判断?
  5. 滚动条颜色样式设置 说明
  6. PHP(一)——概述及服务器配置
  7. 网站pc端分享QQ好友,空间,微博
  8. 操作系统(2)-创建线程的几种方式
  9. 音乐服务器 linux,在Ubuntu/Debian/CentOS上安装Koel以配置个人音乐流媒体服务器
  10. django项目验证码(PIL库实现)
  11. oracle学习笔记 学习前奏
  12. 感觉自己技术还可以?十几个外包平台分享给你,让你外包接到手软!
  13. 如何制作条形码报表(盈帆报表:efreprt.com)
  14. 自动化测试之selenium介绍
  15. 【2020-09-30】一个适合爬虫练手的网站--中国土地市场网
  16. 【历史上的今天】8 月 22 日:改变世界的程序员们
  17. 方队 - 启发式合并 - 主席树
  18. 狗汪汪玩转无线电 -- GPS Hacking
  19. 《蹭课神器》Beta版使用说明
  20. LVI-SAM LIS系统 utility.h 代码阅读 附录

热门文章

  1. jsp mysql事务锁_学生会事务管理系统的设计与实现(JSP,MySQL)(含录像)
  2. java filechooser_Java—FileChooser(示例代码)
  3. 如何linux网页修改回80端口,linux下如何修改iptables开启80端口
  4. 20200907:力扣203周周赛题解记录
  5. restful api和普通api有什么特点_Django REST Framework教程(1): 什么是序列化和RESTful的API
  6. linux下camera驱动分析_LINUX设备驱动模型分析之三 驱动模块相关(DRIVER)接口分析...
  7. c语言中{的作用,C语言中Static和Const关键字的作用
  8. 冯诺依曼结构和哈佛结构02
  9. LKT系列加密芯片如何预置openssl生成的rsa密钥完成运算(二)
  10. 加密芯片SPI通讯的调试