美文网首页
Dnat VS Redirect VS Tproxy

Dnat VS Redirect VS Tproxy

作者: clive0x | 来源:发表于2020-02-15 17:50 被阅读0次

    最近在看Envoy文档,看到Tproxy不认识,找资料记录一下:

    Dnat:通过iptable nat表变更目标IP和PORT,需要修改数据包,走IPTABLE需要过内核。

    Redirect:特殊的Dnat,只变更目标端口,这种场景下只有两台机器通讯。

    TPROXY:开启TCP/IP IP_TRANSPARENT标志,数据在两个SOCKTS间复制,proxy服务器连接如下:

    proxy_ip:proxy_port                                 downstream_ip:downstream_port (pid=xxx,fd=5)

    downstream_ip:downstream_port            upstream_ip:upstream_port(pid=xxx,fd=6)

    关键在与upstream host连接时,使用downstream ip and port,just like proxy (envoy) not exits.

    这种场景不走kernel,不需要开启ip_forward,不需要开启connection_tracking。

    Envoy文档提及SO_ORIGINAL_DST TCP/IP SO OPTIONS,这个参数只能用于DNAT及其变种REDIRECT模式,不能用于TPROXY模式。用于获取需要重定向的目标地址。

    source http://gsoc-blog.ecklm.com/iptables-redirect-vs.-dnat-vs.-tproxy/

    相关文章

      网友评论

          本文标题:Dnat VS Redirect VS Tproxy

          本文链接:https://www.haomeiwen.com/subject/wcsyfhtx.html