Supported protocols or targets?

Is there any list of available protocols and/or target types to integrate with?
From the documentation I can see SSH or RDP, but the references are quite limited at this time.

Cheers,
Jan

Hi @jantytgat - thanks for the question.

The only supported target type is TCP: https://www.boundaryproject.io/docs/concepts/domain-model/targets#tcp-target-attributes

We do provide application level overlays for boundary connect, which is what you’re referring to here. You can see those supported subcommands in our CLI help output:

$ boundary connect -h
<truncated output>
Subcommands:
http        Authorize a session against a target and invoke an HTTP client to connect
postgres    Authorize a session against a target and invoke a Postgres client to connect
rdp         Authorize a session against a target and invoke an RDP client to connect
ssh         Authorize a session against a target and invoke an SSH client to connect
1 Like

To be clear, application-level protocol support will be introduced over time as we can build them in, which will allow for further functionality such as credential injection. However, we started with TCP because of its broad applicability.

1 Like

Is it possible to RDP from boundary using a ubuntu system?

In the help its written we can use mstsc for windows and open for mac, but ubuntu uses remmina

Thanks!

@glades95 - you can arbitrarily override what application Boundary wraps using the -exec flag:

boundary connect -h
<truncated>.
 -exec=<string>
      If set, after connecting to the worker, the given binary will be
      executed. This should be a binary on your path, or an absolute path. If
      all command flags are followed by " -- " (space, two hyphens, space),
      then any arguments after that will be sent directly to the binary.
      This can also be specified via the BOUNDARY_CONNECT_EXEC environment
      variable.
<truncated>

I would wrap your RDP client with this, you can then pass flags with the -- construction:

boundary connect -exec <my_rdp_client> -target-id ttcp_1234567890 -- <my_rdp_client_flags> 

Also we could support other styles for the command!

On *nix it isn’t super clear what a default should be…rdesktop, xfreerdp, I haven’t even heard of remmina before :slight_smile: But even if there isn’t an obvious default we can support styles for sure.

I tried connecting boundary using FreeRDP to connect to my windows server

I could connect to the machine which have public IP address

BOUNDARY_ADDR=‘https://abc.com’ boundary connect -exec xfreerdp -target-id ttcp_j0cELv3UI5 – /u:“Admin” /v:xxxx:3389

But i couldnt connect to the ones which are in private subnet and do not have a public ip

BOUNDARY_ADDR=‘https://abc.com’ boundary connect -exec xfreerdp -target-id ttcp_j0cELv3UI5 – /u:“Admin” /v:172.30.0.95:3389

I am getting this error

[12:09:00:017] [21326:21327] [INFO][com.freerdp.core] - freerdp_connect:freerdp_set_last_error_ex resetting error state
[12:09:00:017] [21326:21327] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[12:09:00:017] [21326:21327] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[12:09:00:017] [21326:21327] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[12:09:00:347] [21326:21327] [INFO][com.freerdp.primitives] - primitives autodetect, using optimized
[12:09:00:348] [21326:21327] [INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[12:09:00:348] [21326:21327] [INFO][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex resetting error state
[12:09:16:363] [21326:21327] [ERROR][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex ERRCONNECT_CONNECT_FAILED [0x00020006]
[12:09:16:363] [21326:21327] [ERROR][com.freerdp.core] - failed to connect to 172.30.1.126

This issue seems to be from freerdp but if that was the case i shouldnt be able to connect to the public instance as well.

Can you help me out here please

I tried to rdp from linux using boundary connect with freerdp

with freerdp or any other tool, i need to pass private ip address in the command then the connection cannot be established.

I can rdp into my machine which has public ip, but cannot rdp into private subnet

This is the command i am using

boundary connect rdp -exec xfreerdp -target-id ttcp_1DAotUt8hV – /u:“AR-WM” /v:172.30.1.126:3389

I tried connecting from from windows machine could do it easily but facing issue with linux system

I am really stuck with this, Can someone please help

Thanks

We don’t have a xfreerdp style for the command so we aren’t inserting the proxied address for you. I don’t have familiarity with xfreerdp but my guess is that your /v flag needs to be /v:{{boundary.addr}}

1 Like

It worked! thanks a lot!!