How to run tunnel_server from SimpleTunnel example

I am attemtping to establish a tcp connection with a MacOS per-app vpn client to a tunnel_server similar to the one provided in the SimpleTunnel example. I have already converted the tunnel_server code to Swift 3 and believe it works. I ran it (./tunnel_server 8889 tunnel_server/config.plist) on terminal and got the following:

2018-08-06 14:37:40.883 tunnel_server[86851:3286192] Starting network service on port 8889

2018-08-06 14:37:41.642 tunnel_server[86851:3286192] Network service published successfully


However I am still unable to connect my per-app vpn to the server. I believe it might have to do with the "EndAddress" and "StartAddress" in the config.plist for the tunnel_server and the remote address to which my per app vpn is trying to connect to.


Should I be using the default "EndAddress" and "StartAddress" Config.plist values provided in the SimpleTunnel example or should it be something else? (Currently using default values provided in example code)

Does the port number matter? (Im currently using 8889 when I run on terminal).


And in terms of my per app vpn configuration server address value, should it match either the "EndAddress" or the "StartAddress" along with a colon and port number? (ex: deafultIPAddress:8889)

Accepted Reply

Update: I misunderstood, tunnel_server is indeed connecting correctly. The "EndAddress" and "StartAddress" are just the private IPs that will be assigned to the both endpoints of the tunnel from the client and the server.
In terms of the configuration profile, remote address should include the Mac IP address followed by ":" and the port number which the server is being run on.
My issue is something else probably.

  • @t-joave How do you make the connection?

    I'm trying to make it but the server returns

    [] nw_endpoint_create_with_peer_name getpeername failed [22: Invalid argument] [] tcp_listener_accept_locked tcp_connection_create_inbound() returned non-zero

    Program ended with exit code: 9

Add a Comment

Replies

Update: I misunderstood, tunnel_server is indeed connecting correctly. The "EndAddress" and "StartAddress" are just the private IPs that will be assigned to the both endpoints of the tunnel from the client and the server.
In terms of the configuration profile, remote address should include the Mac IP address followed by ":" and the port number which the server is being run on.
My issue is something else probably.

  • @t-joave How do you make the connection?

    I'm trying to make it but the server returns

    [] nw_endpoint_create_with_peer_name getpeername failed [22: Invalid argument] [] tcp_listener_accept_locked tcp_connection_create_inbound() returned non-zero

    Program ended with exit code: 9

Add a Comment