This article begins a collection of information, concepts, how-tos, and tips for configuring, managing, and using the IBM i NetServer.
Index
Introduction to NetServers
IBM i Support for Windows Network Neighborhood (aka IBM i NetServer) is a service that allows Windows clients to access shared IBM i folders and print queues. The IBM i NetServer allows PCs running Windows to access IFS and printers that are managed by the IBM i platform.
Client PCs on the network use the file and printer sharing features included in their operating system.
You do not need to install any additional software on your PC to use IBM i NetServer resources.
Linux clients with Samba software installed can also seamlessly access IBM i NetServer shared resources. For more information, see the IBM documentation: https://www.ibm.com/docs/en/i/7.5?topic=netserver-accessing-i-linux-samba-client-support .
NetServer is fully compatible with the standard protocol CIFS extension (Common Internet File System), now deprecated, and SMB extension (Server Message Block) and uses its implementation with the protocol NetBIOS over TCP/IP.
Figure taken from the IBM redbook “AS/400 Netserver advantage”
Outline of the structure of the protocols used by the IBM i NetServer
IBM i NetServer and its resources are identified on the network by A C (Universal Naming Convention) in the form \server-nameshare-namefile-path
.
NetServer was introduced in the release V4R2 .
Configure NetServers
You must log in to Navigator for i as a user who has at least *IOSYSCFG and *SECADM special authorities.
The IBM i product 57xxSS1 option 12 (host servers) must be installed on the server.
For more information on using Navigator for i you can consult the video tutorial Power Coffee 1/2022 .
From the icon Net choose the voice Server > TCP/IP servers.
To view or modify the configuration, choose the item Property from the context menu.
Click on the button to activate the changes Expand on next boot.
The changes you make will take effect the next time you restart the NetServer service.
The system name proposed by default coincides with the machine serial number; you can change it but it is important to make sure it is unique within the network.
A non-unique name can cause the NetServer to fail to boot with error CPIB683 RC5 RC3420.
It is recommended that the NetServer name match the system name. To view the system name use the command DSPNETA
.
In the “Advanced” tab specify the CCSID 850 or 1252.
In the “Security” tab it is possible (but NOT recommended) specify a Guest User ID. This user will be used when the client attempts to access a shared resource WITHOUT specifying a user ID.
As convenient as it may seem to have a Guest user ID in order not to be forced to specify a login user ID when using shared resources, this is not a practice to be recommended. Having access to the shared resources of the NetServer through a “generic” user actually lowers the security level of the system by standardizing the different access authorizations to the objects dependent on the user who is actually connecting.
If you want to HIDE from the network resources viewable by a client, the NetServer can be deselected in the “Advanced” tab, the “Send search announcements” option. If you know the name or IP address of the NetServer, you will still be able to access the shared resources.
Add in the host table (CFGTCP menu point 10) the name assigned to the NetServer combined with its IP address.
Set the host name search priority = *LOCAL in the TCP/IP domain properties (CFGTCP menu point 12).
Incorrect setting of these parameters can cause the NetServer not to start with error CPIB683 RC13.
Start and stop NetServer
Also from Navigator for i it is possible to manage NetServer startup or shutdown via the context menu.
Or from the command line 5250 use the commands STRTCPSVR *NETSVR
to start or ENDTCPSVR *NETSVR
to shut down (available since V4R4).
If you also use NetServer for sharing print queues, you need to start the host servers with the command STRHOSTSVR *NETPRT
.
Since V4R4 NetServer is started automatically when TCP/IP starts.
You can start or stop the NetServer by calling the APIs:
- Start NetServer:
CALL QZLSSTRS PARM('0' X'00000000')
- Shutdown NetServer:
CALL QZLSENDS PARM(X'00000000')
Check the status of NetServer
Once successfully started the NetServer service will be in the subsystem QSERVER
the job QZLSSERVER
(unless you have changed the default parameters for NetServer jobs).
Also verify that the job is active QNPSERVD
in the subsystem QSYSWRK
.
When one or more clients connect to NetServer resources one or more jobs will be launched QZLSFILE
(for accessing non-threadsafe file systems, such as QDLS, NFS, QFileSvr.400 and QNetWare) and/or QZLSFILET
(from V5R4 for accessing threadsafe file systems, such as Root, QOpenSys, User-Defined (UDFS), QNTC, QSYS.LIB, QOPT, and QLANSrv).
From Navigator for i, you can check the status of the NetServer and related jobs.
You can check the connection status using the command NETSTAT *CNN
.
There must be 4 lines listening on the local “netbios” ports (137, 138 and 139).
Or with the SQL statement:
select LOCAL_PORT "Port", LOCAL_PORT_NAME "Port Name", TCP_STATE "State", NETWORK_CONNECTION_TYPE "Conn. Type", BIND_USER "User", NUMBER_OF_ASSOCIATED_JOBS "Number of jobs" from QSYS2.NETSTAT_INFO where LOCAL_ADDRESS = '0.0.0.0' and LOCAL_PORT between 137 and 139 order by LOCAL_PORT;
For every client connected to a NetServer resource there will be a line on the local CIFS port (445).
Or with the SQL statement:
select REMOTE_ADDRESS "Remote address.", REMOTE_PORT "Rem port.", LOCAL_PORT "Port", LOCAL_PORT_NAME "Port Name", TCP_STATE "Status", BYTES_SENT_REMOTELY "Bytes inv.", BYTES_RECEIVED_LOCALLY "Bytes rec.", NUMBER_OF_ASSOCIATED_JOBS "Number of jobs" from NETSTAT_INFO where LOCAL_ADDRESS not in('0.0.0.0', '127.0.0.1', '::') and LOCAL_PORT = 445 order by LOCAL_PORT, REMOTE_ADDRESS;
Keep up to date
As with all operating system products it is important to keep up to date with PTFs. The list of recommended NetServer PTFs is available in the following IBM documents:
- IBM i 7.5 NetServer Recommended Fixes, IBM document no. 6605061, 14-Nov-2022, https://www.ibm.com/support/pages/ibm-i-75-netserver-recommended-fixes
- IBM i 7.4 NetServer Recommended Fixes, IBM document no. 960175, 14-Nov-2022, https://www.ibm.com/support/pages/ibm-i-74-netserver-recommended-fixes
- IBM i 7.3 NetServer Recommended Fixes, IBM document no. 666997, 14-Nov-2022, https://www.ibm.com/support/pages/ibm-i-73-netserver-recommended-fixes
- IBM i 7.2 NetServer Recommended Fixes, IBM document no. 667393, 14-Nov-2022, https://www.ibm.com/support/pages/ibm-i-72-netserver-recommended-fixes
- IBM i 7.1 NetServer Recommended Fixes, IBM document no. 667395, 18-Dec-2019, https://www.ibm.com/support/pages/ibm-i-71-recommended-fixes-ibm-i-netserver
IBM i NetServers and SMBs
SMB 1.0 (available since Windows XP and Server 2003) is supported up to and including IBM i version 7.4.
SMB 2.0 (available from Windows Vista, Windows 7 and Server 2008) is supported from IBM i version 7.2 .
SMB 3.0 (available from Windows 8, 10, 11 and Server 2012, 2016, 2019, 2022) is supported from IBM i version 7.4 .
Learn more in the IBM document https://www.ibm.com/support/pages/what-versions-smb-are-supported-ibm-i-netserver and in the MicroSoft document https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/a64e55aa-1152-48e4-8206-edd96444e7f7
Backups
NetServer uses files in IFS to store configurations. Files that should be added to regular backups are in the folder /QIBM/UserData/OS400/NetServer
:
qazlscfg
: configuration informationqazlsshr
: Information about shared resourcesqazlsextxxx
: Information about text conversions
If you are using NetServer as a domain server, add the folder as well /QIBM/UserData/OS400/NetServer/NetLogon
.
Bibliography
The main page of the IBM documentation on NetServer can be consulted at this link: https://www.ibm.com/docs/en/i/7.5?topic=services-i-netserver . Other useful resources can be found in the attached document:
In the next article we will talk about how share IFS resources through NetServer.
1 Comment