1

Я хотел бы разрешить доступ к моему linux (debian) через ssh и proftp из всей локальной сети (192.168.1.x) и одного внешнего IP-адреса (внешний ip всегда связан с моим sub.dom.tld). Я нашел этот пост https://stackoverflow.com/questions/18939285/how-to-access-my-ssh-linux-server-from-outside-my-home-network, но я бы хотел сохранить внешний IP-адрес свежим (из время от времени это может быть изменено, поэтому я просто устанавливаю новый IP-адрес в моем доменном имени для этого субдомена, и мой ящик с Linux должен автоматически обновлять это ограничение).

Есть ли способ, как ограничить доступ к моему linux для ssh и proftp только для этого внешнего IP и для всей локальной сети?

если пошаговое руководство доступно, отлично. благодарю вас

1 ответ1

1

Есть много возможных способов сделать это, некоторые простые и плохие (tcp_wrappers), некоторые лучше и сложнее (iptables), некоторые простые и в основном такие же хорошие (firewalld)

  1. TCP wrappers (он же hosts_access), вам, вероятно, нужен модуль mod_wrap для ProFTPd. В SSHD пока работает нормально.

    /etc/hosts.deny:
      ALL: ALL
    
    /etc/hosts.allow:
      sshd, proftpd: 192.168., 1.2.3.4
    

    если ваша локальная сеть 192.168.0.0/16 и ваш внешний IP 1.2.3.4

  2. Firewalld использует iptables более причудливо, так как они блокируют его на сетевом уровне:

    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
    

    (Источник)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .