Examples forward JNOS/BPQ/LinFBB

Here below some examples how the configuration of the forward in different systems works.

Thanks in particular to Bob (VE3TOK) and Gus (I0OJJ) for example configs !

Copyright ©  http://www.langelaar.net/jnos2/

Example Configuration for JNOS 2.0k side
   ----------------------------------------

      a) autoexec.nos

         # regular listener (no IAC) for remote JNOS and BPQ systems
         start telnet

         # another listener (IAC) on different port for LINFBB and OBCM systems
         start telnet 6300 iac

         # for winlink secure login, you have to configure your callsign
         mbox winlinkcall ve4klm

      b) spool/forward.bbs

         -------
         ve3tok
         # Here we are talking to a remote LINFBB system
         telnet 44.x.y.z 6300 iac
         +Callsign :
         .ve4klm
         +Password :
         .BLAHBLAHBLAH
         ve3tok
         -------
         va3tok
         # Here we are talking to a remote BPQ system
         telnet 44.x.y.z 8011 cronly
         .ve4klm
         .BLAHBLAHBLAH
         +BPQ
         .BPQBBS
         va3tok
         -------
         wl2k
         # Here we are talking to Winlink CMS server
         telnet winlink.org 8772 cronly
         +Callsign :
         ..VE4KLM
         +Password :
         .BLAHBLAH
         wl2k
         -------
         i0ojj 0023 P
         # Here we are talking to obcm v1.07b12
         # NOTE : OBCM supports FC proposal, so it will use B2F, but wonder if
         # I should force a B1F response so RLINE and Headers work properly ?
         telnet 44.x.y.z 4719 iac
         @10
         +login:
         .ve4klm
         @10
         +password:
         .BLAHBLAH
         @10
         <areas to forward>
         -------
         ir0aab 0023 P
         # Here we are talking to linfbb v7.0.8-beta2
         telnet 44.x.y.z 6300 iac
         @
         +Callsign :
         .ve4klm
         +Password :
         .BLAHBLAH
         @
         <areas to forward>
         -------

      c) setting up MY winlink authentication

         cd /jnos

         mkdir users		* you only need to do this one time

         ./jnospwmgr -a <callsign> -w

         it will ask you to enter the phrase that you would have received
         from your winlink notice (the challenge/response phrase).         

       * for now please read release notes (search December 8) for more info.

   Remote LINFBB host
   ------------------

     For forwarding to VE4KLM I added the following line to 'bbs.sys' :

       < FWD\VE4KLM

     A forward file for that particular bbs is placed in FBB's 'fwd' directory,
     so an example of forward file, 've4klm' (contents might be different for
     other FBB owners.)

       A VE4KLM

         P A
         C C ve4klm ve4klm.ampr.org 6300
         V login$Wpassword$W

       #  Forward file -- To VE4KLM BBS (JNOS)
       #
       #  Personal mail
       #
       B VE4KLM
       F VE4KLM
       #
       # Reverse fowarding to take place
       R
       # Forward rest of North-America to VE4KLM
       H  VE4KLM.#WPG.MB.CAN.NOAM
       H *.NOAM
       #

   Remote BPQ host
   ---------------

     This is needed as telnet connect script for bpq in forwarding with jnos.
     It is entered in the "connect script" box of the forwarding config web
     page of the bpq mail server.

       TIMES 0000-2359
       Idletime 60
       attach 3
       c ve4klm.ampr.org 23 NEEDLF .login pass

     General:

       attach p - p is a port number cfg'd as telnet port in your bpq32.cfg

       c Hostname TCPport [NEEDLF] User Password [Command]

     Here :

       attached 3 - I configured port 3 as telnet port
       NEEDLF     - Causes a Line Feed to be sent after user and password.
       .login     - The period before the login user name will tell jnos to use
                    a transparent TCP session instead of ordinary telnet.

     See: http://www.cantab.net/users/john.wiseman/Documents/TelnetServer.htm

     This example line below is needed in bpq32.cfg so that jnos can login into
     bpq and initiate forwarding as bbs.
 
       USER=ve4klm,password,login,BBS

   Remote OBCM host
   ----------------

     ; From obcm v1.07b12
     ;
     ; INIT IR0RM file (JNOS-2.0k+)
     ;          0                  1                  2
     ;          012345678901234567890123
     IR0RM PPPPPPPPPPPPPPPPPPPPPPPP TELNET:44.x.y.z:6300
      -d -k -l -o -u
     ;

   Remote LINFBB host
   ------------------

     # From linfbb v7.0.8-beta2
     #
     IF H 00-23
      S connected failure busy
      C C IR0RM-1 44.x.y.z 6300
      V i0ojj$Wpassword$W
     ENDIF
     #

 

Start Jnos on bootup

To start Jnos when booting, you have to adjust something in the /etc/inittab.
First the line “#2:23:respawn:/sbin/getty 38400 tty2” must be switched off , a simple # can be used.

1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

We use tty2 for Jnos, so it must be disabled.
Now we can add the line below to the /etc/inittab

#Startnos
#Start Jnos on BOOT en herstart het wanneer het kapot gaat.
JNOS:2345:respawn:/home/pd2lt/jnos/startnos </dev/tty2>/dev/tty2 2>&1

Start file for Jnos

cd /home/pd2lt/jnos
rm -f /home/pd2lt/jnos/spool/mqueue/*.lck 2> /dev/null
rm -f /home/pd2lt/jnos/jnos/spool/mail/*.lck 2> /dev/null
sleep 1
TZ='Europe/Amsterdam'; export TZ
export TERM=linux
exec ./jnos -C -g2 -u3 -f nos.cfg -i

Now Jnos is automatically started with every reboot of the system.

 

Compile Instructions Jnos2.0k

Download Jnos 2.0k Source Jnos

July 26, 2016 - Compile instructions for JNOS 2.0k

1) There is NO incremental update from previous versions, too much
   has changed, and a mass compile is required anyways.

   Put the compressed tar file into an empty directory, then :

    gunzip jnos2.0k.tar.gz
    tar xvf jnos2.0k.tar
    cd jnos/src/rsync

2) Before you compile and IF you have your own config.h from a previous
   version of JNOS 2.0, then you can copy it over if you like. However, if
   you choose to do this, do a 'diff' between your 'config.h' and the new
   'config.h.default' shipped with JNOS 2.0k - to see what new features
   you might be missing out on. It is probably not a big deal, but you
   should know about it anyways.

   IF you are starting from scratch, the compile process automatically
   copies the 'config.h.default' to 'config.h' (only if the latter is not
   present) and then compiles the whole thing.

   IF you want to edit a new config.h BEFORE the compile starts, then use
   the 'make defconfig' command first. That will create the 'config.h' for
   you, then you can edit it to suit your own preferences.

3) To compile and link JNOS, just enter the 'make' command.

   Please note that warnings may happen, although with this release I have
   made extra effort to try and clean them ALL up, your mileage will vary.

4) That's it, if all goes well, you should have a new 'jnos' binary.

5) Why is 'jnos' binary so large AND what to do about JNOS crashing !

   Note that my makefile has debugging turned on, so any 'jnos' binary
   you compile will be large (because it contains debuggin info). If you
   are not at all interested in debugging, then you can reduce the size
   of the 'jnos' binary using the following command :

    strip jnos

   which will strip out the debugging information and symbol table.

   If you ARE interested in helping me fix bugs, then I encourage you to
   run the GDB debugger that comes with most linux distros, AND make sure
   you do NOT strip the 'jnos' binary, since it contains important info for
   the debugger to use when a crash occurs.

   Using GDB is easy. With JNOS running already, find out it's pid, using
   the linux command, 'ps -ef | grep jnos'. Once you know what the pid is,
   then run the gdb debugger something like this :

    gdb -p pid

   GDB will load, JNOS will hang temporarily, and GDB will suddenly give
   you a prompt. Enter the command, 'continue', at the prompt, and JNOS
   will continue to run again.

   When a crash occurs, GDB will break out to the prompt again, and JNOS
   will hang. Take a screen shot of what GDB printed out, then type in
   the command, 'back full', at the GDB prompt, and note the info that
   appears. Please send all of that information to me, with a brief
   explanation of what might have been going on at the time.

   If you have JNOS logging in effect, please send me the log file at
   the time of the crash if you don't mind. Logs are under /jnos/logs/
   directory (by default).

JNOS 2.0k released - 26Jul2016

* Maiko Langelaar / VE4KLM

Jnos autoexec.nos

Here the autoexec.nos I use with a the Katronics KPC-9612

# Enable JNOS to log events to dated files in /jnos/logs directory
#
log on
#
# Maximize TCP performance for standard LAN having MTU 1500
#
tcp mss 1460
tcp window 5840
tcp timert linear
tcp irtt 5500
tcp maxw 9000
tcp bl 2
tcp ret 12
tcp win 2048
tcp syn on
tcp maxwait 30000
tcp retries 5
#
icmp echo on
icmp trace 2
ip ttl 225
ip rt 4
#
ip address 44.137.31.67
#
# Hostname and default ax25 call
#
hostname jnos.pd2lt.ampr.org.
ax25 mycall PI8LAP-1
ax25 bbs PI8LAP
ax25 alias LAP
ax25 ttycall PD2LT
#
# SETUP TUN0
#=============
# Create a network interface. This allows us to talk to the linux
# box on which JNOS is running - and in turn - to the internet.
#
attach tun tun0 1500 0
#
ifconfig tun0 ipaddress 44.137.31.67
ifconfig tun0 mtu 1500
#
pause 1
#
# JNOS creates the TUN device, so JNOS needs to do some post configuration,
# by shelling out to the linux command line and running 'ifconfig' command.
#
shell ifconfig tun0 44.137.31.66 pointopoint 44.137.31.67 mtu 1500 up
pause 3
shell ip route add 44.137.31.67 dev tun0 table 44 src 44.137.31.66
shell /usr/sbin/arp -i eth0 -Ds 44.137.31.67 eth0 pub
#
# ROUTE
#============
route add default tun0 44.137.31.66
ip hp tun0 on
# APRS route add
#ax25 route add apz200 uhf (call) (call)
#ax25 route add apz200 vhf (call) (call)
#ax25 route add id uhf (call) (call)
#ax25 route add id vhf (call) (call)
#
# SETUP AMPRGW
#==============
#ifconfig encap ipaddress 44.137.31.33 
#ifconfig encap mtu 1500
#source encap.txt
#pause 1
#ip upstairs 224.0.0.9
#rip ttl 43200
#start rip
#rip accept 44.0.0.1
#rip merge off
#rip trace 9 rip.log 
#
# AXIP/AXUDP
#==============
# Attach AXIP wormhole to a remote system
#
#attach axip axi0 256 44.137.31.34
#ifconfig axi0 description "axip wormhole"
#
# Attach AXUDP wormhole to a remote system
# Delay Domain lookup only works after autoexec.nos is fully loaded
#
#at now+0001 "attach axudp axip 256 info.xs4all.nl AXIP 93 93"
#at now+0002 "ifconfig axip description \"axudp link (call)\""
pause 2
#
# AXUDP BCM
#==============
#attach axudp bcm 256 192.168.1.130 BCM 95 95
#ifconfig bcm description "link to my bbs (mailbox)"
#
# ACCESS CONTROL
#===============
#Allow a specific IP access
#at now+0001 "tcp access permit info.xs4all.nl all"
tcp access permit 127.0.0.1 all
tcp access permit 44/8 all
tcp access permit 44.137/32 all
tcp access permit 44.137.31.64/27 all
tcp access permit 192.168.1.0/24 all
tcp access permit 82.176.45.213 all
# blacklist bad logins for 15 minutes (900 seconds)
mbox blacklist 900
# run expiry process every 20 minutes
tcp access expiry 20
tcp clean
#
# RF PORTS
#=================
# KPC9612 dual port tnc
#
attach asy ttyUSB0 - ax25 vhf 4096 256 9600
attach kiss vhf 1 uhf
pause 5
# Port VHF
ifconfig vhf description "vhf 1200 baud port 144.950mhz"
ifconfig vhf ipaddr 44.137.31.67 netmask 0xfffffff0 broadcast 44.137.31.95
ifconfig vhf ax25 bct "PI8LAP Jnos Packet BBS/Gate (linux)."
param vhf 1 35
param vhf 2 256
param vhf 3 10
param vhf 4 5
param vhf 5 0
param vhf TxDelay 25
# Port UHF
ifconfig uhf description "uhf 9600 baud port 430.950mhz"
ifconfig uhf ipaddr 44.137.31.67 netmask 0xfffffff0 broadcast 44.137.31.95
ifconfig uhf ax25 bct "PI8LAP Jnos Packet BBS/Gate (linux)."
param uhf 1 35
param uhf 2 256
param uhf 3 10
param uhf 4 5
param uhf 5 0
param uhf TxDelay 25
#
ip hsize 10
ip hp vhf on
ip hp uhf on
#
#
# DOMAIN
#================
domain suffix ampr.org.
domain ret 2
domain maxw 60
#domain addserver 192.168.1.1
domain addserver 44.137.0.1
domain cache clean on
domain cache wait 3300
#domain cache size 15
domain upd on
domain translate no # Turning this on causes severe delays :-(
domain verbose yes
domain dns on
domain ttl 500000
#domain trace on
#
# MAILBOX
#================
mbox haddress pi8lap.#zld.nld.euro
mbox mailfor watch pd2lt pi1lap pi8lap
mbox maxusers 25
mbox winlinkcall PI1LAP
mbox mport vhf on
mbox mport uhf on
#mbox mport axip on
mbox newmail on
mbox smtp on
mbox attend off
mbox sendquery on
mbox header on
mbox show on
mbox fbb 2
mbox mailfor 300
#mbox showalias off
mbox smtptoo off
mbox nobid off
mbox timer 0
mbox td 2300
mbox password ********
mbox qth Kortgene
mbox register on
mbox tdisc 300
mbox tmsg "Welcome to the Jnos BBS/Node/Gateway/Winlink system!\nUse callsign for Login and any Password."
motd "Welcome to the jnos.pd2lt.ampr.org, Packet gateway.\nType 'reg' to get registered.\nType 'i' for info."
#prompt on
third on
bulletin check on
bulletin return on
bulletin date on
bulletin loop 2
#
# FORWARDING 5 min/h
#======================
at 05 "mbox kick Wl2k+"
#
# ARP SETTINGS
#=============
arp eaves tun0 on
arp eaves vhf on
arp eaves encap on
arp eaves uhf on
arp poll tun0 on
arp poll vhf on
arp poll encap on
arp poll uhf on
arp maxq 10
#arp add 44.137.31. ax25 qst-0 vhf
#arp add 44.137.31.33 ax25 qst-0 uhf
#apr add 44.137.31.33 ax25 qst-0 axip
#
# RDate SERVER
#==============
#
#at now+0001 "rdate server time.nist.gov"
#rdate server 44.137.0.1
#rdate server 44.137.31.66
#
# AX25 SETUP
#==============
ax25 bctext "PI8LAP/PI1LAP Jnos Packet BBS/Gateway (Linux)"
ax25 maxf 2
ax25 timert linear
ax25 version 2
ax25 win 2048
ax25 pacl 128
ax25 bcinterval 600
ax25 ret 12
ax25 irtt 2500
ax25 maxw 7000
ax25 blimit 3
ax25 hsize 50
ax25 heard vhf
ax25 heard uhf
#ax25 heard axip
ax25 hport vhf on
ax25 hport uhf on
#ax25 hport axip on
ax25 bcport vhf on
ax25 bcport uhf on
#ax25 bcport axip on
#
# NETROM
#==================
attach netrom
 
netrom alias LAPNOD
netrom call PI1LAP
netrom interface vhf 192 143            # 90- at end - broadcast qty >=90
netrom interface uhf 192 143 
#netrom interface axip 192 143
ifconfig netrom tcp blimit 3
ifconfig netrom tcp irtt 300000
ifconfig netrom tcp maxwait 900000
ifconfig netrom tcp mss 216
ifconfig netrom tcp retries 25
ifconfig netrom tcp timertype linear
ifconfig netrom tcp window 432
 
netrom nodefilter mode none
netrom acktime 100                      # Ack delay timer in mSecs
netrom choketime 60000
netrom derate on
netrom hidden ON                        # ON - show nodes who start with

netrom irtt 8000
#netrom quality 254                        # set the initial round trip time
netrom minquality 143                   # Min qty for recognizing a node
netrom nodetimer 3600                   # broadcast routing table in sec
netrom obsotimer 1200                   # table entry remain alive sec*6
netrom promiscuous on
netrom qlimit 2048
netrom retries 5
netrom timertype linear
netrom ttl 18
netrom g8bpq on
netrom bcpoll vhf
netrom bcpoll uhf          
#netrom bcpoll axip
netrom bcnodes vhf
netrom bcnodes uhf
#netrom bcnodes axip
#
#netrom route add alias call port 255 call
#netrom connect (call)
# 
# SMTP
#===================
smtp mode route
smtp quiet on
smtp maxclients 25
#smtp maxservers 25
smtp batch on
smtp t4 300 
smtp tdisc 920
smtp timer 920
#smtp trace 1
smtp use on
#
# NOSAPRS
#==================
aprs log /jnos/spool/log/aprs.log
aprs interface vhf
aprs interface uhf
#
##aprs logon call PI1LAP-10
#
# I want the APRS Internet System to only send me traffic
# for stations that are within 300 KM, of my location. In my
# case, the city of Winnipeg is roughly 49d54m (Latitude)
# and -97d7m (Longitude).
#
##aprs logon filter r/51.3352/3.4815/50
#
# Configure the Position and Status texts that are broadcast
# out to the APRS Internet System (APRS IS).
#
aprs bc stat "Jnos inet gateway on 144.850Mhz"
aprs bc pos "5133.52NI00348.15E&JNOS jnos.pd2lt.ampr.org 44.137.31.67"
aprs bc timer 1440
#
# Configure the Position and Status texts that are broadcast out
# the default APRS RF port (set by the aprs interface command).
#
aprs bc rfstat "Jnos inet gateway"
aprs bc rfpos "5133.52NI00348.15E&JNOS jnos.pd2lt.ampr.org 44.137.31.67"
aprs bc rftimer 30
#
# I don't use WX - following for development purposes only
#
#aprs wx call ve4klm-11
#aprs wx stat "Weather Station - Crestview District"
#aprs wx pos "4953.22N/09718.35W_"
#aprs wx data "/tmp/wx.data"
#aprs wx timer 30
#
# Heard table 
#
aprs hsize 10
#
# Stuff for the 14501 status page
#
aprs contact m "pd2lt@pd2lt.ampr.org"
aprs locator "http://map.findu.com/"
#
# Connection to APRS internet system
#
aprs server add 194.109.192.235 14580
#aprs server add 44.137.31.38 14580
#aprs server add 165.91.119.60 1314
#
# Potential APRS Clients
#
#aprs client add 44.135.124.62 14825
#
# IF you want to gate traffic to RF - BE VERY CAREFULL
# with these filters. You don't want to FLOOD your local
# frequencies with solid traffic. You've been warned !!
#
#aprs calls fwdtorf VE4 VA4 VE3JJ VE3HDU
#aprs calls postorf VE4 VA4 VE3JJ VE3HDU
#aprs calls stattorf VE4 VA4 VE3JJ VE3HDU
#aprs calls wxtorf VE4 VA4 S VE3JJ VE3HDU
#
# This next entry gives specific IP address(s) permission to use the
# browser based APRS message center to it's full capacity. By default,
# the message center allows READ-ONLY access (ie, you can't send).
#
#aprs calls ip45845 A.B.C.D X.Y.Z.Z
#
aprs email local
#
# Activate the core NOSaprs service
aprs listen on
#
# If you want the NOSaprs status page to be available,
# for example, 'http://localhost:14501'.
start aprs 14501
#
# If you want the NOSaprs browser based message center
# for example, 'http://localhost:14845'.
start aprs 45845
#
# CONVERSE BRIDGE 
#===================
#conv host lap 
conv mycall pi1lap-6
conv interface vhf on
conv interface uhf on
conv interface tun0 on
conv interface encap on
#conv setinfo on
conv channel 137
chnl 137 is Nederland  
#conv link 192.168.1.222
#
# HTTP SERVER
#===================
start http 80 /wwwroot
#http absinclude on
#http maxcli 15
#http multihomed on
#http simult 15
#http tdisc 180
#
# FTP SERVER
#===============
ftptdisc 300
ftype B
ftpclzw on
ftpslzw on
ftpmaxservers 15
#
#
# START
#===============
start ax25
start telnet
start smtp
start finger
start pop
start ttylink
start netrom
start ftp
start convers
start forward
strace on
trace tun0 0111
#trace vhf 0111
#trace uhf 0111
#trace axip 0111
#
# expire messages each night at 1 a.m.
at 0100 "expire 24"
#delete old bid's every night at 2 a.m., limit is 31 days 
at 0200 "oldbid 24 31"
#
echo "********** Start the engines ************"
echo "*         jnos.pd2lt.ampr.org           *"
echo "*      pd2lt@pi8lap.#zl.nld.euro        *"
echo "*         Linux / Jnos Power            *"
echo "* Debian 3.2.68-1+deb7u3 i686 GNU/Linux *"
echo "*  POP/SMTP/FTP/CONV/BBS/AXIP/NETROM    *"
echo "*****************************************"