probetest

command
v0.0.0-...-6445a88 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2024 License: BSD-3-Clause Imports: 15 Imported by: 0

README

Table of Contents

This is code for a remote probe test component of Snowflake.

Overview

This is a probe test server to allow proxies to test their compatability with Snowflake. Right now the only type of test implemented is a compatability check for clients with symmetric NATs.

Running your own

The server uses TLS by default. There is a --disable-tls option for testing purposes, but you should use TLS in production.

To build the probe server, run go build

To deploy the probe server, first set the necessary env variables with

export HOSTNAMES=${YOUR HOSTNAMES}
export EMAIL=${YOUR EMAIL}

then run docker-compose up

Setting up a symmetric NAT configuration requires a few extra steps. After upping the docker container, run docker inspect snowflake-probetest to find the subnet used by the probetest container. Then run sudo iptables -L -t nat to find the POSTROUTING rules for the subnet. It should look something like this:

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  172.19.0.0/16        anywhere

to modify this rule, execute the command sudo iptables -t nat -R POSTROUTING $RULE_NUM -s 172.19.0.0/16 -j MASQUERADE --random where RULE_NUM is the numbered rule corresponding to your docker container's subnet masquerade rule. Afterwards, you should see the rule changed to be:

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  172.19.0.0/16        anywhere      random

Documentation

Overview

Probe test server to check the reachability of Snowflake proxies from clients with symmetric NATs.

The probe server receives an offer from a proxy, returns an answer, and then attempts to establish a datachannel connection to that proxy. The proxy will self-determine whether the connection opened successfully.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL