bmx-routing / bmx7

BMX7 / SEMTOR Securely Entrusted Mesh Routing Protocol
GNU General Public License v2.0
63 stars 15 forks source link

runtimeDir not used for connect #55

Closed mwarning closed 3 years ago

mwarning commented 4 years ago

When bmx7 is started with runtimeDir:

bmx7 --runtimeDir /tmp/bmx7 dev=br-c1

A connection does not take into account runtimeDir:

bmx7 -c --runtimeDir /tmp/bmx7
[13966        1] ERROR : can't connect to unix socket '/var/run/bmx7/sock': No such file or directory ! Is bmx7 running on this host ?

I would have expected that /tmp/bmx7/sock is used.

axn commented 4 years ago

Try to put --runtimeDir before -c

Am 4. Juni 2020 22:41:30 MESZ schrieb Moritz Warning notifications@github.com:

When bmx7 is started with runtimeDir:

bmx7 --runtimeDir /tmp/bmx7 dev=br-c1

A connection does not take into account runtimeDir:

bmx7 -c --runtimeDir /tmp/bmx7
[13966        1] ERROR : can't connect to unix socket
'/var/run/bmx7/sock': No such file or directory ! Is bmx7 running on
this host ?

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/bmx-routing/bmx7/issues/55

-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

mwarning commented 4 years ago

That does not seem to be allowed:

$ sudo bmx7 --runtimeDir /tmp/bmx7 -c
ERROR apply_stream_opts: invalid argument: (null)
dangowrt commented 3 years ago

I've tried this in multiple ways and it works for me. The original command @mwarning is stating above doesn't work, but that's simply because it's missing a command. bmx7 --runtimeDir /tmp/bmx7 -c s=o does work for me.

mwarning commented 3 years ago

Thanks, I will try later. Maybe I can then debug why bmx7 is not routing packets in my setup.

dangowrt commented 3 years ago

Thanks, I will try later. Maybe I can then debug my bmx7 is not routing packets.

You also need to make sure they use different /etc/bmx7 directory, so they end up with different private RSA keys and descSqn files (the latter you also need to make sure for bmx6 is just the same way). Ie. set --keyPath (defaults to /etc/bmx7/rsa.der) and --descSqnPath (defaults to /etc/bmx7/descSqn) to be different for each instance as well.

mwarning commented 3 years ago

bmx7 --runtimeDir /tmp/bmx7 -c s=o works for me as well! :D s=o seems to be short for show=originators .

Now I can start to debug bmx7 routing.

mwarning commented 3 years ago

I use bmx7 --runtimeDir /tmp/bmx7_${id} --nodeRsaKey 6 /keyPath=/tmp/bmx7_${id}/rsa.der --trustedNodesDir=/tmp/bmx7_${id}/trusted dev=uplink for bmx7 (https://github.com/mwarning/meshnet-lab/blob/master/protocols/bmx7_start.sh#L27).

and bmx6 --runtimeDir "/tmp/bmx6_${id}" dev=uplink for bmx6 (https://github.com/mwarning/meshnet-lab/blob/master/protocols/bmx6_start.sh#L29).

Looks like I need to add more configuration. Let me know if I missed something.

dangowrt commented 3 years ago

I use bmx7 --runtimeDir /tmp/bmx7_${id} --nodeRsaKey 6 /keyPath=/tmp/bmx7_${id}/rsa.der --trustedNodesDir=/tmp/bmx7_${id}/trusted dev=uplink for bmx7 (https://github.com/mwarning/meshnet-lab/blob/master/protocols/bmx7_start.sh#L27).

Do not set trustedNodesDir unless you are planning to make use of semtor features. Once you set trustedNodes dir, you also need to populate that directory, otherwise all other nodes are untrusted and no routing will happen between them. And make sure to also set --descSqnPath to different paths for each instance (which you should do for bmx6 as well!)