Author Topic: NAT Network & Host-Only Network  (Read 12465 times)

ppgrainbow

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • deviantART
NAT Network & Host-Only Network
« on: May 05, 2023, 03:56:58 am »
I'm having problems trying to get OS/2 Warp 4 to communicate with other two other VMs on VirtualBox - Windows NT 4.0 and Windows 2000.

I got Windows NT 4.0 and Windows 2000 to communicate with each other by using two network adapters. The first one is set to NAT Network and the second one is Host-Only Network.

The static IP address assigned to Windows NT 4.0 is 192.168.2.4 (host-only: 192.168.129.4) and Windows 2000 is 192.168.2.5 (host-only: 192.168.129.5).

I have set the IP address for the OS/2 Warp 4 NAT Network IP to 192.168.2.45 and the Host-Only Network to 192.168.129.45 as shown in this screenshot, but when I try to access a Windows NT 4.0 or Windows 2000 VM from the Connections window, I get this error:
"Logon: One or more of your connections failed."

Here's  what I have set up right now:
lan0: AMD PCnet FAST II (Am79C973) - NAT Network
lan1: AMD PCnet FAST II (Am79C973) - VirtualBox Host-Only Network
The tricky configuration is that Host-Only Networks have no default gateway and I have the preferred DNS server set at 192.168.129.2
How can I get OS/2 Warp 4 to communicate with the Windows NT 4.0 and Windows 2000 VirtualBox VMs with the Host-Only Network adapter? Would I need to check the setup.cmd file in \MPTN\ETC to see what could be amiss here?

Post your thoughts, I would like to hear it! :)
(By the way, I'm gonna continue installing updates one-by-one under Windows NT 4.0 as I had to reinstall the OS earlier this morning.)
« Last Edit: May 07, 2023, 03:16:54 am by ppgrainbow »

Pete

  • Hero Member
  • *****
  • Posts: 1352
  • Karma: +11/-0
    • View Profile
Re: NAT Network & Host-Only Network
« Reply #1 on: May 05, 2023, 07:00:20 pm »
Hi ppgrainbow

I seem to recall something about having to set Windows NT4/2000 networking to use a particular setting in order for OS/2 <-> Windows peer networking to work. I'm struggling to remember the exact setting ... something like Use LanMan with a value of 1... Sorry, must be around 20+ years ago.

Maybe that will jog someone elses memory and they will post the exact setting.


Regards

Pete

ppgrainbow

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • deviantART
Re: NAT Network & Host-Only Network
« Reply #2 on: May 05, 2023, 07:29:04 pm »
Hello there. :)
Getting two or more network adapters to work under OS/2 can be quite tricky. I'm gonna have to check to see what I missed up, because the VirtualBox Host-Only Ethernet Adapter on lan1 is only used to communicate between OS/2 Warp 4, Windows NT 4.0 and Windows 2000 VMs.
I'll probably need to find a way how I can get it to work.

Lars

  • Hero Member
  • *****
  • Posts: 1367
  • Karma: +70/-0
    • View Profile
Re: NAT Network & Host-Only Network
« Reply #3 on: May 05, 2023, 07:42:08 pm »
Shouldn't it be enough to have all guests in the same NAT network (I understood that Warp 4, Win NT and Win 2000 are all guests under some host, Linux/Win10/Win11 whatever) ?

I understood that "Host only" is for direct communication between a guest and the host but not between guests.

ppgrainbow

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • deviantART
Re: NAT Network & Host-Only Network
« Reply #4 on: May 05, 2023, 10:07:28 pm »
It should be enough. Host-only is for direct communication between the host and guest. My host OS is Windows 10 22H2.

Neil Waldhauer

  • Hero Member
  • *****
  • Posts: 1073
  • Karma: +27/-0
    • View Profile
    • Blonde Guy
Re: NAT Network & Host-Only Network
« Reply #5 on: May 06, 2023, 03:20:55 pm »
Your TCP/IP and adapters look fine. You only show an error restoring connections after logon, which is a PEER problem.

All you are showing is that a problem occurred.
Expert consulting for ArcaOS, OS/2 and eComStation
http://www.blondeguy.com

ppgrainbow

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • deviantART
Re: NAT Network & Host-Only Network
« Reply #6 on: May 06, 2023, 08:24:47 pm »
So, if the issue is a Peer problem after login, then should I post the contents of the IBMLAN.INI file located in the \IBMLAN directory and the PROTOCOL.INI file in the \IBMCON directory file that causes OS/2 Peer to not work when it is connected to a Host-Only Network on lan1?
« Last Edit: May 06, 2023, 08:32:33 pm by ppgrainbow »

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: NAT Network & Host-Only Network
« Reply #7 on: May 07, 2023, 01:12:57 am »
Yes, it is a good start to post them. Odds are that it is a problem with Windows wanting a newer peer protocol

ppgrainbow

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • deviantART
Re: NAT Network & Host-Only Network
« Reply #8 on: May 07, 2023, 01:54:27 am »
Yes, it is a good start to post them. Odds are that it is a problem with Windows wanting a newer peer protocol
Okie dokie, here are the contents of the IBMLAN.INI file so far located in the E:\IBMLAN directory:
Code: [Select]
; OS/2 Peer initialization file

[networks]
  net1 = tcpbeui$,0,LM10,34,100,14
  net2 = tcpbeui$,1,LM10,34,100,14

; This information is read by the redirector at device initialization time.

[requester]
; The following parameters generally do not need to be
; changed by the user.
  charcount = 16
  chartime = 250
  charwait = 3600
  keepconn = 600
  keepsearch = 600
  maxcmds = 16
  maxerrorlog = 100
  maxthreads = 10
  maxwrkcache = 64
  numalerts = 12
  numcharbuf = 10
  numservices = 4
  numworkbuf = 15
  numdgrambuf = 14
  othdomains =
  printbuftime = 90
  sesstimeout = 45
  sizcharbuf = 512
  sizerror = 1024
  sizworkbuf = 4096
  useallmem = no
; The wrkheuristics parameter sets a variety of requester fine-tuning
; options.  Brief descriptions are provided here for each digit.  More
; complete descriptions, along with explanations of relationships between
; digits can be found in the OS/2 Peer Technical Reference.
;
; When not otherwise specified, a value of 0 means off (inactive) and 1 means
; on (active).
;
; 0   opportunistic locking of files (default is 1)
; 1   performance optimization for batch (.CMD) files (default is 1)
; 2   asynchronous unlock and asynchronous write-unlock
;        0 = never                     2 = only on a LAN Server virtual circuit
;        1 = always (default)
; 3   asynchronous close and asynchronous write-close
;        0 = never                     2 = only on a LAN Server virtual circuit
;        1 = always (default)
; 4   buffer all named pipes and serial devices (default is 1)
; 5   combined read-lock and write-unlock
;        0 = never                     2 = only on a LAN Server virtual circuit
;        1 = always (default)
; 6   open and read optimization (default is 1)
; 7   reserved
; 8   use of the chain-send NETBIOS NCB
;        0 = never
;        1 = when a server's buffer is larger than the workstations buffer
;        2 = always (default)
; 9   buffer small read and write requests until the buffer is full
;        0 = never                     2 = only on a LAN Server virtual circuit
;        1 = always (default)
; 10  buffer mode
;        0 = always read buffer size amount of data if the request is smaller
;            than the buffer size (sizworkbuf) and data is being read
;            sequentially
;        1 = use full buffer if file is open for reading and writing
;        2 = use full buffer if reading and writing sequentially
;        3 = buffer all requests smaller than the buffer size (if hits occur)
;            (default)
; 11  RAW read and RAW write SMB protocols (default is 1)
; 12  RAW read-ahead buffer (default is 1)
; 13  RAW write-behind buffer (default is 1)
; 14  read multiplexing SMB protocols (default is 1)
; 15  write multiplexing SMB protocols (default is 1)
; 16  use of big buffers for large core (non-RAW) reads (default is 1)
; 17  same-size read-ahead or read-to-sector boundary (default is 1)
; 18  same-size small record write-behind or write-to-sector boundary
;     (default is 0)
; 19  reserved and must be 0
; 20  flush pipes and devices on a DosBufReset or DosClose operation
;        0 = Flush only files and devices opened by the caller.  Spin until
;            flushed.  Wait for confirmation before processing with other
;            tasks. (default)
;        1 = Flush only files and devices opened by the caller.  Flush only
;            once.  Do not wait for confirmation.
;        2 = Flush all files and all input and output of short-term pipes
;            and devices.  Spin until flushed.
;        3 = Flush all files and all input and output of short-term pipes
;            and devices.  Flush only once.
;        4 = Flush all files and all input and output of all pipes and devices.
;            Spin until flushed.
;        5 = Flush all files and all input and output of all pipes and devices.
;            Flush only once.
; 21  LAN Server encryption of passwords (default is 1)
; 22  control log entries for multiple occurrences of an error
;        0 = log all occurrences (default)
;        1-9 = limit occurrences that are logged (1-9 define size of table
;            that is used to track errors)
; 23  buffer all files opened with deny-write sharing mode (default is 1)
; 24  buffer all files opened with the read-only attribute set (default is 1)
; 25  read ahead when opening for execution (default is 1)
; 26  handle the interrupt (ctrl+c) key
;        0 = allow no interrupts
;        1 = allow interrupts only on long-term operations
;        2 = always allow interrupts (default)
; 27  force correct open mode when creating files on a core server (reserved
;        for DBCS users) (default is 1)
; 28  NETBIOS NoAck mode
;        0 = NoAck is disabled.
;        1 = NoAck is set on send only. (default)
;        2 = NoAck is set on receive only.
;        3 = NoAck is set on send and receive.
; 29  send data along with SMB write-block RAW requests (default is 1)
; 30  send a message to the screen when the requester logs an error
;        0 = never
;        1 = on write-fault errors only (no time out) (default)
;        2 = on write-fault and internal errors only (no time out)
;        3 = on all errors (no time out)
;        4 = reserved
;        5 = on write-fault errors only (time out)
;        6 = on write-fault and internal errors only (time out)
;        7 = on all errors (time out)
;        8 = on all errors (time out) and pop up an error if a session
;            to a server is abnormally disconnected
;        9 = on all errors (time out) and generate an INT24 (critical
;            error) to applications running under DOS emulation if a
;            network hard error is encountered
; 31  reserved
; 32  behavior of DosBufReset on a redirected file (not pipes or devices).
;     When the call to the API returns, the data in the buffer has been
;     handled as follows:
;        0 = Changed data in the buffer was sent from the requester to the
;            server.  The server has written the data to disk.
;        1 = Changed data in the buffer was sent from the requester to the
;            server.  The server has not yet written the data to disk.
;        2 = DosBufReset was ignored. (default)
; 33  time interval for performing logon validation from the domain
;     controller
;        0 = 5 seconds                 4 = 60 seconds      8 = 8 minutes
;        1 = 15 seconds (default)      5 = 90 seconds      9 = 15 minutes
;        2 = 30 seconds                6 = 2 minutes
;        3 = 45 seconds                7 = 4 minutes
; 34  date validation
;        0 = PCLP date format (default)
;        1 = MSNET date format
;        2 = assume date is correct
; 35  free disk space reported to DOS and Windows applications
;        0 = return true value (default)
;        1 = return a value less than two gigabytes
; 36  time and date synchronization with the domain controller at logon
;     (default is 1)
; 37  type of verification for the LAN Server logon
;        0 = no verification
;        1 = verify against local NET.ACC (default)
;        2 = verify against domain NET.ACC
; 38  display warning messages for the LAN Server logon
;        0 = do not display warning messages
;        1 = display all warning messages (default)
;        2 = do not display LAN Server specific warning messages
;        3 = display all warning messages, including password expiration date
; 39  buffer all files opened in compatibility mode
;        0 = buffer only files opened for read access in compatibility mode
;        1 = buffer all files opened in compatibility mode (default)
; 40  allow a user to logon multiple times in the same domain (default is 1)
;
; The next lines help you to locate bits in the wrkheuristics entry.
;                           1         2         3         4
;                 012345678901234567890123456789012345678901
  wrkheuristics = 111111112131110011000101112011122100111110
  wrknets = NET1, NET2
  wrkservices = MESSENGER,PEER
  Computername = VBOXWARP4
  Domain = VM

[messenger]
  logfile = messages.log
  sizmessbuf = 4096

[peer]
  auditing = resource
; The following parameters generally do not need to be
; changed by the user. NOTE : srvnets= is represented in
; the server info struct as a 16-bit lan mask. Srvnet names
; are converted to indexes within [networks] for the named nets.
  guestacct = guest
  autodisconnect = -1
  forwardauth = no
  maxauditlog = 100
  maxchdevjob = 6
  maxchdevq = 2
  maxchdevs = 2
  maxconnections = 128
  maxlocks = 64
  maxopens = 160
  maxsearches = 150
  maxsessopens = 120
  maxsessreqs = 25
  maxsessvcs = 1
  maxshares = 64
  maxusers = 32
  numbigbuf = 6
  numfiletasks = 1
  numreqbuf = 48
  sizreqbuf = 4096
  srvanndelta = 3000
  srvannounce = 180
  srvhidden = no
; The srvheuristics parameter sets a variety of server fine-tuning
; options.  Brief descriptions are provided here for each digit.  More
; complete descriptions, along with explanations of relationships between
; digits can be found in the OS/2 Peer Technical Reference.
;
; When not otherwise specified, a value of 0 means off (inactive) and 1 means
; on (active).
;
; 0   opportunistic locking of files (default is 1)
; 1   read-ahead when the requester is performing sequential access
;       0 = do not use read-ahead
;       1 = use single read-ahead thread (default)
;       2 = use asynchronous read-ahead thread
; 2   write-behind (default is 1)
; 3   use of the chain-send NETBIOS NCB (default is 1)
; 4   check all incoming SMBs for correct format (default is 0)
; 5   support FCB opens (default is 1)
; 6   set priority of server (default is 4)
;       0-9 = 0 is highest priority, 9 is lowest priority
; 7   automatically allocate additional memory for directory searches
;        (default is 1)
; 8   write records to the audit log only when the scavenger wakes up
;        (default is 1)
; 9   do full buffering when a file is opened with deny-write sharing mode
;        (default is 1)
; 10  set the interval for the scavenger to wake up
;       0 = 5 seconds                  4 = 25 seconds      8 = 45 seconds
;       1 = 10 seconds (default)       5 = 30 seconds      9 = 50 seconds
;       2 = 15 seconds                 6 = 35 seconds
;       3 = 20 seconds                 7 = 40 seconds
; 11  allow compatibility-mode opens of certain types of files by translating
;     them to sharing mode opens with deny-none
;       0 = Always use compatibility-mode opens.
;       1 = Use deny-none sharing mode if read-only access to .EXE or .COM
;           files.
;       2 = Use deny-none sharing mode if read-only access to .EXE or .COM
;           files.  Use deny-write sharing mode if read-only access to .BAT
;           files is requested.
;       3 = Use deny-none sharing mode on all compatibility-mode opens.
;           (default)
; 12  allow DOS LAN Services workstations to use a second NETBIOS session when
;     sending printer requests (default is 1)
; 13  number of 64KB buffers used for read-ahead
;       0-9 = number of buffers (default is 1)
; 14  convert incoming path specifications into most basic format (default is 0)
; 15  Oplock Timeout and NETBIOS Acknowledgment Timeout (default is 0)
;       0 = 35 second Oplock Timeout; 34 second NETBIOS Acknowledgment Timeout
;       1 = 70 second Oplock Timeout; 69 second NETBIOS Acknowledgment Timeout
;       2 = 140 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
;       3 = 210 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
;       4 = 280 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
;       5 = 350 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
;       6 = 420 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
;       7 = 490 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
;       8 = 560 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
;       9 = 640 second Oplock Timeout; no NETBIOS Acknowledgment Timeout
; 16  validate IOCTLs (default is 1)
; 17  how long the server maintains unused, dynamic big buffers before freeing
;     the memory.
;       0 = 0 seconds                  4 = 5 minutes       8 = 1 hour
;       1 = 1 second                   5 = 10 minutes      9 = indefinitely
;       2 = 10 seconds                 6 = 20 minutes
;       3 = 1 minute (default)         7 = 40 minutes
; 18  how long the server waits after failing to allocate a big buffer before
;     trying again.
;       0 = 0 seconds                  3 = 1 minute (default)
;       1 = 1 second                   4 = 5 minutes
;       2 = 10 seconds                 5 = 10 minutes
; 19  RAW read and RAW write SMB protocols (default is 1)
; 20  server responds to announcement requests (default is 1)
;
; The next lines help you to locate bits in the srvheuristics entry.
;                           1         2
;                 012345678901234567890
  srvheuristics = 111101411113110013311
  SRVSERVICES =
  srvnets = NET1, NET2

  SRVCOMMENT =

[replicator]
  replicate = IMPORT
  importpath = E:\ibmlan\repl\import
  tryuser = yes
  password =

[services]
; Correlates name of service to pathname of service program.
; The pathname must be either
;       1) an absolute path (including the drive specification)
;                       OR
;       2) a path relative to the IBMLAN root
  messenger = services\msrvinit.exe
  peer = services\peerinit.exe
  replicator = services\replicat.exe
  requester = services\wksta.exe
And here are the contents of the PROTOCOL.INI file located in E:\IBMCOM directory:
Code: [Select]
[PROT_MAN]
   DRIVERNAME = PROTMAN$

[IBMLXCFG]
   vproto_nif = vproto.nif
   vproto2_nif = vproto2.nif
   tcpbeui_nif = tcpbeui.nif
   tcpip_nif = tcpip.nif
   PCNTND_nif = PCNTND.NIF
   VSWITCH_nif = vswitch.nif
   PCNTND_nif2 = pcntnd.nif
   VSWITCH2_nif = vswitch2.nif

[NETBIOS]
   DriverName = netbios$
   ADAPTER0 = tcpbeui$,0
   ADAPTER1 = tcpbeui$,1

[vproto_nif]
   DriverName = PSWCH00$
   Bindings = PCNTND_nif

[vproto2_nif]
   DriverName = PSWCH01$
   Bindings = ,PCNTND_nif2

[tcpbeui_nif]
   DriverName = tcpbeui$
   Bindings = VSWITCH2_nif,VSWITCH_nif
   NODETYPE = "B-Node"
   OS2TRACEMASK = 0x0
   SESSIONS = 130
   NCBS = 225
   NAMES = 21
   SELECTORS = 15
   USEMAXDATAGRAM = "NO"
   NETBIOSTIMEOUT = 500
   NETBIOSRETRIES = 2
   NAMECACHE = 1000
   PURGECACHE = 0
   PRELOADCACHE = "NO"
   NAMESFILE = 1
   DATAGRAMPACKETS = 20
   PACKETS = 50
   ENABLEDNS = 0
   INTERFACERATE = 300

[tcpip_nif]
   DriverName = TCPIP$
   Bindings = VSWITCH_nif,VSWITCH2_nif
   IfType = 1,

[PCNTND_nif]
   DriverName = PCNTND$
   psfeature = "FALSE"
   bustype = "PCI"
   txbuffers = 16
   rxbuffers = 8
   LED1 = 0x00A0
   led2 = 0x0090

[VSWITCH_nif]
   DriverName = DSWCH00$
   FEATURE = "NO"
   ADAPTERNAME = "PCNET"

[PCNTND_nif2]
   DriverName = PCNTND2$
   psfeature = "FALSE"
   bustype = "PCI"
   txbuffers = 16
   rxbuffers = 8

[VSWITCH2_nif]
   DriverName = DSWCH01$
   FEATURE = "NO"
The VSWITCHx is the protocol driver for Connectix Virtual PC, by the way.
I really love how copying and posting contents from the OS/2 Warp 4 guest to Windows 10 host works with the VirtualBox Guest Additions for OS/2! :D
I just did a recent backup of my hard disk images that contain the OS/2 Warp 4 installation just in case anything goes wrong. 8)
Update: I did manage to pull up the Windows NT 4.0 VM and for some odd reason, that OS can access the OS/2 drives over the network as mentioned in the screenshot below, but the OS/2 Warp 4 VM can't seem to access it the other way around. The computer name is VBOXWARP4.
So, it appears that something could be amiss with the settings in the IBMLAN.INI file.
« Last Edit: May 07, 2023, 03:16:16 am by ppgrainbow »

Pete

  • Hero Member
  • *****
  • Posts: 1352
  • Karma: +11/-0
    • View Profile
Re: NAT Network & Host-Only Network
« Reply #9 on: May 07, 2023, 07:24:05 am »
Hi

This old post may be of help   https://www.os2world.com/forum/index.php?topic=2339.0


Regards

Pete

ppgrainbow

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • deviantART
Re: NAT Network & Host-Only Network
« Reply #10 on: May 07, 2023, 09:42:39 am »
Hi

This old post may be of help   https://www.os2world.com/forum/index.php?topic=2339.0


Regards

Pete
Thanks for the link, but I don't think that it covers more than one network adapter.
Somehow, something might be causing the OS/2 Peer to not function correctly when it is connected as the Host-Only Ethernet Adapter on lan1. NAT Networking on lan0 does work though.

Tom

  • Full Member
  • ***
  • Posts: 212
  • Karma: +6/-0
    • View Profile
Re: NAT Network & Host-Only Network
« Reply #11 on: May 07, 2023, 03:32:01 pm »
Hi ppgrainbow

I seem to recall something about having to set Windows NT4/2000 networking to use a particular setting in order for OS/2 <-> Windows peer networking to work. I'm struggling to remember the exact setting ... something like Use LanMan with a value of 1... Sorry, must be around 20+ years ago.

Maybe that will jog someone elses memory and they will post the exact setting.

Do you mean "lanman auth=" and "NTLMv2 auth=" ?
(as mentioned in this post: https://www.os2world.com/forum/index.php/topic,1691.msg16524.html#msg16524)

Alex Taylor

  • Sr. Member
  • ****
  • Posts: 398
  • Karma: +6/-0
    • View Profile
Re: NAT Network & Host-Only Network
« Reply #12 on: May 07, 2023, 05:56:06 pm »
Here's another old article that I found very useful way back in the day: https://ardent-tool.com/network/sea.html

One WAG: possibly the virtual networking is interfering with TCPBEUI broadcast mode? You might try the article's suggestion to configure Hybrid mode (section 3.1.1).

Pete

  • Hero Member
  • *****
  • Posts: 1352
  • Karma: +11/-0
    • View Profile
Re: NAT Network & Host-Only Network
« Reply #13 on: May 07, 2023, 07:37:37 pm »
Hi Tom

Hi ppgrainbow

I seem to recall something about having to set Windows NT4/2000 networking to use a particular setting in order for OS/2 <-> Windows peer networking to work. I'm struggling to remember the exact setting ... something like Use LanMan with a value of 1... Sorry, must be around 20+ years ago.

Maybe that will jog someone elses memory and they will post the exact setting.

Do you mean "lanman auth=" and "NTLMv2 auth=" ?
(as mentioned in this post: https://www.os2world.com/forum/index.php/topic,1691.msg16524.html#msg16524)


Looks like what I was trying to remember.


Regards

Pete

ppgrainbow

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
    • View Profile
    • deviantART
Re: NAT Network & Host-Only Network
« Reply #14 on: May 07, 2023, 11:01:27 pm »
Here's another old article that I found very useful way back in the day: https://ardent-tool.com/network/sea.html

One WAG: possibly the virtual networking is interfering with TCPBEUI broadcast mode? You might try the article's suggestion to configure Hybrid mode (section 3.1.1).
I'll try the Hybrid mode configuration found in section 3.1.1 and I'll get back to you when I can. ^^
If it does work, I'll post a updated screenshot. :)