Netware Client for FreeBSD

From: James Leone (linuxcpa_at_netscape.net)
Date: 09/15/03

  • Next message: chael_at_southgate.ph.inter.net: "Re: No networking on 4.9-PRERELEASE"
    Date: Sun, 14 Sep 2003 16:57:21 -0700
    To: freebsd-questions@freebsd.org
    
    

    I have access to a Netware IV server and am trying to connect to it from
    my FreeBSD 5.1-Current desktop. My goal is to figure out how it works
    in FreeBSD, so I can add support for FreeBSD to the Netwhere client for
    Linux:

    http://forge.novell.com/modules/xfmod/project/?nwcunix

    It took me a long time to get the "recipe" for Linux correct, and I hope
    to get the FreeBSD "recipe" right in a reasonable amount of time.

    I have compiled a series of clues, extracted from all of the
    documentation that I have searched for and read over. However, after
    following these steps, I am still unable to connect to the Netware
    server, and how they relate to each other is unclear.

    1. . I compiled IPX support into the kernel

    2. I installed the Ncplib port

    There is a ncplib port in /usr/ports/net/ncplib. I performed a standard
    make install clean, and it seems to have installed correctly, however, I
    cannot find any useful instructions. The
    /usr/ports/net/ncplib/README.html file asks me to please read the
    description file, which only states this:

    > cplib is a free client for Novell NetWare servers.
    > WWW: http://rbp.chat.ru/ncplen.html
    >
    > --
    > Boris Popov
    > bp@butya.kz

    However, when I go to http://rbp.chat.ru/ncplen.html which is refered to
    in README.html and the description file, the page says:

    > An error occured while loading http://www http//rbp.chat.ru/ncplen.html:
    >
    >
    > Unknown host www http

    So, I take a look at /usr/ports/net/ncplib/pkg-plist file, it shows:

    > bin/ncpasswd
    > bin/ncplist
    > bin/ncplogin
    > bin/ncplogout
    > bin/ncplpd
    > bin/ncprint
    > bin/ncpsend
    > bin/ncpurge
    > sbin/ncpsvc
    > @cwd /
    > modules/nwfs.ko
    > sbin/mount_nwfs

    There are man pages for these commands, but when I actually run the
    commands, they give me the following errors:

    This command check the network for Netware servers:

    > ncplist s
    > Can't find any file server

    I also check out the man page for "mount_nwfs" and run a command to log
    into the netware server on a temporary account that does not have a
    password. I have tested its access in Linux and Windows and they both work:

    > mount_nwfs -S BAM -U testbsd -V sys /nw
    > mount_nwfs: can't find server BAM: syserr = Protocol not supported

    Obviously I am missing some information, so I search the net and find
    this page:

    http://people.freebsd.org/~bp/ipxen.html

    The first thing I noticed was that hte page is missing a date. This is
    important, because it instructs the user to replace some of the source
    code that comes with FreeBSD 5.1-Current with code available for
    download, and then to compile that into the kernel. I did not do this,
    because I had no idea if these changes have already been merged into the
    tree. I did compile my kernel adding the IPX option, but did not
    download ipxrt.tgz, because IPXrouted was already installed on my
    machine. I also know from my experience with Linux, that Mars-nwe is
    required to login to a Netware 4.11 server. I tried using Mars-nwe, but
    that didn't seem to help either. Yes, I read the man pages, but
    unfortunately, configuration information has not been provided.

    Thanks to some additional searching and for the information recently
    provided by Cristian Salan I:

    1. Added these lines to /etc/rc.conf:

    > ifconfig_rl0f2_ipx="ipx 0x350" #IPX address family entry

    (I also tried: ifconfig_rl0f2_ipx="ipx 12345678" #IPX address family entry)

    >
    > ipxrouted_enable="YES" # Set to YES to run the IPX routing daemon

    Note that when I run ifconfig, my device is normally "rl0".

    2. Added these lines to /boot/loader.conf:

    > if_ef_load="YES"
    > nwfs_load="YES"
    > ncp_load="YES"

    3. However when I run ncplist s, I still get a goose egg:

    > localhost# ifconfig
    > rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    > options=8<VLAN_MTU>
    > inet 192.168.0.133 netmask 0xffffff00 broadcast 192.168.0.255
    > inet6 fe80::240:f4ff:fe64:766f%rl0 prefixlen 64 scopeid 0x1
    > ether 00:40:f4:64:76:6f
    > media: Ethernet autoselect (100baseTX <full-duplex>)
    > status: active
    > lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
    > rl0f0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    > ether 00:40:f4:64:76:6f
    > rl0f1: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    > ether 00:40:f4:64:76:6f
    > rl0f2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    > ipx bc614e.40f464766f
    > inet6 fe80::240:f4ff:fe64:766f%rl0f2 prefixlen 64 scopeid 0x5
    > ether 00:40:f4:64:76:6f
    > rl0f3: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    > ether 00:40:f4:64:76:6f
    > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    > inet6 ::1 prefixlen 128
    > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7
    > inet 127.0.0.1 netmask 0xff000000
    > localhost# ncplist s
    > Can't find any file server
    > localhost#

    4. I ran kldstat to determine if the required network drivers were loaded:

    > localhost# kldstat
    > Id Refs Address Size Name
    > 1 13 0xc0100000 622f74 kernel
    > 2 1 0xc0723000 2d38 if_ef.ko
    > 3 1 0xc0726000 cb60 nwfs.ko
    > 4 5 0xc0733000 2c0c libmchain.ko
    > 5 2 0xc0736000 ace8 ncp.ko
    > 6 1 0xc0741000 4c1d0 acpi.ko
    > 7 1 0xc28b4000 18000 linux.ko
    > 8 1 0xc2be4000 1f000 smbfs.ko
    > 9 2 0xc2c10000 3000 libiconv.ko
    > localhost#

    As mentioned IPX is compiled into the kernel.

    5. /var/log/nw.log shows:

    > 09.14,11:37:53 NWS 0 0:Starting Version: 0.99pl19
    > 09.14,11:37:53 NWS 0 0:set_emu_tli:
    > Can't find ipx interface for net=a
    > 09.14,11:37:53 NWS 0 0:SERVER name='LOCALHOST.LOCALDOMAIN', INTERNAL
    > NET=0xa, NODE=0x00:00:00:00:00:00
    > 09.14,11:37:53 NWS 0 0:USE_PERMANENT_OUT_SOCKET enabled
    > 09.14,11:37:53 NWS 0 0:IPX_MAX_DATA=1470, RW_BUFFERSIZE =1444
    > 09.14,11:37:53 NWB 0 0:Starting Version: 0.99pl19
    > 09.14,11:37:53 NWB 0 0:Add/Change User='SUPERVISOR', UnixUser='root'
    > 09.14,11:37:53 NWB 0 0:Add/Change User='GUEST', UnixUser='nobody'
    > 09.14,11:37:53 NWB 0 0:set_emu_tli:
    > Can't find ipx interface for net=a
    > 09.14,11:37:53 NWB 0 0:USE_PERMANENT_OUT_SOCKET enabled
    > 09.14,11:37:55 NCP 0 0:Starting Version: 0.99pl19
    > 09.14,11:37:55 NCP 0 0:set_emu_tli:
    > Can't find ipx interface for net=a
    > 09.14,11:37:55 NCP 0 0:USE_PERMANENT_OUT_SOCKET enabled
    > 09.14,11:37:57 NWS 0 0:write_wdata:Can't assign requested address
    > to NWBIND
    > 09.14,11:41:30 NWS 0 0:write_wdata:Can't assign requested address
    > to NCPSERV
    > 09.14,11:41:30 NWS 0 0:write_wdata:Can't assign requested address
    > to NWBIND

    6. This is what /var/log/debug.log shows:

    > Sep 14 12:40:24 localhost IPXrouted[314]: ADD dst 0#0:0:0:0:0:0,
    > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state
    > INTERFACE|CHANGED
    > Sep 14 12:45:24 localhost IPXrouted[314]: ADD dst
    > 92ab8232#0:0:0:0:0:0, router 92ab8232#0:0:0:0:0:1, metric 0, ticks 0,
    > flags UP state INTERFACE|CHANGED
    > Sep 14 12:58:46 localhost root: spamd starting
    > Sep 14 13:03:33 localhost IPXrouted[313]: ADD dst
    > 92ab8232#0:0:0:0:0:0, router 92ab8232#0:0:0:0:0:1, metric 0, ticks 0,
    > flags UP state INTERFACE|CHANGED
    > Sep 14 13:57:51 localhost root: spamd starting
    > Sep 14 14:03:53 localhost root: spamd starting
    > Sep 14 14:24:36 localhost root: spamd starting
    > Sep 14 14:28:24 localhost IPXrouted[311]: ADD dst 0#0:0:0:0:0:0,
    > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state
    > INTERFACE|CHANGED
    > Sep 14 14:28:37 localhost root: spamd starting
    > Sep 14 14:58:49 localhost IPXrouted[311]: ADD dst 0#0:0:0:0:0:0,
    > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state
    > INTERFACE|CHANGED
    > Sep 14 14:59:02 localhost root: spamd starting
    > Sep 14 15:20:45 localhost IPXrouted[311]: ADD dst 0#0:0:0:0:0:0,
    > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state
    > INTERFACE|CHANGED
    > Sep 14 15:20:58 localhost root: spamd starting
    > Sep 14 16:14:34 localhost IPXrouted[312]: ADD dst bc614e#0:0:0:0:0:0,
    > router bc614e#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state
    > INTERFACE|CHANGED
    > Sep 14 16:14:47 localhost root: spamd starting

    7. This is what /var/log/messages shows:

    > Sep 14 16:15:56 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:16:00 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:16:01 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:16:05 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:16:11 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:16:15 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:16:31 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:16:35 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:17:11 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:17:15 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:18:31 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:18:35 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:21:11 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:21:15 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:26:31 localhost IPXrouted[666]: bind: Address already in use
    > Sep 14 16:26:35 localhost IPXrouted[668]: bind: Address already in use
    > Sep 14 16:26:59 localhost IPXrouted[820]: bind: Address already in use
    > Sep 14 16:27:34 localhost last message repeated 3 times
    > Sep 14 16:29:34 localhost last message repeated 2 times

    Top shows ipxrouted as running:

    > st pid: 1083; load averages: 1.01, 0.90, 0.54 up 0+00:34:06
    > 16:47:37
    > 63 processes: 3 running, 60 sleeping
    > CPU states: 3.8% user, 0.0% nice, 2.7% system, 1.1% interrupt,
    > 92.3% idle
    > Mem: 152M Active, 7168K Inact, 47M Wired, 15M Cache, 35M Buf, 24M Free
    > Swap: 491M Total, 60K Used, 490M Free
    >
    > PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
    > 570 root 116 0 1380K 900K select 0:00 0.00% 0.00% inetd
    > 312 root 96 0 1200K 672K select 0:00 0.00% 0.00%
    > IPXrouted
    > localhost#

    There are two other files that seem to be a part of the whole puzzle,
    that I have configured as well:

    1. /usr/local/etc/rc.d/nwfs.sh - this mentions /root/.nwfsrc and reads:

    > #!/bin/sh
    > #
    > # $FreeBSD: src/share/examples/nwclient/nwfs.sh.sample,v 1.1
    > 1999/11/03 12:06:13 bp Exp $
    > #
    > # Location: /usr/local/etc/rc.d/nwfs.sh
    > #
    > # Simple script to mount NetWare volumes at startup.
    > # It assumes that all mount points described in fstab file and password
    > # entries listed in /root/.nwfsrc file. See mount_nwfs(8) for details.
    > #
    >
    > mount=/sbin/mount
    > umount=/sbin/umount
    > HOME=/root; export HOME
    > vols="sys"
    >
    > if [ "x$1" = "x" -o "x$1" = "xstart" ]; then
    > echo -n "Mounting NetWare volumes: "
    > for vol in ${vols}; do
    > $mount $vol
    > echo -n "$vol "
    > done
    > echo "Done"
    > elif [ "x$1" = "xstop" ]; then
    > echo -n "Unmounting NetWare mount points: "
    > for vol in ${vols}; do
    > $umount $vol
    > echo -n "$vol "
    > done
    > echo "Done"
    > else
    > echo "Unknown command $1"
    > fi

    This seems like it should be used with $HOME/.nwfsrc, which reads:

    > # $FreeBSD: src/share/examples/nwclient/dot.nwfsrc,v 1.2 2002/04/20
    > 05:04:21 bp Exp $
    > #
    > # Example for .nwfsrc file
    > #
    > # ncplib lookups configuration files in next order:
    > # 1. ~/.nwfsrc
    > # 2. /etc/nwfs.conf - if this file found it will
    > # override values with same keys from user files.
    > #
    > #
    > # This file consist of a set of sections. Each section started by
    > section name
    > # surrounded by square brackets:
    > # [section_name]
    > #
    > # End of the section marked either by new section or by the end of file.
    > # Each section can contain zero or more parameters:
    > # [section_name]
    > # key=value
    > #
    > # where 'key' is a represents parameter name and 'value' a value assigned
    > # to this parameter.
    > #
    > # NetWare library uses next forms of section names:
    > # [SERVER]
    > # [SERVER:USER]
    > # [SERVER:QUEUE]
    > #
    > # When user issues any ncp* command that requires create of new connection
    > # to a NetWare server, library function lookups for parameters in the
    > # corresponding section. First it looks in the [SERVER] section and
    > then in
    > # the [SERVER:USER] section. Please note that server and user names
    > should be
    > # in the upper case.
    > #
    >
    > # Following parameters are valid for [SERVER] or [SERVER:USER] section:
    > [BAM:james]
    > # if you don't use password leave value empty
    > #password=ghost
    >
    > # how many retries before error, default 10
    > retry_count=10
    >
    > # timeout for request to complete
    > timeout=5
    >
    > # access mode to connection, default 0700
    > #access_mode=0700
    >
    > # signature level, default 0 - no signatures
    > #sig_level=0
    >
    > # force bindery login, default no
    > bindery=no
    >
    > # default print queue for user, default is none
    > # print_queue=QE_BJ
    >
    >
    > #[ANOTHERSERVER:PLAINUSER]
    > # in this case user have an empty password
    > #password=
    >
    > # Defaults for printer queues defined as [SERVER:QUEUE]
    > # communication parameters taken from [SERVER:USER] section
    > # see man ncprint(1) for queue parameters description
    > # note: if any banner related option is specified, banner will be printed.
    > [BAM:HP4000_Q]
    >
    > path_name=/nw
    > #file_name=passwd
    > banner_name= MY FIRST FREEBSD PRINT WITH NETWARE
    > #job_desc=Printing from FreeBSD
    >
    > #lines=66
    > #rows=80
    > copies=1
    > tab_size=8
    > no_form_feed=yes
    > #form_number=0

    Here is what happens when I run /usr/local/etc/rc.d/nwfs.sh:

    > localhost# /usr/local/etc/rc.d/nwfs.sh
    > Mounting NetWare volumes: mount: sys: unknown special file or file system
    > sys Done
    > localhost#

    Here is what happens when I run mount_nwfs

    > localhost# mount_nwfs
    > usage: mount_nwfs [-Chv] -S server -U user [-connection options]
    > -V volume [-M mode] [-c case] [-d mode] [-f mode]
    > [-g gid] [-l locale] [-n os2] [-u uid] [-w scheme]
    > node
    > mount_nwfs [-options] /server:user/volume[/path] node
    > localhost# mount_nwfs -Chv
    > mount_nwfs: no default connection found: syserr = Bad file descriptor
    > localhost#

    Note that I see no explanation of the [-Chv] portion of the command in
    the man page.

    So, what do I need to do to get this to work ?

    James Leone

    _______________________________________________
    freebsd-questions@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-questions
    To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"


  • Next message: chael_at_southgate.ph.inter.net: "Re: No networking on 4.9-PRERELEASE"

    Relevant Pages

    • FreeBSD NFS client and Netware 6.5 NFS server
      ... Message below is about a FreeBSD server I maintain. ... working ok with Netware 5.1. ... One of the servers was recently upgraded to Netware 6.5 and NFS is no ...
      (freebsd-questions)
    • RE: Escalating from Netware box
      ... The /etc/console.log file is locked when the server is running so you ... I think you're gonna have a tough time using the Netware box to launch ... NetWare-Enterprise-Web-Server/5.1 box through the ability to run Perl ... or execute any command. ...
      (Pen-Test)
    • nwfs panic
      ... All I am experiencing a panic when I use the mount_nwfs command to ... Netware OS version information: ... File server name: MVR1 ... Frame type: ETHERNET_II ...
      (freebsd-current)
    • nwfs panic
      ... All I am experiencing a panic when I use the mount_nwfs command to ... Netware OS version information: ... File server name: MVR1 ... Frame type: ETHERNET_II ...
      (freebsd-stable)
    • FreeBSD 4.9/Novell Netware 6.5 mount problem. . .
      ... IT guy maintains the Netware server. ... Among other things, we use the FreeBSD ... The other IT guy has looked high and low, and can't find a bug report for Novell ...
      (comp.unix.bsd.freebsd.misc)