Вариант 1. с помощью firewall
Сentos
В файле /etc/sysconfig/iptables произвести следующие изменения:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [336:33268]
:trusted_hosts - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp -m multiport --dports 111,2049 -j trusted_hosts
-A INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 111,2049 -j trusted_hosts
-A INPUT -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A trusted_hosts -s 1.1.1.1/32 -j ACCEPT
-A trusted_hosts -s 2.2.2.2/32 -j ACCEPT
-A trusted_hosts -j REJECT --reject-with icmp-host-prohibited
COMMIT
, где 1.1.1.1/32 и 2.2.2.2/32 - IP или диапозон адресов с которых разрешен доступ к порту.
затем перезагрузить iptables:
service iptables restart
Debian-Ubuntu
Установить пакет:
apt-get install iptables-persistent
Затем в файл /etc/iptables/rules.v4 внести изменения аналогичные как и для centos указанные выше.
После чего загрузить правила:
iptables-restore < /etc/iptables/rules.v4
и добавить в автозагрузку:
для старых версий ОС update-rc.d iptables-persistent defaults для новых версий ОС update-rc.d netfilter-persistent defaults
—-
Вариант 2. отключить сервис portmapper полностью.
Centos
chkconfig portmap off service portmap stop
Debian-Ubuntu
service rpcbind stop apt-get remove rpcbind