Files
ziti/tunnel/intercept/protocol.md
T
Shawn Carey 2110aba5c1 host.v1 configuration type schema changes (#631)
- Rename host.v1 dialIntercepted* properties to forward*
- Add allowed* properties to whitelist destinations that are dialed via forward*
- Add allowedSourceAddresses, which serves as a whitelist for source IPs/CIDRs and informs the hosting tunneler of the local routes to establish when hosting a service
2021-04-13 07:48:47 -04:00

50 lines
1.6 KiB
Markdown

# Notes about inter-tunneler communications
## AppData
The tunneler intercept side can send data to the hosting side, out-of-band as part of the connection
setup. This data is passed as 'appData' and sent as a JSON map.
The JSON map may contain the following fields:
### dst_protocol
The protocol (tcp/udp) of the intercepted traffic. Used by the hosting tunneler if the configuration
has `forwardProtocol`. When the service is dialed, it will forward using the same protocol
that was intercepted.
### dst_ip
The destination IP address of the intercepted traffic. Used by the hosting tunneler if the
configuration has `forwardAddress`. When the service is dialed, it will forward to the same
IP address that was intercepted.
### dst_port
The destination port of the intercepted traffic. Used by the hosting tunneler if the configuration
has `forwardPort`. When the service is dialed, it will forward to the same port that was
intercepted.
### src_ip
The source ip of the intercepted traffic. Used on the intercept side to as an input to the source_addr
template. Not currently used on the hosting side.
### src_port
The source port of the intercepted traffic. Used on the intercept side to as an input to the
source_addr template. Not currently used on the hosting side.
### source_addr
The source address to spoof for traffic exiting the hosting tunneler. Used to implement transparent IP.
May contain variable references:
- $src_ip
- $tunneler_id.name
- $tunneler_id.tag[TAGNAME]
`source_addr` may optionally include a semicolon-separated port. The `src_port` and `dst_port` appData
values can be referenced as variables; e.g.:
- $src_ip:$src_port
- $src_ip:$dst_port