3

I am trying to mount a Directory from my server to my local machine. This is because I want to edit the directory and execute the files without having the manually push the files to the server after each edit.

I am using NFS and currently getting: 'Connection refused' when I try to mount from a machine on the same network.

My server ip is 192.168.0.12.
My local machine ip is 192.168.0.2. And in /etc/exports I have:

/mnt/export 192.168.0.0/24(rw,async,no_subtree_check)
/mnt/export *(rw)

where /mnt/export is the directory I want to mount and I have chmod 777 -r the directory

On my local machine I execute this command:

mount 192.168.0.12:/mnt/export /Desktop/tes

But get this error:

can't mount /mnt/export from 192.168.0.12 onto /Desktop/tes:
Connection refused

Does anyone have any idea to where I am going wrong?

  • You sure the service is started? – daisy Jan 15 '13 at 10:37
  • 1
    @warl0ck Thanks for the reply. Yes. When I run "exportfs" it gives me: /mnt/export 192.168.0.0/24 /mnt/export <world> which I assume is normal? – Phorce Jan 15 '13 at 10:39
  • firewalling? maybe – maniat1k Jan 15 '13 at 11:35
  • This might help nfs – max Jan 27 '15 at 17:27
  • If you are a RHEL user than have a look on this LINK – Manoj Sahu Apr 28 '17 at 7:07
3

You can test some of this from the client side. rpcinfo is useful to tell you if rpc calls are making it to the server processes, then you can check mountd specifically, and lastly, showmount will ask the server what volumes are exported:

$ rpcinfo -p nfsserv103 | cut -c30- | sort -u
 mountd
 nfs
 nlockmgr
 portmapper
 rquotad
 status

$ rpcinfo -u nfsserv103 mountd
program 100005 version 1 ready and waiting
program 100005 version 2 ready and waiting
program 100005 version 3 ready and waiting

$ showmount -e nfsserv103 
Export list for nfsserv103:
/                     10.221.253.101,10.221.252.101,10.221.253.100,10.221.252.100
/mnt_foo/bar         (everyone)

(note that "cut" in the first command was just to make the output more concise. you can drop off everything but the first command.)

  • Additionally, you can use tcpdump to capture the nfs traffic and see what is happening. So for a firewall, you'll see no server response. Or maybe you'll see a mountd refusal because the client request comes from a non-priviledged port, etc.... – Tim B Jan 15 '13 at 12:40
2

A firewall is preventing the client from reaching the server. At this stage, you can't know whether NFS is configured properly (so it may well be): the client can't even see that there is an NFS server.

The most likely location for a firewall is the server. Check that it allows incoming connections on port 111 (rpc) and 2049 (nfs). On a Linux machine, run iptables -nvL as root to see the port blocking configuration.

If you don't know where the firewall is, you can locate it by running tcptraceroute 192.168.0.12 111 (or 2049, if it's the nfs port that's blocked). But given that the machines are in the same subnet, there's probably a direct connection, so it's the server (or, less likely, the client) that's blocking connections.

Oh, and don't chmod 777. That never solves anything, and usually breaks something. If the error isn't “permission denied”, the solution isn't chmod; and if the error is “permission denied”, the solution may be chmod but not 777.

1

I had this problem on a machine running a standard Ubuntu 14.04 install.

The connection refused message can be misleading: It turns out that all that was required was to install the nfs-common package.

0

Have a look into /etc/hosts on the server. Some systems (ubuntu) insert a silly entry for your chosen hostname, if dhcp was used during installation.

127.0.1.1   klaas.somewhere.de  klaas

Replace 127.0.1.1 with the real IP and restart the nfsserver.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.