docker桥接网络模式下开启端口映射,流量是如何绕过防火墙的

一、iptables

  • 五条链

    • PREROUTING链 PREROUTING链是最先生效的,当数据包到达网口时,即开始工作。同时由于其在raw,mangle,nat表中都存在,其执行的优先l顺序是:raw(PREROUTING)–>man gle(PREROUTING)—->mangle(nat) PREROUTING一般用作对包进行目标地址修改。比如将该包的目标地址,修改为非本机的另外的网络p,一般通过DNAT规则进行修改。
    • 路由决策(Routing Decision) 决定一个包该走哪个链。如果上述PREROUTING链对包进行了目标网络更改。那么决策会觉得这个是一个需要转发的数据包,于是会将该包转发给FORWARD链。 否则,该包会走NPUT链
    • FORWARD链 FORWARD在各表中生效的优先l顺序是:mangle(FORWARD)–>filter(FORWARD) 处理路由决策派发发过来的包,到这里的包一般目标网络地址在PREROUTING链被修改过
    • INPUT链 其生效顺序是:mangle(INPUT)–>filter(INPUT) 处理路由决策派发发过来的包,到这里的包一般目标网络地址在PREROUTING链没有被修改过。
    • OUTPUT链 在目标进程端口接收到输入数据包后,输出的数据包,将在这里进行规则应用。OUTPUT链在各表中生效的先后顺序是: raw(OUTPUT)—->mangle(OUTPUT)—-nat(OUTPUT)—->filter(OUTPUT)
  • 四张表

micro quick, how to play?

工程化

在微服务架构中,工程化实践是确保项目可维护性、可扩展性和团队协作效率的关键。本文将深入探讨从简单模板到复杂微服务架构的不同工程化方案,以及如何根据业务需求选择合适的实践。

micro, how to play api?

API工程化:基于Proto的IDL管理和文档生成

在现代软件开发中,API工程化变得愈发重要。使用Proto作为接口定义语言(IDL),可以帮助团队更好地管理API和生成相关文档。本文将介绍一种基于Proto的IDL管理方式以及如何生成API文档。

micro, how to play engineer?

Micro, How to Play Engineer?

在现代微服务架构中,如何成为一名优秀的API工程师?本文将深入探讨微服务架构下的API管理、生命周期管理、流量治理以及服务治理框架等核心概念和实践。

micro, how to play select engineer mode?

MVC vs DDD

  • MVC

在MVC架构中,控制器负责决定流量的传递路径,从用户请求开始,通过控制器、模型和视图之间的协作,最终将结果返回给用户。控制器作为中心协调器,负责控制整个流程的顺序和逻辑。