Как вы заносите в белый список IP-адреса службы, чтобы разрешить использование только определенных подсетей? Использую ли я IPTables или есть более простой способ, например IPWrappers? Вам нужно зарегистрировать службу, чтобы она работала с IPWrappers (hosts.allow)
Если ваш vsftpd был скомпилирован с поддержкой tcp_wrappers, вы можете использовать его, если включите параметр конфигурации vsftpd
tcp_wrappers = да
Если включено и vsftpd был скомпилирован с поддержкой tcp_wrappers, входящие соединения будут пропускаться через контроль доступа tcp_wrappers. Кроме того, существует механизм настройки на основе IP. Если tcp_wrappers устанавливает переменную среды VSFTPD_LOAD_CONF, тогда сеанс vsftpd попытается загрузить файл конфигурации vsftpd, указанный в этой переменной.
Затем вы можете использовать стандартный hosts.allow и hosts.deny файлы.
Вы можете проверить, скомпилирован ли ваш vsftpd с поддержкой libwrap, вот так
ldd /usr/sbin/vsftpd | grep wrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00002ae164bb6000)
Самый простой способ - использовать iptables:
iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -s 4.5.6.0/24 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j DROP
чтобы разрешить с 1.2.3.0/24 и 4.5.6.0/24 и запретить всем остальным.
Не забудьте сохранить конфигурацию iptables (зависит от вашего дистрибутива Linux), чтобы она пережила перезагрузку.