SIMULATION - Some users home directory is shared from your system. Using showmount -e localhost command, the shared directory is not shown. Make access the shared users home directory.
Suggested Answer:See explanation below.
Verify the File whether Shared or not ? : cat /etc/exports Start the nfs service: service nfs start Start the portmap service: service portmap start Make automatically start the nfs service on next reboot: chkconfig nfs on Make automatically start the portmap service on next reboot: chkconfig portmap on Verify either sharing or not: showmount -e localhost Check that default firewall is running on system? If running flush the iptables using iptables -F and stop the iptables service.
This is NOT remote host issues; it is local issue where the user home directories are being exported from. Lets say server1 is hosting the users home directories and server2 were users accessing and not getting their home directories mapped
The usage of $ showmount -e localhost => clearly indicates the command is executed on server1 because if it is to be executed on server2 the it should be $ showmount -e server1 to fetch the export list from server1
Other hint given in the question is that it states [ the shared directory is not shown] this means ONLY issue is the user home directory and other shares not experiencing any issues otherwise would have started NONE of any shared directories are shown.
Someone suggested it is firewall, I can say defiantly NOT as firewall on linux in public zone and even other zones all all outgoing connections but blocks incoming connections, however as per above the issue is local and NOT remote and hence we can eliminate the firewall.
following up due to words limit reached
NOTE I had tested it and confirmed it is the case, removing the following services (nfs, rpc-bind, mountd) from the firewall did not impact on the export list showing locally correctly. Thos only Impacted when I initiate connection from remote server error “Input/output error” when trying to cd into previously exported directory that I deliberately made it unavailable via below comments
I was reasonably sure it is Syntax error in the exports file and I tested it and it worked as per question issue, I purposely misspelled the below and allowed the nfs, rpc-bind and mountd services on the firewall but the directory did NOT show using the command
In the /etc/exports
/home/guests/ 192.168.20.0/24(rw,no_root_squash)
/rhome 192.168.20.0/24(rw,no_root_squah)
Afer restart the nfs-server service and ensuring the firewall allowed the services, I run below command
$showmount -e localhost => ONLY one share showed up and you guessed it
Export list for localhost:
/home/guests/ 192.168.20.0/24(rw,no_root_squash)
As you can see it did not show the /rhome share and that is because I deliberately misspelled the word squash – notice I removed the letter S and because of that it didn’t export and hence doesn’t showup, once I corrected it it hsowed up as per below
Export list for localhost:
/home/guests/ 192.168.20.0/24(rw,no_root_squash)
/rhome 192.168.20.0/24(rw,no_root_squash)
Please Note the below:
• You can use exportfs instead of showmount -e, use –help to learn more about it
• The format of the /etc/exports file is very precise, particularly in regards to use of the space character. Remember to always separate exported file systems from hosts and hosts from one another with a space character. However, there should be no other space characters in the file except on comment lines. For example, the following two lines do not mean the same thing:
The question states the directories are already shared, so my best guess is that the firewall is not open or some dependant service are not started:
sudo firewall-cmd --add-service=nfs3 --permanent
sudo firewall-cmd --add-service=rpc-bind --permanent
sudo firewall-cmd --add-service=mountd --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo systemctl status rpcbind.service
sudo systemctl status nfs-server.service
sudo systemctl status nfs-mountd.service
I disagree with your findings, please read my response -
also no need to use 3 commands to add the services just use this
firewall-cmd --add-service={nfs,mountd,rpc-bind} --perm
and preferable to use firewall-cmd --list-services
over this command firewall-cmd --list-all as it is highlights exactly what you looking for without extra info
Full solution:
NFS Server:
- dnf install nfs-utils libnfsidmap
- systemctl enable rpcbind & nfs-server
- systemctl start rpcbind, nfs-server, rpc-statd, nfs-idmapd
- vi /etc/exports
- add /home/user 192.168.x.x (rw,sync,no_root_squash)
- exportfs -rv
- showmount -e
- Optional: may need to enable the rule on firewalld or stop it altogether for it to work on remote clients
NFS Client:
- dnf install nfs-utils rpcbind
- systemctl start rpcbind
- ps -ef | egrep “firewalld:iptables” (may need to stop these two services, or add appropriate rules for mounting to work across server and client)
- Create a mount point
- Mount 192.168.x.x:/dir /mountpoint
Note: portmap.service has been replaced with rpcbind.target && rpcbind.service.
upvoted 2 times
...
Log in to ExamTopics
Sign in:
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
Lazylinux
3 months, 2 weeks agoLazylinux
3 months, 2 weeks agoLazylinux
3 months, 2 weeks agoLazylinux
3 months, 2 weeks agoly01
4 months, 3 weeks agoLazylinux
3 months, 2 weeks agokenkct
2 years, 8 months agoSTFN2019
3 years, 2 months agoArchBishop
3 years, 6 months ago