Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
faq:tcpip [2019/01/17 16:17] – [FTP NAT] Fixed typos. Removed stale info. digital man | faq:tcpip [2025/01/29 23:12] (current) – [SSH Session Key] Added some common logged ssh errors nelgin | ||
---|---|---|---|
Line 11: | Line 11: | ||
* [[# | * [[# | ||
* [[# | * [[# | ||
+ | * [[# | ||
* [[#bind|Why do some or all of my servers get bind errors when starting or recycling]]? | * [[#bind|Why do some or all of my servers get bind errors when starting or recycling]]? | ||
* [[# | * [[# | ||
* [[# | * [[# | ||
- | * [[#ssh_kex_algo|Why do some SSH clients fail to connect to my BBS]]? | + | * [[#ssh_algo|Why do some SSH clients fail to connect to my BBS]]? |
* [[# | * [[# | ||
Line 47: | Line 48: | ||
|WS | |WS | ||
|WSS |11235 | |WSS |11235 | ||
+ | |||
+ | Additionally, | ||
+ | |||
+ | ^Protocol ^TCP ^UDP ^Comments^ | ||
+ | |QOTD | ||
+ | |IMAP | ||
+ | |IMAPS | ||
+ | |BINKP | ||
+ | |BINKPS | ||
+ | |NNTPS | ||
+ | |Hotline | ||
+ | |Hotline-TRANS | ||
+ | |||
+ | |||
Enabling connectivity to Synchronet through your firewall is no different than enabling connectivity to any other TCP/IP server. Follow your firewall documentation for forwarding or opening ports for TCP/IP servers located " | Enabling connectivity to Synchronet through your firewall is no different than enabling connectivity to any other TCP/IP server. Follow your firewall documentation for forwarding or opening ports for TCP/IP servers located " | ||
Line 173: | Line 188: | ||
In general, you need to check your Synchronet Mail Server window/log output for details about why Internet e-mail delivery attempts may be failing. | In general, you need to check your Synchronet Mail Server window/log output for details about why Internet e-mail delivery attempts may be failing. | ||
+ | ==== GMail ==== | ||
+ | :?: **Question: | ||
+ | Why can't I send Internet e-mail from my BBS to GMail.com? | ||
+ | |||
+ | Example: | ||
+ | cvs.synchro.net reporting delivery failure of message | ||
+ | from Someone to annyone@gmail.com | ||
+ | | ||
+ | Reason: | ||
+ | gmail-smtp-in.l.google.com replied with: | ||
+ | "550 5.7.26 | ||
+ | d9443c01a7336-21a919d2ef1si90834815ad.334 - gsmtp" | ||
+ | instead of the expected reply: | ||
+ | "250 ..." | ||
+ | |||
+ | :!: **Answer: | ||
+ | GMail.com requires mail severs have a valid **SPF** DNS record to send email to their servers. This requirement from Google is an anti-spoofing/ | ||
+ | |||
+ | An SPF record is a specially formatted DNS **TXT** (text) record. You can check if your domain has an SPF record by querying the DNS for TXT records for your domain using common network tools provided with your OS such as '' | ||
+ | |||
+ | $ host -t txt vert.synchro.net | ||
+ | vert.synchro.net descriptive text " | ||
+ | |||
+ | If you are [[howto: | ||
+ | mail.synchro.net | ||
+ | |||
+ | If you are relaying your outbound Internet mail through Vertrauen **and** [[howto: | ||
+ | v=spf1 mx a -all | ||
+ | | ||
+ | If you are using the Synchronet dynamic DNS service to have/update a ''// | ||
===== Receive Mail ===== | ===== Receive Mail ===== | ||
Line 184: | Line 229: | ||
You should also see evidence of the successful SMTP connection to the server in your Synchronet Mail Server window/log output. If you do not, then it's likely that your firewall or Internet Service Provider is blocking incoming connections to TCP port 25. Before concluding this is the case, verify that the remote Telnet client can connect to other SMTP servers first (e.g. '' | You should also see evidence of the successful SMTP connection to the server in your Synchronet Mail Server window/log output. If you do not, then it's likely that your firewall or Internet Service Provider is blocking incoming connections to TCP port 25. Before concluding this is the case, verify that the remote Telnet client can connect to other SMTP servers first (e.g. '' | ||
- | If your firewall or Internet Service Provider is blocking incoming connections to TCP port 25 (many consumer-class ISPs do), then you won't be able to receive Internet e-mail on your BBS. Fixing your firewall configuration is rather simple, but changing ISPs is often not. One possible work-around is having a mail proxy (3rd party server) receive the e-mail for you and forward it to a non-standard, | + | If your firewall or Internet Service Provider is blocking incoming connections to TCP port 25 (many consumer-class ISPs do), then you won't be able to receive Internet e-mail on your BBS. Fixing your firewall configuration is rather simple, but changing ISPs is often not. One possible work-around is having a mail proxy (3rd party server) receive the e-mail for you and forward it to a non-standard, |
===== FTP Connect ===== | ===== FTP Connect ===== | ||
Line 237: | Line 282: | ||
If your firewall cannot dynamically open/ | If your firewall cannot dynamically open/ | ||
+ | |||
+ | ===== FTP HTML ===== | ||
+ | :?: **Question: | ||
+ | Why will a web browser not (no longer) render the HTML content sent by the Synchronet FTP Server (i.e. '' | ||
+ | |||
+ | :!: **Answer: | ||
+ | For security reasons, modern web browsers (e.g. Google Chrome) have stopped rendering HTML content served by protocols other than HTTP or HTTPS. | ||
+ | * [[https:// | ||
+ | |||
+ | Some web browsers (e.g. Microsoft Edge) are removing FTP support altogether. | ||
+ | * [[https:// | ||
===== Bind ===== | ===== Bind ===== | ||
Line 250: | Line 306: | ||
This usually means you have another TCP/IP server on your system that is already bound to (and is presumably already listening for incoming connections on) this port. This could be a pre-existing instance of Synchronet or any other Telnet/ | This usually means you have another TCP/IP server on your system that is already bound to (and is presumably already listening for incoming connections on) this port. This could be a pre-existing instance of Synchronet or any other Telnet/ | ||
- | |||
- | If you're running a Unix-like operating system (not Windows) and get bind errors only when recycling servers, this is most likely because a TCP session is stuck in a '' | ||
- | REUSEADDR=1 | ||
:!: **Answer: | :!: **Answer: | ||
Line 259: | Line 312: | ||
Error '' | Error '' | ||
- | This error upon binding usually means that you're running Synchronet as non-privileged user account (e.g. not ' | + | This error upon binding usually means that you're running Synchronet as non-privileged user account (e.g. not ' |
+ | |||
+ | ==== Rebind ==== | ||
+ | :!: **Answer: | ||
+ | If you're running a Unix-like operating system (not Windows) and get bind errors //only// when recycling servers: | ||
+ | sbbs: term 0001 !ERROR 98 binding Telnet Server socket to port 23 | ||
+ | sbbs: term 0001 Will retry in 15 seconds (1 of 2) | ||
+ | |||
+ | ... this is most likely because a TCP session is stuck in a TCP "TIME WAIT" or "CLOSE WAIT" state (you can use '' | ||
+ | REUSEADDR=1 | ||
===== Bandwidth ===== | ===== Bandwidth ===== | ||
Line 296: | Line 359: | ||
Yes, see [[howto: | Yes, see [[howto: | ||
- | ===== SSH Kex Algo ===== | + | ===== SSH Algo ===== |
:?: **Question: | :?: **Question: | ||
Why do some SSH clients (e.g. [[http:// | Why do some SSH clients (e.g. [[http:// | ||
+ | |||
+ | :!: **Answer: | ||
+ | SSH supports a variety of cryptographic algorithms for encryption (privacy), integrity (mac) and authentication (key-exchange). As stronger algorithms are introduced, older (less-strong) algorithms are deprecated. As a result, when using a newer version of any SSH client (especially OpenSSH), it may fail to connect to SSH servers which only support less-than-the-strongest (newest) algorithms. There is no permanent solution to this issue as cryptographic algorithms are constantly improving (becoming stronger) and older (weaker) algorithms are going out of favor. | ||
+ | |||
+ | |||
+ | ==== SSH Cipher Algo ==== | ||
+ | |||
+ | Should be fixed as of Fri Feb 14 07:37:04 2020 UTC. aes128-ctr and aes256-ctr support was added. | ||
Example: | Example: | ||
$ ssh vert.synchro.net | $ ssh vert.synchro.net | ||
- | | + | |
| | ||
- | or: | + | Workarounds for OpenSSH: |
- | Unable to negotiate with legacyhost: no matching key exchange method found. | + | |
- | Their offer: diffie-hellman-group1-sha1 | + | |
- | :!: **Answer: | + | $ ssh -c aes128-cbc user@yourbbs.com |
+ | |||
+ | or in the '' | ||
- | //**NOTE: This has been fixed in CVS now.**// | + | Host yourbbs.com |
+ | Ciphers aes128-cbc | ||
+ | |||
+ | ==== SSH Kex Algo ==== | ||
- | Synchronet uses [[http://www.cs.auckland.ac.nz/ | + | Should be fixed as of Mon Jun 3 22:21:15 2019 UTC. diffie-hellman-group-exchange-sha256 and diffie-hellman-group14-sha256 support was added. |
+ | |||
+ | Example: | ||
+ | $ ssh vert.synchro.net | ||
+ | Received disconnect from 71.95.196.34: 2: Handshake failed | ||
+ | |||
+ | or: | ||
+ | Unable to negotiate with legacyhost: no matching | ||
+ | Their offer: diffie-hellman-group1-sha1 | ||
From the OpenSSH [[http:// | From the OpenSSH [[http:// | ||
Line 336: | Line 418: | ||
Note: Run '' | Note: Run '' | ||
- | :!: **Answer: | + | ==== SSH MAC Algo ==== |
+ | |||
+ | Should be fixed as of Mon Jun 3 22:21:15 2019 UTC. hmac-sha2-256 support was added. | ||
Another observed problem is with the negotiated Message Authentication Code (MAC) algorithm. | Another observed problem is with the negotiated Message Authentication Code (MAC) algorithm. | ||
Line 351: | Line 436: | ||
:!: **Answer: | :!: **Answer: | ||
Rename/move or delete your '' | Rename/move or delete your '' | ||
+ | |||
+ | If you're using TLS for your other [[server: | ||
+ | |||
+ | These files ('' | ||
+ | |||
+ | ===== SSH Errors ===== | ||
+ | :?: **Question: | ||
+ | Should I be concerned about ssh errors in my log files? | ||
+ | |||
+ | :!: **Answer**\\ | ||
+ | A number of ssh errors are generated mainly due to clients disconnecting or not actually using a valid ssh client, such as port scanners or bots. Some of these errors are | ||
+ | |||
+ | ' | ||
+ | | ||
+ | ' | ||
+ | | ||
+ | 'Error reading client' | ||
+ | | ||
+ | No data was read because the remote system closed the connection (recv() == 0)' (-41) setting session active | ||
+ | | ||
+ | 'Need resource to proceed' | ||
+ | | ||
===== See Also ===== | ===== See Also ===== |