Hello,
I’m trying to achieve what’s in the diagram below :

If you feel that you need to edit the diagram : link.
I’ve configured the Oracle Cloud part using the quickstart and it’s working all good.
The bottom part I’ve successfully done it with a tunneler instead of a private router, and now I’m trying to achieve the same thing but with routers.
First, I’m trying to understand the configuration files of each router type and it’s giving me headaches haha.
Correct me If I’m wrong, but , Instead of the private router, I cannot setup a Fabric Router instead with edge feature disabled, right ?
If I refer to the configuration files of a Fabric Router, an Edge Router and a Private Router of the docker compose quickstart.
Fabric router config file
...
link:
  dialers:
    - binding: transport
  listeners:
    - binding:          transport
      bind:             tls:0.0.0.0:10080
      advertise:        tls:ziti-fabric-router-br:10080
      options:
        outQueueSize:   4
#listeners:
# bindings of edge and tunnel requires an "edge" section below
#  - binding: edge
#    address: tls:0.0.0.0:3022
#    options:
#      advertise: ziti-fabric-router-br:3022
#      connectTimeoutMs: 1000
#      getSessionTimeout: 60s
#  - binding: tunnel
#    options:
#      mode: host #tproxy|host
csr:
  country: US
  province: NC
  locality: Charlotte
  organization: NetFoundry
  organizationalUnit: Ziti
  sans:
    dns:
      - ziti-fabric-router-br
      - localhost
    ip:
      - "127.0.0.1"
...
Private router config file
...
link:
  dialers:
    - binding: transport
#  listeners:
#    - binding:          transport
#      bind:             tls:0.0.0.0:10080
#      advertise:        tls:ziti-private-blue:10080
#      options:
#        outQueueSize:   4
listeners:
# bindings of edge and tunnel requires an "edge" section below
  - binding: edge
    address: tls:0.0.0.0:3022
    options:
      advertise: ziti-private-blue:3022
      connectTimeoutMs: 1000
      getSessionTimeout: 60s
  - binding: tunnel
    options:
      mode: host #tproxy|host
edge:
  csr:
    country: US
    province: NC
    locality: Charlotte
    organization: NetFoundry
    organizationalUnit: Ziti
    sans:
      dns:
        - ziti-private-blue
        - localhost
      ip:
        - "127.0.0.1"
...
Edge router config file
...
link:
  dialers:
    - binding: transport
  listeners:
    - binding:          transport
      bind:             tls:0.0.0.0:10080
      advertise:        tls:ziti-edge-router:10080
      options:
        outQueueSize:   4
listeners:
# bindings of edge and tunnel requires an "edge" section below
  - binding: edge
    address: tls:0.0.0.0:3022
    options:
      advertise: ziti-edge-router:3022
      connectTimeoutMs: 1000
      getSessionTimeout: 60s
  - binding: tunnel
    options:
      mode: host #tproxy|host
edge:
  csr:
    country: US
    province: NC
    locality: Charlotte
    organization: NetFoundry
    organizationalUnit: Ziti
    sans:
      dns:
        - ziti-edge-router
        - localhost
      ip:
        - "127.0.0.1"
...
the only difference is that Fabric has link.listeners only, Private has only listenersand Edge routers has both.
What I’m understanding by comparing those two config files is that :
- 
link.listenersis used to tell the router “Hey, listen on traffic coming from outside of the Ziti Overlay”
- 
listenerstells the router “Hey, listen on traffic coming from inside of the Ziti Overlay”
I’m not really confident when saying this, because it kinda looks wrong, I mean, why does a Fabric router should be routing traffic coming from outside ? Isn’t that the job of an Edge router ?
I hope my questions are meaningful to you, If not, I’d be glad to clarify things.
Regards,
Arslane
