Telnet Manager (TELMGR) Version 1.20.00 External Telnet Server for the AGW Packet Engine Copyright 2001 LU7DID ============================================================================== TABLE OF CONTENTS 1.0 Introduction 2.0 Installation 3.0 Configuration 4.0 Operation 5.0 Removal 6.0 Disclaimer and License Statement ============================================================================= 0.0 Release History Build(18) Added [TELMGR].CRLF configuration parameter on TELMGR.INI, when TRUE/ON/YES all CR's are transformed into CR+LF on the AX.25 to TCP/IP connections. Default: FALSE. 1.0 Introduction Telnet Manager allows AX.25 connections to be bridged out as TCP/IP Telnet connections and vice-versa. It contains two components that work independently, a Telnet Server and a Telnet Client. Stations connecting to the Telnet Client thru AX.25 links would be enabled to telnet out towards any reachable telnet server (actual telnet servers that could be contacted will depend on the TCP/IP configuration of the machine where the program is been run). Also, external Telnet connections could be accepted and after a security validation the logged user would be connected to the application defined by the sysop (typically a node). Both programs were formerly inside the Digiplex node application but a split up were made to make them independently. 2.0 Installation Installation is rather simple - Execute the setup program TELMGRxx.EXE. - Configure the TELMGR.INI file. - Configure the USERS.INI file. - Configure the presentation files for the Telnet Server (*.TNS) and the Telnet Client (*.TNC) located in the .\TEXT directory. - Launch TELMGR and try a connection. 3.0 Configuration The configuration of the Telnet Manager software is as follows: 3.0 AGW Packet Engine No particular configuration is required on the AGW Packet Engine, TELMGR operates as a WinSock application talking on port 8000, it could be located on the same machine where AGWPE is being run or on a different one as far as there is TCP/IP connectivity with a reasonable speed between both (LAN speeds preferred). 3.1 Digiplex If you have Digiplex installed in your node with version prior to 0.71Beta ensure both the Telnet server and Telnet clients are turned off. 3.2 TELMGR.INI The main configuration is made thru the entries on the TELMGR.INI file, a sample is provided that you must adapt to your own configuration. [TELMGR] LOGFILE=TELMGR.LOG <-- Logfile, Logs will be made if TRACE > 0 TRACE=1 <-- Level of TRACE, 1 is recommended. RECOVER=NOT <-- Retry if lost connection with AGWPE? CRLF=YES <-- Forces CR into CR+LF from AX.25 to TCP/IP [AGW] ADDRESS=127.0.0.1 <-- Address where AGWPE could be found HOSTNAME= <-- Hostname (if available), will override ADDRESS PORT=8000 <-- Port where AGWPE listen for connections LOGIN= <-- Login/Password of AGWPE if enabled PASSW= [TELNET] ENABLED=YES <-- Telnet Server enabled? (Default NOT) SECURITY=YES <-- YES strict id/password validation NOT any id/password will be accepted however if id is at USERS.INI the proper password must be informed SERVER_CALLSIGN=TELNET-0 <-- Callsign Like for Server internal use CLIENT_CALLSIGN=LU7DID-10 <-- Callsign-SSID where the client could be connected NODEPORT=4 <-- Loopback port number (1..n) NODECALL=LU7DID-1 <-- Local application to connect if login is Ok. PORT=8023 <-- Port where the Telnet Server listen TIMEOUT=600000 <-- Inactivity timeout in mSecs (0 disabled) MAXTIME=3600000 <-- Max Absolute Time allowed (0 disabled) MAXUSERS=10 <-- Max number of simultaneous users WELCOME=TelMgr V1.0 <-- Default Welcome Message if WELCOME.TNS is not set PROMPT=telmgr> <-- Default Prompt if PROMPT.TNS is not set BYE=73 de TelMgr! <-- Default Bye if GOODBYE.TNS is not set [TELNET.CLIENT] IW0DAM=Babylon:11023 <-- Aliases to set G0CGL=Babylon:14023,0,0 When callsign is connected thru AX.25 GB7CGL=Babylon:18023,0,0 (i.e. IW0DAM) an access to the TCP/IP address N1OTX=Babylon:8002 will be initiated (i.e.babylon:11023). Optionally could define Timeout & MaxTime for this particular connection (i.e. set both to 0 to disable). [MONITOR] ENABLED=YES <-- Enables or not the Monitor Server PORT=8123 <-- Port where the monitor server will listen SPLIT=YES <-- Split header/Info or not MASK=IUSC <-- Frames to monitor (i.e. only UI and I --> UI) DETAILS=YES <-- Details added to the frame header or not 3.3 USERS.INI Valid users will be stated on the USERS.INI file with the following format: [USERS] UserId=Password,Callsign-SSID UserId & Password will be required during the login, CallSign-SSID is the one to be used once logged at radio communications. Only one instance of login per user allowed. There is no restriction on the number of users other than the setting of the MAXUSERS parameter (simultaneous users). If Security is activated (SECURITY=YES) any combination of userid and password will do (usually the sysop would kindly ask for the callsign and name to be used for that), but if the userid is listed on the USERS.INI file only the associated password stated correctly will allow the login to complete. 3.4 TEXT FILES Several text configuration files could be customized by the sysop to suit a particular desire for the site look & feel. Those files are presented to the connecting user at different moments of the link lifecycle. Server WELCOME.TNS Presented prior to login MOTD.TNS Presented after login PROMPT.TNS Used as a prompt GOODBYE.TNS Presented prior to logout Client WELCOME.TNC Presented at connection PROMPT.TNC Used as a prompt GOODBYE.TNC Sent prior to logout. A sample set of files is provided with the distribution for the sysop to configure. 4.0 Operation 4.1 Client Operation The operation of the program is fairly simple; after the configuration had been done the program must be running for the services to be available. The program allows users to connect thru AX.25 links to the CALLSIGN-SSID stated in [TELNET].CLIENT_CALLSIGN and be presented with a prompt from where it could telnet to any reachable host by typing T {IP Address|HostName}{:Port} Port is optional and if not indicated the number 23 (TELNET) will be used. Other commands allowed are ? Help B Disconnect Also the AX.25 connection to any of the callsigns configured on the section [TELNET.CLIENT] would trigger automatically a TCP/IP connection with the associated destination without the user been presented with an intermediate prompt; in that case when the connection is closed the AX.25 link is also terminated. Client sessions are subject to the general inactivity and duration parameters set as MAXTIME and TIMEOUT; those could be overrided for a particualr [TELNET.CLIENT] entry. 4.2 Server Operation The program will listen for connections at the TCP port configured at [TELNET].PORT. Connections to it will receive a request for a login and a password. Depending on the security configuration that login and password must match some of the entries on the USERS.INI file or not. If the login is successfully completed an automatic connection to the application associated with the entry is made; in case of the [TELNET].SECURITY value to be NOT (no entry on USERS.INI required) the connection will be started with the callsign-ssid stated on the [TELNET].NODECALL entry using the AGWPE port stated as [TELNET].NODEPORT. When either the AX.25 connection or the TCP/IP connection are closed the other is terminated too. Server sessions are subject to the general inactivity and duration parameters set as MAXTIME and TIMEOUT. The absolute number of simultaneous users are established thru the MAXUSERS configuration parameter. 4.3 Working with a Node A node is not required to run this program; if not used all connections must be made thru AX.25 Layer 2 links to the defined callsign-ssid. However, a node is useful to propagate a known route to the facility and to operate as a "host" to where the users are connected when entering the server. If the node is Digiplex the Telnet Manager entries at [TELNET.CLIENT] and the main client entry could be defined as Managed applications. If the node is XNet the entries at [TELNET.CLIENT] and the main client entry should be defined as LOCAL applications. 4.4 Monitor Server The monitor server has an operation which is very simple. The sysop has to decide if he/she wants to enable it or not (MONITOR.ENABLED) and in which port it would listen (MONITOR.PORT). If enabled it will start to listen for TCP/IP connections when TelMgr starts. Each telnet connection received will receive a monitor trace of all the frames on all ports. Since the connection is one way (anything received from the telnet client is ignored) the connection doesn't has any security validation. Monitoring frames are sent as long as the client connection persist. 5.0 Removal In order to remove the program the directory where it's installed should be deleted; no resources outside that directory are installed. 6.0 Disclaimer and License Statement ------------------------------------ TELMGR is free for radioamateur and experimental uses, commercial use requires written permission from the author. Considerable security issues might be found if the program is improperly configured, also compliance with local Telecommunications authority regulations is under the responsibility of the sysop installing this program. The author bears no liability for damages related to the usage of this program nor guarantees the proper functional behaviour. I could certainly be more sophisticated in legal terms, but in a nutshell use it at your own risk. Please direct comments, bug reports and feedback for enhancements to: AX.25: LU7DID@LU7DID.#ADR.BA.ARG.SOAM Inet: colla@pec.pccp.com.ar