Nas-samba
File sharing
The File sharing menu allows you to enable and configure Samba filesharing. Samba is a Linux clone/replica of Microsoft's SMB (Server Message Block) filesharing protocol. Samba allows Tomato64 to "speak" the same language as Windows for file sharing between Windows and Linux-based systems (such as Tomato64). This allows you to use your Tomato64 router as a NAS drive, if you connect USB storage, such as an external hard drive or flash drive.
Microsoft's SMB protocol was recently upgraded to v3. Tomato64's implementation supports v1 and v2 only. However, these are more than adequate for basic file sharing operations.
Samba File Sharing
Enable File Sharing:
- No
- Yes, (with) no Authentication
- Yes Authentication Required
For a basic setup, select //Yes no authentication. //If additional security is needed, it's recommended you select the Yes, Authentication required . Doing so will display two additional fields where a single username and password can be entered.
Samba protocol version:
- SMBv1
- SMBv2
- SMBv1 + SMBv2
This allows you to select the maximum SMB version supported. It is good practice to enable both SMB1 and SMB2. Imposing a specific version could lead to situations in which client devices aren't running a compatible version and so are not supported. This may generate unwanted log errors, such as the one seen below:
Disable GRO: GRO (Generic Receive Offload) combines small packets to be sent as a one large packet. This optimizes network utilization, but involves extra reassembly functions. The default, (Enabled) disables the feature. Enabling this is recommended unless you have other requirements.
Workgroup Name: Here, specify the WORKGROUP name (logical grouping) of PCs for devices to be displayed/organized (for Windows peer-to-peer network browsing). Note that the Windows 10 April 2018 (ver. 1803) update eliminated the use of Windows 10 Homegroups. However, workgroups, still exist in Windows 10/11.
Client Codepage: DOS and Windows clients use code pages to determine rules for mapping lowercase letters to uppercase letters. Undefined, by default, can be set in scenarios where case sensitivity is an issue. To check what Windows Codepage your systems are on, run cmd.exe
and type chcp
to see the current code page.
Network Interfaces: In this field, you define to which local interface the samba service will be bound. (Default: br0).
Samba Custom Configuration: Here, you can specify user-defined parameters for the samba process (configured in the smb.conf file). Consult samba documentation before using this field: https://www.samba.org/
- Auto-share all USB Partitions: **This lets you configure automatic sharing. As soon as storage with a compatible file system is connected to the USB port, its contents will be shared.
- Disabled - Automatic sharing will be disabled.
- Read Only - Users can only open files and browse the storage content
- Read-Write - Users have full control on visible content.
- Hidden Read-Write - While similar to Read-Write, this allows access to hidden content (such as files starting with a period).
Options: Configures your Samba server to perform additional network roles:
- Master Browser - If enabled, participate in the Master Browser election (when WINS is not available/defined).
WINS Server - If enabled, act as WINS server on the network. DHCP clients will receive the data via DHCP. Static clients can be configured with Tomato64's LAN IP address as their WINS server setting.
In this table, you can define custom network shares that map to physical filesystems. These may overlap, or even conflict with the //Auto-share all Partition //function described above.
Share name: This is the share name that appears under the \\WORKGROUP\$routerhostname.
Directory: This defines where the share maps in the real filesystem.
Description: This is for description only, and appears when browsing the network. It has no functional role other than naming the share.
Access Level: This specifies the network-level access rights
- Read Only
- Read-Write
Do not confuse this setting with the filesystem rights. Total security is determined by executing a logical AND operator on the Access Level rights and the filesystem rights.
Hidden: A hidden share is not visible when browsing the network, but will still be available/usable if called directly (such as by the "net use" command in Windows).