   
   Amiga TCP/IP Software
   
   FEATURES
   
   The Amiga TCP/IP software supports the A2065 Ethernet card or
   Ameristar Ethernet cards.  The software can support as many cards as
   you can connect to a machine (normally up to 5).  It works on any
   Amiga under 1.3 or 2.0.  Requires 1Mbyte RAM.
   
   The A2065 is a Zorro II card.  It provides 15 pin AUI connector for
   use with thick Ethernet (10BASE5) and a BNC connector for use with
   thin Ethernet (10BASE2).  It has been tested with Amiga 2000, 2500
   and 3000s.
   
   The Amiga TCP/IP software supports the following basic protocols:
           ARP
           ICMP
           IP
           TCP
           UDP
   
   The following applications are included:
           Telnet          (client only)
           FTP             (client and server)
           rlogin          (client only)
           rloginVT        (rlogin with VT100 emulation, client only)
           ping            (client and server)
           finger          (client and server)
           rsh             (client and server, but no rlogin mode)
           rcp             (client and server)
           route           (client and server)
   
   The following commands and diagnostic programs are included:
   
           arp               netstat  
           chmod             passwd   
           lance-test        rpcinfo  
           ls                showmount
   
   
   Network FileSystem (NFS)
   
   The networking software also supports Sun XDR, RPC, and NFS (client only).
   NFS client software gives you the ability to mount disks served by an
   NFS server.  Once mounted, access to remote NFS volumes is completely
   transparent.  That is, you access remote files just like they were on
   a local partition of your hard drive.
   
   For example, if I have an account on my_vax in directory /usr/graphics
   In my startup-sequence I can execute 
   
   nfsmgr mount my_vax:/usr/graphics graphics:
   
   This creates a remote partition graphics: that is functionally equivalent
   to my local work: partition.  If I'm running workbench, an icon comes up
   for graphics: and I can open it, move icons into it, etc.  Unless I watch
   the hard disk light, I don't even realize that the files are being stored
   across the network, not locally.
   
   NFS server software is available on most UNIX machines, as well as
   many other operating systems.
   
   --------------
   Usage examples
   --------------
   
   ping
   ----
   Ping is used to see if another machine is alive or to check
   to see if a connection exists to the other machine.
   
   Usage:  ping [-drv] host [data size] [npackets]
   
   >ping my_vax
   
   PING my_vax (123.4.567.4): 56 data bytes
   64 bytes from 123.4.567.4: icmp_seq=0. time=16. ms
   64 bytes from 123.4.567.4: icmp_seq=1. time=0. ms
   64 bytes from 123.4.567.4: icmp_seq=2. time=0. ms
   
   ----my_vax PING Statistics----
   3 packets transmitted, 3 packets received, 0% packet loss
   round-trip (ms)  min/avg/max = 0/5/16
   
   finger
   ------
   Finger gives information about remote users
   
   Usage: finger [user][@host]
   
   >finger @wheel
   
   [wheel]
   Login       Name              TTY Idle    When      Where
   joe     Joe Blank              p0   9d   Mon 16:04  toaster             
   cindy   Cindy Lane             p1        Thu 12:08  blender        
          
   >finger joe@wheel
   
   [wheel]
   Login name: joe                         In real life: Joe Blank
   Directory: /usr/software/joe            Shell: /bin/tcsh
   On since Jun 21 12:08:24 on ttyp1 from toaster
   47 seconds Idle Time
   No unread mail
   No Plan.
   
   rcp
   ---
   rcp is the UNIX remote copy command.  In UNIX,
   > rcp my_file host2:
   would copy my_file to host2 (in your home directory, by default)
   Because the colon ":" is used for volume names on the Amiga, Amiga
   rcp uses an equals sign instead. So,
   > rcp startup-sequence my_vax=
   would copy your startup-sequence to my_vax.  You can also use
   > rcp startup-sequence my_vax=start
   to copy "startup-sequence" to "start" in your home dir on my_vax.
   The -r option copies recursively, so
   > rcp -r dh0: my_vax=backup
   would copy your entire dh0: partition to the backup directory
   in your home dir on my_vax
   
   rsh
   ---
   rsh executes remote commands.  On the Amiga, rsh works just like
   UNIX except an rsh into an Amiga cannot start up an interactive shell.
   
   Usage: rsh host commands...
   
   The following command execute the "status" command on the remote
   Amiga named "toaster"
   
   > rsh toaster status
   Process  1: Loaded as command: inet:c/NFSc
   Process  2: Loaded as command: dh0:bin/fixlace
   Process  3: Loaded as command: dh0:bin/dlineart
   Process  4: No command loaded.
   Process  5: Loaded as command: inet:serv/portmapd
   Process  6: Loaded as command: inet:serv/inetd
   Process  7: No command loaded.
   Process  9: Loaded as command: inet:serv/rshd
   Process 10: Loaded as command: status
   
   For another example of using rsh, see the sample script on the last page.
   
   rpcinfo
   -------
   Gives RPC information on a remote server
   
   >rpcinfo -p wheel
   
      program vers proto   port
       100004    2   udp   1027  ypserv
       100004    2   tcp   1024  ypserv
       100004    1   udp   1027  ypserv
       100004    1   tcp   1024  ypserv
       100007    2   tcp   1025  ypbind
       100007    2   udp   1035  ypbind
       100007    1   tcp   1025  ypbind
       100007    1   udp   1035  ypbind
       100009    1   udp   1023  yppasswdd
       100003    2   udp   2049  nfs
       100024    1   udp   1087  status
       100024    1   tcp   1031  status
       100021    1   tcp   1032  nlockmgr
       100021    1   udp   1092  nlockmgr
       100020    1   udp   1095  llockmgr
       100020    1   tcp   1033  llockmgr
       100021    2   tcp   1034  nlockmgr
       100012    1   udp   1115  sprayd
       100011    1   udp   1117  rquotad
       100005    1   udp   1119  mountd
       100008    1   udp   1121  walld
       100002    1   udp   1123  rusersd
       100002    2   udp   1123  rusersd
       100001    1   udp   1126  rstat_svc
       100001    2   udp   1126  rstat_svc
       100001    3   udp   1126  rstat_svc
       100015    6   udp   8769  selection_svc
   
   showmount
   ---------
   Shows which remote volumes may be mounted
   
   >showmount wheel
   
   Filesystem      Groups
   /usr    gold, allsun, allsoft, 
   /usr/wheel      gold, allsun, allsoft, 
   /usr.MC68010/wheel      gold, baby, allsun, allsoft, 
   /usr.MC68010    gold, allsun, allsoft, 
   
   lance-test
   ----------
   Tests A2065 cards
   lance-test must be run before you start the networking software.
   
   >lance-test diags
   Ethernet address of board is 00:80:10:00:00:01
   
   
               Ethernet Controller Diagnostics
   
                   Buffer memory test.............. PASS
                   LANCE configuration test........ PASS
                   Interrupt test.................. PASS
                   LANCE collision logic test...... PASS
                   Internal loopback test.......... PASS
   
               Controller passed diagnostics.
   
   
   passwd
   ------
   Updates the local password file.  Used for remote access from FTP.
   
   arp
   ---
   Get internet to ethernet address mappings.
   >arp
   usage: arp hostname
          arp -a
          arp -d hostname
          arp -s hostname ether_addr [temp] [pub] [trail]
          arp -f filename
   
   >arp -a
   my_vax (123.4.567.4) at aa:0:4:0:14:8
   wheel (123.4.567.50) at 8:0:20:1:e:1f
   
   netstat
   -------
   Print network statistics.
   
   usage: netstat [ -Aaihmnrst ] [-p proto] [-I interface]
   
   >netstat -p tcp
   
   tcp:
           1619 packets sent
                   699 data packets (1539 bytes)
                   0 data packets (0 bytes) retransmitted
                   865 ack-only packets (788 delayed)
                   0 URG only packets
                   0 window probe packets
                   0 window update packets
                   55 control packets
           1257 packets received
                   741 acks (for 1581 bytes)
                   29 duplicate acks
                   0 acks for unsent data
                   1047 packets (115880 bytes) received in-sequence
                   15 completely duplicate packets (15 bytes)
                   0 packets with some dup. data (0 bytes duped)
                   15 out-of-order packets (0 bytes)
                   0 packets (0 bytes) of data after window
                   0 window probes
                   5 window update packets
                   0 packets received after close
                   0 discarded for bad checksums
                   0 discarded for bad header offset fields
                   0 discarded because packet too short
           22 connection requests
           11 connection accepts
           31 connections established (including accepts)
           44 connections closed (including 0 drops)
           2 embryonic connections dropped
           741 segments updated rtt (of 763 attempts)
           2 retransmit timeouts
                   0 connections dropped by rexmit timeout
           0 persist timeouts
           0 keepalive timeouts
                   0 keepalive probes sent
                   0 connections dropped by keepalive
   
   >netstat -I ae0
   
   Name  Mtu   Network     Address        Ipkts Ierrs    Opkts Oerrs  Coll
   ae0   1500  xyz         amiga3          8390     0     2378     0     0
   
   ls
   --
   UNIX-type ls command for the Amiga.  Can show owners and protection
   bits on NFS volumes.
   
   For example,
   
   >list marvel:tmp
   
   Directory "marvel:tmp" on Wednesday 20-Jun-90
   .info                         81 ----rwed Thursday  11:23:16
   readme                      7128 ----rwed Friday    21:02:37
   rfc-index                 136342 ----rw-d Friday    14:48:33
   work                         Dir --p-rwed Today     15:31:06
   3 files - 1 directory - 308 blocks used
   
   >ls -l marvel:tmp
   
   drwxrwxrwx 406    14     90-06-20 15:31:06    0      Dir work
   -rwxrw-rwx 406    14     90-06-14 11:23:16    2       81 .info
   -rwxrw-rwx 406    14     90-06-15 21:02:37   14     7128 readme
   -rw-rw-r-- 406    14     90-06-15 14:48:33  288   136342 rfc-index
   Dirs:1    Files:3    Blocks:304   Bytes:143551  
   
   
   chmod
   -----
   UNIX-type chmod function for the Amiga.  Can modify NFS volume 
   protection bits.
   
   >chmod a+w marvel:tmp/rfc-index
   >ls -l marvel:tmp
   drwxrwxrwx 406    14     90-06-20 15:31:06    0      Dir work
   -rwxrw-rwx 406    14     90-06-14 11:23:16    2       81 .info
   -rwxrw-rwx 406    14     90-06-15 21:02:37   14     7128 readme
   -rw-rw-rw- 406    14     90-06-15 14:48:33  288   136342 rfc-index
   Dirs:1    Files:3    Blocks:304   Bytes:143551  
   
   -----------------------------------------------------------
   
   SECURITY
   
   Currently the Amiga networking software, like many PC-based
   networking products, is a potential security problem.  Every PC
   is configured with a machine name and internet number.  Every user
   has a username, user ID (UID), and group ID (GID).  The problem
   is that these are not secure and may be easily changed by a
   knowledgeable user.
   
   Some of the important security files you should be aware of
   are:
   
   hosts.equiv
   -----------     
   This is a system file that lists the trusted hosts.  If a machine
   is included in this list, then rlogin, rsh, rcp, etc. will be 
   permitted freely from that machine to your machine.
   
   exports
   -------         
   This system file lists which directories will be exported via NFS
   and which machines may access them.
   
   .rhosts
   -------
   This is a user file is the user's home directory.  It permits rlogins
   from specific hosts without prompting for a password.
   
   .netrc
   ------
   This is a user file that lists the name and passwords to automatically
   use when FTP'ing to a remote machine.  This is always a security
   problem because account names and passwords are listed here in clear
   text.
   
   The interim solution to the security problem is to tell your users to
   not use .netrc and .rhosts files.  You should also make sure that
   the hosts.equiv file contains no unsecure machines.  
   
   Preventing illegal access via NFS is difficult, because PCs can change
   their names easily.  You can make this more difficult for potential
   troublemakers by making permanent arp entries for each PC ethernet
   address.  Of course this will make things more difficult in case of
   ethernet board trouble, but in some cases the additional security may
   be worth it.
   
   The best solution to the security problem is to use some kind of
   authentication service.  This means that before you use your PC on the
   network, you will first have to provide a valid username and password
   to some central server which maintains a secure master password file.
   We are looking at several different methods to do this.
   
   __________________________________________________
   
   Sample Script for remote printing
   
   This is an example of the power of the rsh command combined
   with either NFS or rcp.  You could easily set your amiga up
   to send mail, automatically move files between different machines, etc.
   
   This script assumes the use of NFS.  It could be written to use rcp
   if NFS is not available.
   
   . rprint
   .key file/a,homevol/k,username/k,printer/k,number/k,sides/k,type/k
   .bra {
   .ket }
   .def number 2
   .def sides 1
   .def type "ascii"
   .def printer "lp1"
   .def homevol "marvel:"
   .def username "marvel"
   
   
   IF NOT EXISTS {homevol}.prspool
      makedir {homevol}.prspool
   ENDIF
   
   delete >NIL: {homevol}.prspool/#?
   
   copy {file} {homevol}.prspool
   
   run rsh my_vax -l {username} "cd ~{username}/.prspool;lpr -P{printer} 
           -N{number} -K{sides} -D{type} *"
   
   echo "Done printing"
