ProNFS Setup Guide ProNFS is a high-performance Network File System (NFS) tooling suite designed to optimize file sharing across enterprise networks. This guide provides a streamlined walkthrough to install, configure, and secure your ProNFS environment. System Requirements Linux distribution (Ubuntu 22.04+, RHEL 9+, or Debian 12+) Static IP address assigned to the server Root or sudo administrative privileges Network ports 2049 (NFS) and 111 (RPCbind) open Step 1: Install ProNFS Packages
Update your system repository index and install the core ProNFS server utilities. On Ubuntu/Debian:
sudo apt update sudo apt install pronfs-kernel-server rpcbind -y Use code with caution. On RHEL/Rocky Linux:
sudo dnf check-update sudo dnf install pronfs-utils rpcbind -y Use code with caution. Step 2: Create the Shared Directory
Establish the directory structure that you intend to share across the network. Assign the proper ownership permissions to ensure client access.
# Create the storage directory sudo mkdir -p /mnt/pronfs_share # Remove restrictive permissions sudo chown nobody:nogroup /mnt/pronfs_share sudo chmod 777 /mnt/pronfs_share Use code with caution. Step 3: Configure Exports
The /etc/exports file controls which directories are shared and defines client access permissions. Open the file in a text editor: sudo nano /etc/exports Use code with caution.
Add the following line to authorize a specific client IP address or an entire subnet. Replace 192.168.1.50 with your target client IP:
/mnt/pronfs_share 192.168.1.50(rw,sync,no_subtree_check,no_root_squash) Use code with caution. Configuration Flags Explained: rw: Grants read and write permissions to the client.
sync: Forces the server to reply to requests only after changes are committed to the disk, preventing data corruption.
no_subtree_check: Disables subtree checking to improve transfer reliability and performance.
no_root_squash: Allows the root user on the client machine to connect with root privileges on the server.
Save and close the file. Next, export the shared directories: sudo exportfs -a Use code with caution. Step 4: Configure the Firewall
Enable traffic through the required network ports to allow external client connections. Using UFW (Ubuntu/Debian):
sudo ufw allow from 192.168.1.50 to any port nfs sudo ufw reload Use code with caution. Using Firewalld (RHEL/Rocky Linux):
sudo firewall-cmd –permanent –add-service=nfs sudo firewall-cmd –permanent –add-service=rpc-bind sudo firewall-cmd –reload Use code with caution. Step 5: Start and Enable ProNFS Services
Enable the background services to ensure ProNFS starts automatically upon system boot.
sudo systemctl enable –now rpcbind sudo systemctl enable –now pronfs-server sudo systemctl restart pronfs-server Use code with caution. Step 6: Configure the Client Machine
Log into the client machine (e.g., 192.168.1.50) to mount the remote share. Install the client tools:
sudo apt install pronfs-common -y # Ubuntu/Debian # OR sudo dnf install pronfs-utils -y # RHEL/Rocky Linux Use code with caution. Create the local mount point: sudo mkdir -p /mnt/local_share Use code with caution.
Mount the remote filesystem (Replace 192.168.1.10 with your ProNFS server IP):
sudo mount -t pronfs 192.168.1.10:/mnt/pronfs_share /mnt/local_share Use code with caution. Verify the mount: df -h | grep pronfs Use code with caution. Step 7: Automate Mounting (Optional)
To ensure the share remounts automatically after a client reboot, append the mount details to the /etc/fstab file on the client machine.
192.168.1.10:/mnt/pronfs_share /mnt/local_share pronfs defaults,timeo=900,retrans=5,_netdev 0 0 Use code with caution.
Note: The _netdev option delays mounting until the network manager has established a connection. Troubleshooting Common Issues
Connection Timeout: Verify that the firewall rules on the server explicitly permit traffic from the client IP. Ensure the server’s ports 2049 and 111 are listening.
Permission Denied: Check the file system permissions on /mnt/pronfs_share. Ensure that your /etc/exports file matches the client IP or subnet mask precisely.
Stale File Handle: Run sudo exportfs -f followed by sudo exportfs -a on the server to refresh active exports. To help refine this guide, tell me:
What specific operating system and version are you hosting ProNFS on?
Are you setting this up for a local development environment or an enterprise network?
Leave a Reply