Этот вопрос задавался здесь раньше, но на него есть противоречивые и, возможно, устаревшие ответы. Похоже, это зависит от ОС, версии ОС и версии NFS.
На сервере CentOS 6.5 правила по умолчанию похожи на:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [47:3512]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Похоже, что сервер поддерживает как NFS версии 3, так и версии 4. Из других ответов я полагаю, что V4 проще настроить брандмауэр, потому что он не использует порты, выбранные случайным образом. Все клиенты - Mint 16, который, как я полагаю, также может использовать NFS v4.
Некоторые источники говорят, что мне нужны только порты 111 и 2049 с NFS v4, ЕСЛИ я «использую только TCP», в чем я не уверен. (Откуда мне знать?) Предполагая, что весь NFSv4 - TCP, мне нужно только добавить:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT