Я бы посоветовал использовать инструмент wireshark для мониторинга сетевого трафика. С фильтрами, настроенными на отображение только трафика NFS, вы сможете идентифицировать сетевые хосты, пишущие на ваш сервер NFS.
Is there any way to check the existence of these rules before writing them again? Or delete them before you do?
Вы можете использовать опцию -C для iptables. Проверьте man iptables
для получения дополнительной информации. Я думаю, что аккуратным способом было бы создать массив с правилами и проверить существование правила, прежде чем добавлять его в цепочку.
Пример скрипта:
#!/bin/bash
ip='1.1.1.1'
ip2='8.8.8.8'
rules=(
"INPUT -s $ip -j DROP"
"INPUT -s $ip2 -j DROP"
)
for rule in "${rules[@]}"; do
if ! iptables -C $rule 2> /dev/null; then
echo "Adding rule \"$rule\""
iptables -A $rule
fi
done