1.istio将入站和出站流量全部打入指定端口,那么是如何区分这些流量的七层是什么协议?
目标端口
2.tproxy为啥对outbound无解?
已经解决了 之前是因为output在route之后,现在有reroute check
3.tproxy+sockmap方案原理
fix
4.方案3现在遇到了三个问题
1.在机器上请求百度,虽然被mesh拦截到了,转发却失败了--解决
2.在另外一台机器上直接请求9301非mesh端口,却收不到请求
3.sockmap还未使用
对于如何拦截请求并转发给服务提供方,来说透明代理有以下问题,这个解决了 就可以上ebpf
要去区分只能代理访问目标系统的端口,但是如何区分这个是代理的流量?因为我是采用的tproxy,所以我的源ip都是真实的不是本机的
上述问题可以通过in 是否来自lo网卡 是的话则说明要么是sidecar自己访问自己 要么是代理系统自己访问自己 要么就是sidecar访问代理系统
对于无法区分进入的流量是从其他sidecar发过来的 还是本地sidecar转发的 可以通过mark标识 有mark的代表是本地sidecar转发的不走tproxy拦截----iptables -t mangle -I ISTIO_INBOUND 5 -p tcp -m mark --mark 0x539 -j RETURN