Node icon indicating copy to clipboard operation
Node copied to clipboard

Entry_DNS component toggle for Node

Open kauri-hero opened this issue 1 year ago • 3 comments

Currently when the MASQ starts, it always runs with entry_dns on and port 53 is listened to by Node.

Design a way to allow a startup parameter to be toggled that will turn off entry_dns and not require Node to listen on port 53, so other software can listen on the port unobstructed.

*Consider removing the entry_dns component, if system wide subversion is never to be a "thing"

Present a log to user to remind them that they will need to proxy network traffic/software to MASQ for privacy routing

ALSO check the daemon to ensure that entry_dns is not starting when daemon is running - there is a chance that this was turned on during some

SUGGESTIONS from Dan:

  • Leave the entry_dns server in MASQNode for now, just in case it becomes useful in a system too small to have extensive proxying powers.
  • In ServerInitializerReal, make the dns_socket_server field an Option. Start it out as None.
  • Modify ServerInitializerReal::go() so that it needs a particular value from the multi_config before it will construct self.dns_socket_server and call .initialize_as_privileged() and .initialize_as_unprivileged() on it. That way, unless the user specifies something like --entry-dns on, there will be no contention over Port 53.
  • Put help in shared_schema.rs that explains to the user the consequences of both --entry-dns on and --entry-dns off (which should be the default).

Command for inspecting processes with MASQNode macOS ps -ef | grep MASQNode (includes this command)

window netstat -ano

List processes listening on port 53: macOS lsof -Pn -i :53

kauri-hero avatar Apr 21 '24 20:04 kauri-hero

Suggestions:

  • Leave the entry_dns server in MASQNode for now, just in case it becomes useful in a system too small to have extensive proxying powers.
  • In ServerInitializerReal, make the dns_socket_server field an Option. Start it out as None.
  • Modify ServerInitializerReal::go() so that it needs a particular value from the multi_config before it will construct self.dns_socket_server and call .initialize_as_privileged() and .initialize_as_unprivileged() on it. That way, unless the user specifies something like --entry-dns on, there will be no contention over Port 53.
  • Put help in shared_schema.rs that explains to the user the consequences of both --entry-dns on and --entry-dns off (which should be the default).

dnwiebe avatar May 20 '24 11:05 dnwiebe

Other card duplicate to this is: https://github.com/MASQ-Project/MASQ-Node-issues/issues/153

kauri-hero avatar May 28 '24 04:05 kauri-hero

this is somewhat related to old card #446

kauri-hero avatar May 28 '24 04:05 kauri-hero