Skip to main content

Setting up NFS v4.0 in Debian GNU/Linux 6.x

In Debian, the NFS service does not rely on a single application, but several utilities working together. The exact service names and their options depend on which packages you've installed to support the running of your NFS server. Services that support running your NFS service might be named some variation of nfsd, lockd, rquotad, mountd, and statd.  

After you've installed NFS v4.0 and its required dependencies in your Debian server, there are only five steps to configure it.

Server Instructions
1. Edit the file "/etc/exports" that's the access control list for serving directories of file systems to NFS clients:
/<directory>  <hostname or fqdn>(options) ...
/<directory>  <ip address>/<prefix length>(options) ...

2. Automatically start each service used by your NFS server on boot up: 
update-rc.d <service> <options>;

3. Edit the file "/etc/hosts.allow" that's the hosts access control list for allowing access to services on your server from specific hostnames, IP addresses, networks, and FQDNs:
<service or wildcard>: <hostname> <ip address>/<subnet mask> <fqdn>

4. Edit the file "/etc/hosts.deny" that's the hosts access control list for denying access to services on your server from specific hostnames, IP addresses, networks, and FQDNs:
<service or wildcard>: <hostname> <ip address>/<subnet mask> <fqdn>

 5. Allow incoming and outgoing client connections to your NFS server through your firewall:
iptables -A INPUT -i <interface> -p tcp --dport 2049 -j ACCEPT
iptables -A OUTPUT -o <interface> -p tcp --sport 2049 -j ACCEPT

Try connecting to the remote NFS share you set up.

Client Instructions
1. Edit the file "/etc/fstab" that automatically mounts partitions, file systems, and NFS shares:
<server>:/  /<directory>  nfs4  <option>=<value>,<option>=<value>,...

2. Allow outgoing client connections to your NFS server through your firewall:
iptables -A INPUT -i <interface> -p tcp --sport 2049 -j ACCEPT
iptables -A OUTPUT -o <interface> -p tcp --dport 2049 -j ACCEPT

Do you have a suggestion about how to improve this blog? Let's talk about it. Contact me at David.Brenner.Jr@Gmail.com or 720-584-5229.

Comments

Popular posts from this blog

The meaning of time in reinforcement learning

Reinforcement learning (RL) is one of three basic machine learning paradigms, alongside supervised learning and unsupervised learning. Reinforcement learning is concerned with how software agents ought to take actions in an environment in order to maximize the notion of cumulative reward through the process of trial and error. In reinforcement learning an agent starts at an empty state then analyzes the available datasets according to a policy of positive states and negative states. Rather than being explicitly taught as in supervised learning the correct set of actions for performing a task, reinforcement learning uses rewards as signals for positive states and punishments as signals for negative states. The agent obtains the best path to a desirable reward as a cumulation of positive states and negative states. As compared to unsupervised learning, reinforcement learning is different in terms of goals. While the goal in unsupervised learning is to find similarities and differences...

Threat hunting polymorphic malware in Linux with Python

You can investigate suspicious activity that could be polymorphic malware by collecting relevant machine data from your endpoint. You can use the machine data to create your own analysis. Before you start your investigation you will need to determine normal activity on your endpoint. Normal activity is the scope of functionality of the software on your endpoint during periods of low activity and high activity. You will need some kind of software that periodically collects specific machine data from your endpoint like my software developed in Python that's available for free download at https://github.com/davidbrennerjr/server-stats-collector Ingest one or more of the following machine data from Category #1. Ingest one or more of the following machine data from Category #2. And ingest one or more of the following machine data from Category #3. Category #1 General system-wide error messages from /var/log/syslog Auditing logs of application rule...

Application behavior monitoring in Linux with Python

You can monitor application behaviors by collecting relevant machine data from your endpoint. You can use the machine data to investigate suspicious activity and create your own analysis. Before you start your investigation you will need to determine normal activity on your endpoint. Normal activity is the scope of functionality of the software on your endpoint during periods of low activity and high activity. You will need some kind of software that periodically collects specific machine data from your endpoint like my software developed in Python that's available for free download at https://github.com/davidbrennerjr/server-stats-collector Ingest one or more of the following machine data from Category #1. Ingest one or more of the following machine data from Category #2. Category #1 General system-wide error messages from /var/log/syslog Auditing logs of application rulesets Auditing logs of security contexts Auditing logs of ...