VOGONS


First post, by vutt

User metadata
Rank Member
Rank
Member

Problem statement: Modern *nix distros are starting to decommission NT1 protocol required for Win 9x shares.

For (almost) decades I have been using regular Ununtu LTS distros as "lazy" NAS OS. Running my SAMBA shares, P2P, Plex, Folding@home etc as services on same box.
I have 2 network adapters on my Intel J5005 powered server with 16GB RAM. So ideally I would like to put SAMBA NT1 server on separate NIC so it can be VLAN-ed or even better having separate physical Retro LAN without main LAN and internet access.

Any suggestions what would be easiest set and forget solution. Ideally I'd like to start/stop NT1 share only for my retro sessions in order to lower security risks.
1) Any way to compartmentalize 2 SAMBA instances without container/vm layer help on existing Ubuntu instance ? It is important to get security updates for main SAMBA instance without killing old SAMBA share functionality.
2) Add docker (or similar software) on top of existing Ubuntu install.
3) Go fully with virtualization solution - VMVare or Proxmox. It's more resource hungry. Everything needs to fit to 16GB RAM (clearly no ZFS)
4) Maybe add raspberry pi based box as proxy? Pie would take modern SAMBA (or NFS) share and reshare it with NT1 protocol. Pie can be turned on/off on demand although I need to deal with boot/shutdown delays.
5) Or any other solution?

Reply 1 of 6, by megatron-uk

User metadata
Rank l33t
Rank
l33t

Simple. You don't even need a seperate physical NIC - you can create a virtual ethernet interface on top of your existing one (e.g. assuming ensp1, create ensp1:1 as a vif on top of it, with a unique IP). Of course with two physical interfaces this is already done for you.

Create a second smb.conf for this new instance.

Edit your two Samba configs to bind to explicit interfaces only (e.g. your primary one then *only* listens on ensp1, and your retro one listens on ensp1:1). You will probably need to modify the smb/nmb startup files to pick up the smb.conf from a different location, but that will be trivial.

I'd recommend different workgroup names for both, but again, nothing difficult there.

I don't see any need to create vm's, containers or anything like that - it's just a basic unix networking question; no more difficult than starting two versions of Apache on the same machine, two database servers etc. Each instance will be completely distinct, with its own logfiles, shares, config etc.

My collection database and technical wiki:
https://www.target-earth.net

Reply 2 of 6, by megatron-uk

User metadata
Rank l33t
Rank
l33t

Of course, this is dodging the security question. But that's another thing entirely, and if you are happy to bring this up only as-needed, then the risk should be minimal.

My collection database and technical wiki:
https://www.target-earth.net

Reply 3 of 6, by vutt

User metadata
Rank Member
Rank
Member

Thanks megatron-uk! Somehow I forgot about typical *nix daemons possibilities to add separate conf file as parameter.
This solution will work as long distributions will include v1 protocol functions in distro package. It could be that in the future it will be removed. Then I can however always compile old version manually - that's the linux beauty.

Anyways I have been reading up about cleaner NAS OS solutions. Something like OMV+Docker opens up many easily maintainable services (pihole, home cloud) possibilities, so I think eventually I will go this route.

Reply 4 of 6, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

In my lab room, i have a simple debian-based VM that mounts modern SMB shares from my NAS and then reshares them with SMBv1 and FTP. I boot that VM up when i need it for my retro stuff. And when i don't need it, i don't keep anything exposed through those older protocols.

Works beautifully.

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!
A little about software engineering: https://byteaether.github.io/

Reply 5 of 6, by davidrg

User metadata
Rank Member
Rank
Member
vutt wrote on 2025-01-05, 12:42:

5) Or any other solution?

My preference would be MarsNWE in a VM with its NIC bridged to the retro LAN, rather than an old version of Samba. MarsNWE is to NetWare what Samba is to Windows Server, and IME its a lot easier to get DOS, OS/2 and vintage windows talking to something that looks like a NetWare server rather than something that really wants to look like a modern Windows Server. And while the old NetWare protocols are no more secure than SMBv1, they're only exposed over IPX so it would be much harder to attack MarsNWE than an old version of Samba.

Otherwise, I'd just run Windows NT Server 4.0, Windows 2000 Server, or Novell NetWare proper in a VM and just deal with the fact that the vintage server VM will have its own storage and getting stuff on to it from a modern machine will be a little annoying. If I was using NT4/Win2k server, I'd install Microsoft Services for NetWare (like MarsNWE but from Microsoft and for Windows) so that I could use the much more light-weight NetWare clients on DOS machines rather than Microsofts absurdly memory hungry SMB client for DOS.

(There is also an unfinished modern Rust implementation of a NetWare server for Linux and Windows, and frommel, an older unmaintained but much more complete implementation from the same author for FreeBSD. Perhaps eventually someone could pick one of these up and maintain/finish them off.)

Reply 6 of 6, by vutt

User metadata
Rank Member
Rank
Member

Thank you for your replays!

This little question actually triggered me to dive full into Home Lab rabbit hole over this weekend.
Ended up upgrading to OMV7 with proper Docker and KVM setup. It went surprisingly smooth. Most of the time went for learning Docker ins and outs. Docker alone is fantastic tool. Why I waited so long...
Found suitable apline linux based image with v4.16 Samba. Set it up and cloned customized one for my needs.
So my retro subnet consist of one direct twisted pair cable between my NAS secondary NIC and Win98 Tualatin box - very secure. I was amazed that late 90-is 3Com NIC was able to connect this way.
Also ended up also installing Win98 VM. I did not know that KVM on Linux is Type 1 hypervisor with very little overhead.
Containers/VM-s will provide nice time machine type of opportunities to try out different versions.