Existem muitas maneiras possíveis de fazer isso, algumas são simples e ruins ( tcp_wrappers ), algumas são melhores e complicadas ( iptables ), algumas são simples e basicamente as mesmas boas ( firewalld )
-
TCP wrappers (também conhecido como
hosts_access), você provavelmente precisará do módulomod_wrappara o ProFTPd. No SSHD funciona bem até agora./etc/hosts.deny: ALL: ALL /etc/hosts.allow: sshd, proftpd: 192.168., 1.2.3.4se sua LAN for
192.168.0.0/16e seu IP externo for1.2.3.4 -
O Firewalld está usando
iptablesé mais sofisticado, pois bloqueia no nível da rede:firewall-cmd --zone=internal --add-service=ssh firewall-cmd --zone=internal --add-service=ftp firewall-cmd --zone=internal --add-source=192.168.0.0/16 firewall-cmd --zone=internal --add-source=1.2.3.4/32 firewall-cmd --zone=public --remove-service=ssh firewall-cmd --zone=public --remove-service=ftp