Debian Wheezy - NFS + firewall.

Często zachodzi konieczność uruchomienia serwera NFS w połączeniu z firewallem (iptables), niestety zadanie to ze względu na zasadę działania NFS jest troszkę problematyczne.

Przygotowałem krótka ściągę w oparciu o Debiana Wheezy, która powinna pozwolić uruchomić taką konfigurację szybko i bez czasochłonnego czytania dokumentacji.

Zakładam, że nie uwzlędniamy wykorzystywania quoty, a iptables jest już poprawnie skonfigurowane i blokuje połączenia przychodzące, natomiast nie blokuje połączeń nawiązanych oraz wychodzących.

Instalujemy potrzebne paczki:

apt-get install nfs-kernel-server

W pliku /etc/modprobe.d/local.conf tworzymy wpis dla demona lockd:

options lockd nlm_udpport=4001 nlm_tcpport=4001

Uruchamiamy polecenie:

update-initramfs -u

W pliku /etc/default/nfs-common dodajemy wpis:

STATDOPTS="--port=4003 --outgoing-port=4004"

W pliku /etc/default/nfs-kernel-server dodajemy wpis:

RPCMOUNTDOPTS="--manage-gids --port=4002"

Do iptables dodajemy następujące lub analogiczne regułki (zakładając, że wpuszczamy ruch przez eth0):

-A INPUT -i eth0 -p tcp --dport 111 -j ACCEPT
-A INPUT -i eth0 -p udp --dport 111 -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 2049 -j ACCEPT
-A INPUT -i eth0 -p udp --dport 2049 -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 4001:4004 -j ACCEPT
-A INPUT -i eth0 -p udp --dport 4001:4004 -j ACCEPT

Od tej chwili po restarcie powinno wszystko działać, oczywiście nie można zapomnieć o udostępnieniu zasobów w /etc/exports oraz dokładnym przetestowaniu całości.

Napisano dnia: r.