Hi All,
Im using tproxy
intercept on a local Ziti router and trying to forward traffic to a remote router on a VPC (contabo-router
) which acts as the egress/terminator, this then has a nat rule where the traffic carries on to a to a raspberry Pi (10.12.10.9
) where we connect over SSH (port 22
).
This is part of a setup to transparently redirect and route SSH traffic from a docker container into a remote network using OpenZiti and the sidecar trick.
The actual ziti tunnels are running over an existing overlay / vpn where I'm using Zerotier, and I've verified end-to-end routing, DNS, and local iptables as well as even checking for MTU issues.
OpenZiti is working to the extent that intercepted traffic triggers attempts to build the connection and traffic is seen on the local end (via tcpdump) where the source ip is 10.12.10.9 and the dest ip is 10.12.10.9 and this goes into the loopback interface (assume this is the ingress part of sending it to the ziti tunnel)
However I thought it strange it has the source address of 10.12.10.9 which is the destination which kind of seems wrong? How can a source and a destination be the same? Yet traffic does actually get to the remote tunnel router (contabo) it does egress and the manual nat rule works and translates the IP and it carries on to the Pi which receives the traffic and responds, but then there is a timeout its like the client side never responds and something cuts it off mid conversation?
Also I see the following other items of interest:
When I run the command to show circuits, I never see any circuits created? is this normal behaviour? Even when running "watch" command to see if its a transient circuit thats created and then torn down I never see anything?
Terminators are up and running by the looks of things.
I have some errors seen in the logs along the lines of
"failed to dial fabric - invalid link destination"
My other issue is tha when I try with my snmp / udp /161 intercept, I see the traffic ingress to the loopback but this time nothing leaves the remote side, it like it just is lost in the ether and never appears at the other end. I'm guessing this is something different.
[root]# ziti fabric list links
╭────────────────────────┬────────────────────┬────────────────────┬─────────────┬─────────────┬─────────────┬───────────┬────────┬───────────╮
│ ID │ DIALER │ ACCEPTOR │ STATIC COST │ SRC LATENCY │ DST LATENCY │ STATE │ STATUS │ FULL COST │
├────────────────────────┼────────────────────┼────────────────────┼─────────────┼─────────────┼─────────────┼───────────┼────────┼───────────┤
│ 4JNfJj13dgYpiJNLB45g5E │ local-router-lsk15 │ contabo-router │ 1 │ 2.4ms │ 65000.0ms │ Connected │ up │ 65003 │
│ 7VDFWpQK2BNfEJSqNDlyyL │ contabo-router │ local-router-lsk15 │ 1 │ 4.1ms │ 65000.0ms │ Connected │ up │ 65005 │
╰────────────────────────┴────────────────────┴────────────────────┴─────────────┴─────────────┴─────────────┴───────────┴────────┴───────────╯
results: 1-2 of 2
[wiz-contabo-srv-01:openziti-controller]
[root]# ziti edge list edge-routers
╭───────────┬────────────────────┬────────┬───────────────┬──────┬────────────╮
│ ID │ NAME │ ONLINE │ ALLOW TRANSIT │ COST │ ATTRIBUTES │
├───────────┼────────────────────┼────────┼───────────────┼──────┼────────────┤
│ xUEQ-4UCo │ local-router-lsk15 │ true │ true │ 0 │ public │
│ xcPcN-mto │ contabo-router │ true │ true │ 0 │ public │
╰───────────┴────────────────────┴────────┴───────────────┴──────┴────────────╯
results: 1-2 of 2