BPQ Home   BPQ32 Home

Telnet Server for BPQ32 switch.

This driver allows incoming Telnet and HTTP connections to the BPQ32 switch. It can also be used to connect to a Winlink 2000 CMS Server.

Configuration.

The driver is defined to BPQ32 as an External port, and needs some driver-specific configuration

LOGGING
Enables logging of connections

DisconnectOnClose
If set to 1, the telnet session will be disconnected when the user leaves an application. With it set to 0, the user will be returned to the node.

TCPPORT
The port users connect to for TELNET Sessions.

FBBPORT
FBBPORT is used for FBB forwarding, and other applications, such as Winpack or BPQTermTCP that need a transparent TCP connection rather than the full TELNET protocol. If you want to support both "real" telnet and FBB Mode set FBBPORT and TCPPORT to different values. If you only want FBB, leave out TCPPORT. If you don't want FBB mode, either leave out the FBBPORT line, or set FBBPORT=0. If you need to accept FBB mode connections on more than one port, you can specify additional values. For Example:

FBBPORT= 8011 8012 8013

HTTPPORT
The port users connect to for the Web Interface.

Normally if you connect to HTTPPORT using the local loopback address (127.0.0.1) your connection is considered secure and you won't have to authenticate to use management and webmail functions. If you want to allow any host on your local lan to be treated as secure you can use the following command

LOCALNET
Defines address range to be considered secure by the Web Server. Parameter is Network Address/Netmask. If Netmask is omitted /24 is assumed. You can have more than one LOCALNET command if you have more than one interface on your host. For example:

  LOCALNET=192.168.1.0/24
  LOCALNET=10.8.0.0

CMDPORT
A list of up to 32 ports. These ports are used for connections to applications running on the same machine. This was originally intended to connect to a command shell to enable basic configuration editing, but has been generalised to allow connects to other tcp ports, thus providing an additional API option. See here for details.

DRATSPORT
The port used by the experimental D-RATS Interface.

SNMPPORT
Allows access to the minimal SNMP server that is part of IPGATEWAY. Will normally be 161 but could be another value if you are running another SNMP server.

IPV6=1 Enable IPV6 support.
IPV6=0 Disnable IPV6 support. Default is disabled.

IPV4=1 Enable IPV4 support.
IPV4=0 Disable IPV4 support. Default is enabled.

LOGINPROMPT
PASSWORDPROMPT

MAXSESSIONS
The number of simultaneous sessions you want to allow

CTEXT
The text that a user is sent when he connects. Use \n to give a newline.

USER
Defines your users.
You can use as many USER lines as you need. Format is user,password,callsign. You may also set a user to automatically connect to one of your applications by adding the Application as a 4th parameter, and give the user the same rights as from a local console by adding a 5th parameter of SYSOP. If you want sysop rights but no application, leave the 4th parameter blank. For example:

USER=John,password,g8bpq,,SYSOP

User and password are case sensitive. Call is converted to upper case

You can allow access to anyone not defined in a USER record by adding the line

USER=ANON,pass

This allow login using a callsign as user and password "pass". The SYSOP flag will be ignored if set.

Interworking with the Winlink 2000 System.

BPQ32 to CMS Gateway.

This provides a facility to send and receive messages to/from the WL2K CMS Servers.

It is enabled by adding the following lines to the config:

CMS=1
CMSCALL=CALLSIGN ; CMS Access Callsign (with SSID if used)
CMSPASS=XXXXXXX ; Secure CMS Password

CMSCALL and CMSPASS are part of the CMS Secure Login Mechanism, being introduced by WL2K at the end of June, 2013.

CMSCALL should be set to the callsign+ssid used to access the RMS Gateway
CMSPASS is your Secure Signon Password. This is the same as your winlink.org webmail password - if you don't already have one or have forgotten it, see http://www.winlink.org/WMInstructions for details of how to retrieve your password, or set one if you don't have one.
All gateway stations also need to be authorised by the WL2K team.

To connect to the CMS, enter C port CMS, where port is the port number of your TelnetServer port. Although this can be entered directly, normally you would set up the RMS application with an alias, eg:

APPLICATION 4,RMS,C 3 CMS,G8BPQ-10,BPQRMS,255

A separate log is maintained of CMS connections. A new file is created each day, with a name of the form CMSAccess_YYYYMMDD.log. At the moment there isn't any housekeeping for these logs, so you will have to archive/delete them yourself.

If you also have the RMS Relay Option configured (see below), you can set the system to to connect to RELAY if the Internet is down or the CMS Servers are all inaccessible To enable this set:

FALLBACKTORELAY=1

If you have FALLBACKTORELAY set, and you have RELAYAPPL=BBS, if your BBS tries to forward to a CMS while the internet is down you will end up connecting back to yourself. You can use the "NoFallback" command in your RMS forwarding script to prevent this. You need to attach the telnet port before sending the "NoFallBack", so instead of the normal RMS connect script of "RMS" you need (where p is the port number of your telnet server)

ATTACH p
NOFALLBACK
C CMS

BPQ32 to RMS Relay Gateway

This provides a facility to send and receive messages to/from RMS Relay

It is enabled by adding the following lines to the config:

RELAYHOST=Host     ; Host can be a numeric IP address, eg 127.0.0.1 or a DNS Name, eg g8bpq.no-ip.com
CMSCALL=CALLSIGN ; CMS Access Callsign (with SSID if used)
CMSPASS=XXXXXXX ; Secure CMS Password

See above for description of CMSCALL/CMSPASS

To connect to RMS Relay, enter C port RELAY, where port is the port number of your TelnetServer port. The default is to connect to port 8772 on RELAYHOST. You can add an optional host and port parameter to connect to RMS Relay on another host. Although this can be entered directly, normally you would set up the RELAY application with an alias, eg:

APPLICATION 4,RELAY,C 3 RELAY,G8BPQ-10,BPQRMS,255
APPLICATION 4,RELAY,C 3 RELAY 192.168.1.64 8773,G8BPQ-10,BPQRMS,255

RMS Relay Emulation

This allows BPQ to provide similar facilities to RMS Relay. If you run an RMS application with fall-back to RMS Relay set, but run RELAYAPPL=BBS instead of RMS Relay, when the Internet is down messages are diverted to the BBS, from where they can be forwarded out over any available links (Pactor, Winmor, Packet, etc) to a site that has Internet, or stored for local retrieval.

It can also be used by RMS Express to send messages to BPQ via Telnet.

RELAYAPPL=APPL ; APPL is the application you want connects on the Relay port (8772) to go to. Normally this would be BBS.

Note that RMS Relay and RELAYAPPL use the same TCP Port (8772), so you can't run both on the same machine.

Outward Connect for BBS Forwarding or connecting to remote applications

TelnetServer can connect to other TCP hosts. This is normally used for BBS<>BBS forwarding

By default any Node user can make telnet connection in this way. If you consider this a security risk you can add

SECURETELNET=1

to your config. This will restrict use of the outward connect to users with SYSOP status or your applications, such as a BBS for forwarding.

You have to ATTACH the Telnet Port, then enter a "C" command, eg

ATTACH p 
C Hostname TCPport [NEEDLF][TELNET][REALTELNET] User Password [Command]

Port is the port number of your TelnetServer port, Hostname and TCPport form the TCP address of the host to connect to, the optional NEEDLF will cause a Line Feed to be sent after user and password, and is needed by some Linux systems. User, Password and Command are sent after connecting. Command will not always be needed, it depends on whether the remote system connects directly to the BBS, ot whether it connects to a Node, and a command is needed to enter the BBS.  The optional  TELNET command will case a Line Feed to be sent after each carriage return on all sends, not just the user and password. If you use TELNET you don't need NEEDLF. The optional REALTELNET does the same as TELNET but also enables processing of Telnet parameter negotiations.

If you are connecting to an FBB BBS and you want to use compressed forwarding, you must preceed the User with a dot, eg .g8bpq. This will tell FBB to use a transparect TCP session instead of a Telnet session. It is not needed for other systems.

If you want to use a Telnet Connection as an APPLICATION alias, you can combine the ATTACH and Connect, eg

ATT p Hostname TCPport [NEEDLF][TELNET] User Password [Command]

Sample Config file for Telnet

PORT
 ID=Telnet Server
 DRIVER=Telnet
 CONFIG
 LOGGING=1
 DisconnectOnClose=1
 TCPPORT=8010
 FBBPORT=8011
 HTTPPORT=8080
 LOGINPROMPT=user:
 PASSWORDPROMPT=password:
 MAXSESSIONS=10
 CMS=1
 CMSCALL=G8BPQ-10
 CMSPASS=XXXXXXX
 CTEXT=Welcome to G8BPQ's Telnet Server\nEnter ? for list of commands\n\n
 USER=John,PaSsWoRd,G8BPQ
 USER=JohnBBS,password,g8bpq,BBS
ENDPORT  

John Wiseman GM8BPQ/G8BPQ
March 2018
Updated March 2022