<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki-ext.aps.anl.gov/blc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fcastro</id>
	<title>Beam Line Controls - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-ext.aps.anl.gov/blc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fcastro"/>
	<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=Special:Contributions/Fcastro"/>
	<updated>2026-06-03T23:46:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=SciStream_at_APS&amp;diff=808</id>
		<title>SciStream at APS</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=SciStream_at_APS&amp;diff=808"/>
		<updated>2025-04-14T18:21:23Z</updated>

		<summary type="html">&lt;p&gt;Fcastro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SciStream Tunnel Setup Guide =&lt;br /&gt;
&lt;br /&gt;
This guide provides step-by-step instructions on how to tunnel a connection through SciStream using &amp;lt;code&amp;gt;s2uc&amp;lt;/code&amp;gt; running from a container. This setup involves two endpoints, each running on separate hosts, to establish a secure tunnel(TLS) for forwarding packets.&lt;br /&gt;
&lt;br /&gt;
Scistream's API TLS certificates are on the test servers at &amp;lt;code&amp;gt;/local/scistream&amp;lt;/code&amp;gt;. Use the folder corresponding to the server -- i.e. on server1, always use /server1; on server2, use /server2.&lt;br /&gt;
&lt;br /&gt;
== How data flows through the tunnel ==&lt;br /&gt;
&lt;br /&gt;
The tunnel consists of parts that work together:&lt;br /&gt;
&lt;br /&gt;
'''Server side (Inbound Request):''' Destination that receives data. TCP server listens for connections.&lt;br /&gt;
'''Client side (Outbound Request):''' Source that sends data. TCP client that actively creates new connections&lt;br /&gt;
&lt;br /&gt;
** Your client application connects to the local port (5100) on the client machine&lt;br /&gt;
** The SciStream outbound request forwards this connection through the secure tunnel&lt;br /&gt;
** The SciStream inbound request receives the forwarded connection&lt;br /&gt;
** Data is delivered to your server application listening on the receiver port (5300)&lt;br /&gt;
&lt;br /&gt;
== Request Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Inbound Request (&amp;quot;Server side&amp;quot;: 192.168.150.1) ===&lt;br /&gt;
'''Purpose:''' Sets up the receiving end of the tunnel. This establishes a listener that waits for incoming connections from the outbound request and it forwards this connection to the &amp;lt;remote_ip&amp;gt;:&amp;lt;receiver_ports&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;podman run --rm --net=host -v ./server1:/scistream --entrypoint=s2uc castroflaviojr/scistream:1.2.1 inbound-request --remote_ip 192.168.150.1 --s2cs 192.168.150.1:5000 --receiver_ports 5300 --num_conn 1 --server_cert=/scistream/server.crt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Parameters:'''&lt;br /&gt;
** &amp;lt;code&amp;gt;--remote_ip&amp;lt;/code&amp;gt;: The address the user application is listening on.&lt;br /&gt;
** &amp;lt;code&amp;gt;--s2cs&amp;lt;/code&amp;gt;: The IP and port for the local s2cs scistream control server.&lt;br /&gt;
** &amp;lt;code&amp;gt;--receiver_ports&amp;lt;/code&amp;gt;: The port the user application is listening on (i.e. the user application is bound to {remote_ip:receiver_port}).&lt;br /&gt;
** &amp;lt;code&amp;gt;--num_conn&amp;lt;/code&amp;gt;: Number of connections to establish.&lt;br /&gt;
** &amp;lt;code&amp;gt;--server_cert&amp;lt;/code&amp;gt;: Path to the server certificate for TLS.&lt;br /&gt;
&lt;br /&gt;
'''Note the UID:'''&lt;br /&gt;
&lt;br /&gt;
After running the command, note the UID and listener port provided in the output. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uid; s2cs; access_token; role&lt;br /&gt;
bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.1:5000 INVALID_TOKEN PROD&lt;br /&gt;
sending client request message&lt;br /&gt;
started client request&lt;br /&gt;
waiting for hello message&lt;br /&gt;
sending for hello message&lt;br /&gt;
Hello message sent successfully&lt;br /&gt;
Listeners: ['192.168.150.1:5100']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outbound Request (&amp;quot;Client side&amp;quot;: 192.168.150.2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;podman run --rm --net=host -v ./server2:/scistream --entrypoint=s2uc castroflaviojr/scistream:1.2.1 outbound-request --remote_ip 192.168.150.1 --s2cs 192.168.150.2:5000 --receiver_ports 5100 --num_conn 1 --server_cert=/scistream/server.crt bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.1:5100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Parameters:'''&lt;br /&gt;
** &amp;lt;code&amp;gt;--remote_ip&amp;lt;/code&amp;gt;: The eventual destination IP address we want data to be forwarded to.&lt;br /&gt;
** &amp;lt;code&amp;gt;--s2cs&amp;lt;/code&amp;gt;: The IP and port for the local s2cs scistream control server.&lt;br /&gt;
** &amp;lt;code&amp;gt;--receiver_ports&amp;lt;/code&amp;gt;: Local port which the client application will connect to.&lt;br /&gt;
** &amp;lt;code&amp;gt;--num_conn&amp;lt;/code&amp;gt;: Number of connections to establish.&lt;br /&gt;
** &amp;lt;code&amp;gt;--server_cert&amp;lt;/code&amp;gt;: Path to the server certificate for TLS.&lt;br /&gt;
** &amp;lt;code&amp;gt;UID&amp;lt;/code&amp;gt;: Use the UID noted from the inbound request.&lt;br /&gt;
** &amp;lt;code&amp;gt;IP:PORT&amp;lt;/code&amp;gt;: Use the IP and port noted from the inbound request.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uid; s2cs; access_token; role&lt;br /&gt;
bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.2:5000 INVALID_TOKEN CONS&lt;br /&gt;
started client request&lt;br /&gt;
waiting for hello message&lt;br /&gt;
Hello message sent successfully&lt;br /&gt;
Listeners: ['192.168.150.2:5100']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
&lt;br /&gt;
* '''Check Listening Ports:'''&lt;br /&gt;
&lt;br /&gt;
On both hosts, verify that the &amp;lt;code&amp;gt;stunnel&amp;lt;/code&amp;gt; processes are listening on the expected ports using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ss -tlpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Test the Tunnel:'''&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;iperf3&amp;lt;/code&amp;gt; to test the tunnel:&lt;br /&gt;
&lt;br /&gt;
* '''Client Side (Host 192.168.150.2):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iperf3 -c 192.168.150.2 -p 5100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Server Side (Host 192.168.150.1):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iperf3 -s -p 5300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Closing the Connection ==&lt;br /&gt;
&lt;br /&gt;
To close a connection request, use the &amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt; option with &amp;lt;code&amp;gt;s2uc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;s2uc release &amp;lt;uid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fcastro</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=SciStream_at_APS&amp;diff=807</id>
		<title>SciStream at APS</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=SciStream_at_APS&amp;diff=807"/>
		<updated>2025-04-14T18:20:06Z</updated>

		<summary type="html">&lt;p&gt;Fcastro: /* How data flows through the tunnel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SciStream Tunnel Setup Guide =&lt;br /&gt;
&lt;br /&gt;
This guide provides step-by-step instructions on how to tunnel a connection through SciStream using &amp;lt;code&amp;gt;s2uc&amp;lt;/code&amp;gt; running from a container. This setup involves two endpoints, each running on separate hosts, to establish a secure tunnel(TLS) for forwarding packets.&lt;br /&gt;
&lt;br /&gt;
Scistream's API TLS certificates are on the test servers at &amp;lt;code&amp;gt;/local/scistream&amp;lt;/code&amp;gt;. Use the folder corresponding to the server -- i.e. on server1, always use /server1; on server2, use /server2.&lt;br /&gt;
&lt;br /&gt;
== How data flows through the tunnel ==&lt;br /&gt;
&lt;br /&gt;
The tunnel consists of parts that work together:&lt;br /&gt;
&lt;br /&gt;
'''Server side (Inbound Request):''' Destination that receives data. TCP server listens for connections.&lt;br /&gt;
'''Client side (Outbound Request):''' Source that sends data. TCP client that actively creates new connections&lt;br /&gt;
&lt;br /&gt;
* Your client application connects to the local port (5100) on the client machine&lt;br /&gt;
** The SciStream outbound request forwards this connection through the secure tunnel&lt;br /&gt;
** The SciStream inbound request receives the forwarded connection&lt;br /&gt;
** Data is delivered to your server application listening on the receiver port (5300)&lt;br /&gt;
&lt;br /&gt;
== Request Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Inbound Request (&amp;quot;Server side&amp;quot;: 192.168.150.1) ===&lt;br /&gt;
'''Purpose:''' Sets up the receiving end of the tunnel. This establishes a listener that waits for incoming connections from the outbound request and it forwards this connection to the &amp;lt;remote_ip&amp;gt;:&amp;lt;receiver_ports&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;podman run --rm --net=host -v ./server1:/scistream --entrypoint=s2uc castroflaviojr/scistream:1.2.1 inbound-request --remote_ip 192.168.150.1 --s2cs 192.168.150.1:5000 --receiver_ports 5300 --num_conn 1 --server_cert=/scistream/server.crt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Parameters:'''&lt;br /&gt;
** &amp;lt;code&amp;gt;--remote_ip&amp;lt;/code&amp;gt;: The address the user application is listening on.&lt;br /&gt;
** &amp;lt;code&amp;gt;--s2cs&amp;lt;/code&amp;gt;: The IP and port for the local s2cs scistream control server.&lt;br /&gt;
** &amp;lt;code&amp;gt;--receiver_ports&amp;lt;/code&amp;gt;: The port the user application is listening on (i.e. the user application is bound to {remote_ip:receiver_port}).&lt;br /&gt;
** &amp;lt;code&amp;gt;--num_conn&amp;lt;/code&amp;gt;: Number of connections to establish.&lt;br /&gt;
** &amp;lt;code&amp;gt;--server_cert&amp;lt;/code&amp;gt;: Path to the server certificate for TLS.&lt;br /&gt;
&lt;br /&gt;
'''Note the UID:'''&lt;br /&gt;
&lt;br /&gt;
After running the command, note the UID and listener port provided in the output. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uid; s2cs; access_token; role&lt;br /&gt;
bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.1:5000 INVALID_TOKEN PROD&lt;br /&gt;
sending client request message&lt;br /&gt;
started client request&lt;br /&gt;
waiting for hello message&lt;br /&gt;
sending for hello message&lt;br /&gt;
Hello message sent successfully&lt;br /&gt;
Listeners: ['192.168.150.1:5100']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outbound Request (&amp;quot;Client side&amp;quot;: 192.168.150.2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;podman run --rm --net=host -v ./server2:/scistream --entrypoint=s2uc castroflaviojr/scistream:1.2.1 outbound-request --remote_ip 192.168.150.1 --s2cs 192.168.150.2:5000 --receiver_ports 5100 --num_conn 1 --server_cert=/scistream/server.crt bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.1:5100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Parameters:'''&lt;br /&gt;
** &amp;lt;code&amp;gt;--remote_ip&amp;lt;/code&amp;gt;: The eventual destination IP address we want data to be forwarded to.&lt;br /&gt;
** &amp;lt;code&amp;gt;--s2cs&amp;lt;/code&amp;gt;: The IP and port for the local s2cs scistream control server.&lt;br /&gt;
** &amp;lt;code&amp;gt;--receiver_ports&amp;lt;/code&amp;gt;: Local port which the client application will connect to.&lt;br /&gt;
** &amp;lt;code&amp;gt;--num_conn&amp;lt;/code&amp;gt;: Number of connections to establish.&lt;br /&gt;
** &amp;lt;code&amp;gt;--server_cert&amp;lt;/code&amp;gt;: Path to the server certificate for TLS.&lt;br /&gt;
** &amp;lt;code&amp;gt;UID&amp;lt;/code&amp;gt;: Use the UID noted from the inbound request.&lt;br /&gt;
** &amp;lt;code&amp;gt;IP:PORT&amp;lt;/code&amp;gt;: Use the IP and port noted from the inbound request.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uid; s2cs; access_token; role&lt;br /&gt;
bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.2:5000 INVALID_TOKEN CONS&lt;br /&gt;
started client request&lt;br /&gt;
waiting for hello message&lt;br /&gt;
Hello message sent successfully&lt;br /&gt;
Listeners: ['192.168.150.2:5100']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
&lt;br /&gt;
* '''Check Listening Ports:'''&lt;br /&gt;
&lt;br /&gt;
On both hosts, verify that the &amp;lt;code&amp;gt;stunnel&amp;lt;/code&amp;gt; processes are listening on the expected ports using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ss -tlpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Test the Tunnel:'''&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;iperf3&amp;lt;/code&amp;gt; to test the tunnel:&lt;br /&gt;
&lt;br /&gt;
* '''Client Side (Host 192.168.150.2):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iperf3 -c 192.168.150.2 -p 5100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Server Side (Host 192.168.150.1):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iperf3 -s -p 5300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Closing the Connection ==&lt;br /&gt;
&lt;br /&gt;
To close a connection request, use the &amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt; option with &amp;lt;code&amp;gt;s2uc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;s2uc release &amp;lt;uid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fcastro</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=SciStream_at_APS&amp;diff=806</id>
		<title>SciStream at APS</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=SciStream_at_APS&amp;diff=806"/>
		<updated>2025-04-14T18:19:31Z</updated>

		<summary type="html">&lt;p&gt;Fcastro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= SciStream Tunnel Setup Guide =&lt;br /&gt;
&lt;br /&gt;
This guide provides step-by-step instructions on how to tunnel a connection through SciStream using &amp;lt;code&amp;gt;s2uc&amp;lt;/code&amp;gt; running from a container. This setup involves two endpoints, each running on separate hosts, to establish a secure tunnel(TLS) for forwarding packets.&lt;br /&gt;
&lt;br /&gt;
Scistream's API TLS certificates are on the test servers at &amp;lt;code&amp;gt;/local/scistream&amp;lt;/code&amp;gt;. Use the folder corresponding to the server -- i.e. on server1, always use /server1; on server2, use /server2.&lt;br /&gt;
&lt;br /&gt;
== How data flows through the tunnel ==&lt;br /&gt;
The tunnel consists of parts that work together:&lt;br /&gt;
&lt;br /&gt;
'''Server side (Inbound Request):''' Destination that receives data. TCP server listens for connections.&lt;br /&gt;
'''Client side (Outbound Request):''' Source that sends data. TCP client that actively creates new connections&lt;br /&gt;
&lt;br /&gt;
* Your client application connects to the local port (5100) on the client machine&lt;br /&gt;
** The SciStream outbound request forwards this connection through the secure tunnel&lt;br /&gt;
** The SciStream inbound request receives the forwarded connection&lt;br /&gt;
** Data is delivered to your server application listening on the receiver port (5300)&lt;br /&gt;
&lt;br /&gt;
== Request Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Inbound Request (&amp;quot;Server side&amp;quot;: 192.168.150.1) ===&lt;br /&gt;
'''Purpose:''' Sets up the receiving end of the tunnel. This establishes a listener that waits for incoming connections from the outbound request and it forwards this connection to the &amp;lt;remote_ip&amp;gt;:&amp;lt;receiver_ports&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;podman run --rm --net=host -v ./server1:/scistream --entrypoint=s2uc castroflaviojr/scistream:1.2.1 inbound-request --remote_ip 192.168.150.1 --s2cs 192.168.150.1:5000 --receiver_ports 5300 --num_conn 1 --server_cert=/scistream/server.crt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Parameters:'''&lt;br /&gt;
** &amp;lt;code&amp;gt;--remote_ip&amp;lt;/code&amp;gt;: The address the user application is listening on.&lt;br /&gt;
** &amp;lt;code&amp;gt;--s2cs&amp;lt;/code&amp;gt;: The IP and port for the local s2cs scistream control server.&lt;br /&gt;
** &amp;lt;code&amp;gt;--receiver_ports&amp;lt;/code&amp;gt;: The port the user application is listening on (i.e. the user application is bound to {remote_ip:receiver_port}).&lt;br /&gt;
** &amp;lt;code&amp;gt;--num_conn&amp;lt;/code&amp;gt;: Number of connections to establish.&lt;br /&gt;
** &amp;lt;code&amp;gt;--server_cert&amp;lt;/code&amp;gt;: Path to the server certificate for TLS.&lt;br /&gt;
&lt;br /&gt;
'''Note the UID:'''&lt;br /&gt;
&lt;br /&gt;
After running the command, note the UID and listener port provided in the output. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uid; s2cs; access_token; role&lt;br /&gt;
bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.1:5000 INVALID_TOKEN PROD&lt;br /&gt;
sending client request message&lt;br /&gt;
started client request&lt;br /&gt;
waiting for hello message&lt;br /&gt;
sending for hello message&lt;br /&gt;
Hello message sent successfully&lt;br /&gt;
Listeners: ['192.168.150.1:5100']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outbound Request (&amp;quot;Client side&amp;quot;: 192.168.150.2) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;podman run --rm --net=host -v ./server2:/scistream --entrypoint=s2uc castroflaviojr/scistream:1.2.1 outbound-request --remote_ip 192.168.150.1 --s2cs 192.168.150.2:5000 --receiver_ports 5100 --num_conn 1 --server_cert=/scistream/server.crt bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.1:5100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Parameters:'''&lt;br /&gt;
** &amp;lt;code&amp;gt;--remote_ip&amp;lt;/code&amp;gt;: The eventual destination IP address we want data to be forwarded to.&lt;br /&gt;
** &amp;lt;code&amp;gt;--s2cs&amp;lt;/code&amp;gt;: The IP and port for the local s2cs scistream control server.&lt;br /&gt;
** &amp;lt;code&amp;gt;--receiver_ports&amp;lt;/code&amp;gt;: Local port which the client application will connect to.&lt;br /&gt;
** &amp;lt;code&amp;gt;--num_conn&amp;lt;/code&amp;gt;: Number of connections to establish.&lt;br /&gt;
** &amp;lt;code&amp;gt;--server_cert&amp;lt;/code&amp;gt;: Path to the server certificate for TLS.&lt;br /&gt;
** &amp;lt;code&amp;gt;UID&amp;lt;/code&amp;gt;: Use the UID noted from the inbound request.&lt;br /&gt;
** &amp;lt;code&amp;gt;IP:PORT&amp;lt;/code&amp;gt;: Use the IP and port noted from the inbound request.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uid; s2cs; access_token; role&lt;br /&gt;
bd9f1a7e-04d7-11f0-b44c-946dae415862 192.168.150.2:5000 INVALID_TOKEN CONS&lt;br /&gt;
started client request&lt;br /&gt;
waiting for hello message&lt;br /&gt;
Hello message sent successfully&lt;br /&gt;
Listeners: ['192.168.150.2:5100']&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
&lt;br /&gt;
* '''Check Listening Ports:'''&lt;br /&gt;
&lt;br /&gt;
On both hosts, verify that the &amp;lt;code&amp;gt;stunnel&amp;lt;/code&amp;gt; processes are listening on the expected ports using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ss -tlpn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Test the Tunnel:'''&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;iperf3&amp;lt;/code&amp;gt; to test the tunnel:&lt;br /&gt;
&lt;br /&gt;
* '''Client Side (Host 192.168.150.2):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iperf3 -c 192.168.150.2 -p 5100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Server Side (Host 192.168.150.1):'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;iperf3 -s -p 5300&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Closing the Connection ==&lt;br /&gt;
&lt;br /&gt;
To close a connection request, use the &amp;lt;code&amp;gt;release&amp;lt;/code&amp;gt; option with &amp;lt;code&amp;gt;s2uc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;s2uc release &amp;lt;uid&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fcastro</name></author>
	</entry>
</feed>