Everything works fine, except each evening the telnet server stops listening on ipv4. I can log in via ipv6 (localhost - i don't actually have ipv6 setup) but trying to log in via ipv4 results in connection refused.
Restarting sbbs brings the telnet server back up.
I'm not sure where to even begin troubleshooting this. My telnet is listening on port 23, it's odd that it happens about the same time each evening.
By default, the Synchronet ctrl/sockopts.ini file does not enable the REUSEADDR option. Is this option now enabled? If it is, then a second process (e.g. a second invocation of sbbs) could "take over" the port.
By default, the Synchronet ctrl/sockopts.ini file does not enable the REUSEADDR option. Is this option now enabled? If it is, then a second process (e.g. a second invocation of sbbs) could "take over" the port.
Cant remember if I've asked before or not - but why isnt this enabled by default. Seems to bite a lot of people...
Because re-capturing a port that's already bound (e.g. to another server) can also bite people. It's generally something that's not enabled by default in TCP servers.
Run 'netstat -lp' or 'ss -lp' to determine what is listening in port 23 when this happens (and is it sbbs?).
By default, the Synchronet ctrl/sockopts.ini file does not enable the REUSEADDR option. Is this option now enabled? If it is, then a second process (e.g. a second invocation of sbbs) could "take over" the port.
Re: Telnet Server
By: Digital Man to deon on Sun Apr 07 2024 03:26 pm
Hi,
Because re-capturing a port that's already bound (e.g. to another server) can also bite people. It's generally something that's not enabled by default in TCP servers.
Oh really? What scenario?
IE: If I install SBBS (or a TCP server) and want it to use TCP port "x", why wouldnt I want it to re-capture that port if the server was recycled?
For example, if you accidentally ran a second instead of that same TCP server (or another TCP server configured for the same TCP port number), even briefly, the first server would no longer have the port bound/listening. It would just sit there silenty waiting for a connection that will never happen. Kind of like what Apam is describing.
Perhaps you could implement a startup delay/wait? - since it is quite easy to trip you up if you dont have it and its not the default.
I guess I've never seen this scenari
(on Linux anyway). I have started TC
I was going to say: On Linux, wouldn't
the second instance or whatever else
trying to take port 23 fail, and give
an error that the port is already in
use? That's what happens to me any time
I try to run two things on the same
port, anyway.
By default, the Synchronet ctrl/sockopts.ini file does not enable the REUSEADDR option. Is this option now enabled? If it is, then a second process (e.g. a second invocation of sbbs) could "take over" the port.
I guess I've never seen this scenari (on Linux anyway). I have started TC
I was going to say: On Linux, wouldn't the second instance or whatever else trying to take port 23 fail, and give an error that the port is already in use? That's what happens to me any time I try to run two things on the same port, anyway.
So I think, using that socket option could be a bad thing most likely with SSH as synchronet could clobber sshd if it's running. It's unlikely that your setup is running a telnetd server, so in that instance it's unlikely to be a problem - but from what i understand in this thread, it's better to be safe than sorry.
Sysop: | neur0mancer |
---|---|
Location: | Colorado Springs, CO |
Users: | 20 |
Nodes: | 10 (0 / 10) |
Uptime: | 80:18:42 |
Calls: | 276 |
Messages: | 59,238 |