SMBv1 to SMB3 transparent live proxy for legacy file shares on ADS-TEC IRF1000/IRF3000
347
Sample container by ADS-TEC Industrial IT: bridges a legacy file share that only speaks SMBv1 (e.g. a Windows XP machine in the OT segment) to modern SMB2/SMB3 clients in the IT network.
The container mounts the legacy share with the userspace SMB client smbnetfs (FUSE) and re-exports it with Samba as SMB2/SMB3 share xp-share. It is a live pass-through, not a sync job: files written on either side appear immediately on the other, the IRF keeps no copy. The IRF firmware contains no kernel CIFS client, so mount -t cifs is not used.
docker run -d --name samba-proxy --restart always \
--network host --privileged --device /dev/fuse --security-opt label=disable \
-e SMB_HOST=192.168.0.1 -e SMB_SHARE=SharedFolder \
-e SMB_USER=xpuser -e SMB_PASS=<legacy-password> -e SMB_WORKGROUP=WORKGROUP \
-e LOCAL_USER=smbuser -e LOCAL_PASSWORD=<new-password> \
-e WAIT_TIMEOUT=60 \
adstec/irf-smb-proxy
| Variable | Meaning |
|---|---|
SMB_HOST, SMB_SHARE | Legacy SMBv1 server and share |
SMB_USER, SMB_PASS, SMB_WORKGROUP | Credentials on the legacy side; SMB_PASS is required |
LOCAL_USER, LOCAL_PASSWORD | Credentials modern clients use for \\<irf>\xp-share; LOCAL_PASSWORD is required |
WAIT_TIMEOUT | Seconds to wait for the legacy share at start |
There are no default passwords: the container does not start without SMB_PASS and LOCAL_PASSWORD (since version 1.1.0).
Modern clients connect to TCP port 445 of the IRF, which the IRF forwards to the container. Setup, port forwarding and known issues are described in the Docker Application Note of ADS-TEC Industrial IT.
See also adstec/irf-smb-xp-sim, an SMBv1 test server for lab setups.
linux/arm64 (IRF3000), linux/arm/v7 (IRF1000). Samba is licensed under GPLv3, smbnetfs under GPLv2.
Content type
Image
Digest
sha256:7607f59a2…
Size
82 MB
Last updated
25 days ago
docker pull adstec/irf-smb-proxy