Есть ли способ отклонить IP-адрес от подключения к моему компьютеру?
Есть ли способ отклонить Ip от подключения к определенному порту?
Вы также можете использовать ufw, а IMO - намного проще.
Чтобы запретить использование IP-адреса из любых соединений, используйте:
sudo ufw deny from <ip_address> to any
Или запретить доступ к определенному порту:
sudo ufw deny from <ip_address> to any port <some_port>
или вы можете указать протокол:
sudo ufw deny proto tcp from <ip_address> to any port <some_port>
(заменив tcp на tcp или udp в зависимости от того, какой протокол вы хотите)
Один из вариантов: iptables, который активирует реальный брандмауэр для вашей системы; это, вероятно, самый безопасный способ (см. другие ответы).
Этот ответ полезен, если проблема в том, что вы видите повторную попытку входа в вашу систему с помощью демона sshd (служба сервера SSH).
Новое решение - использовать fail2ban. Он более мощный и простой в установке, с настройкой по умолчанию. См. Http://bodhizazen.com/Tutorials/SSH_security
Вы явно не указали, какую проблему вы видите, но если проблема в том, что кто-то пытается для входа в вашу систему с помощью грубых ssh атак (вряд ли опасно, если ваша система настроена хорошо, но все еще раздражает), я предлагаю вам взглянуть на http://bodhizazen.com/Tutorials/SSH_security 6].
Вы можете установить его из репозитория с помощью apt-get install denyhosts, и он просто работает из коробки, автоматически блокируя в течение недели любой хост, который пытается войти в систему на вашем компьютере и сработает три раза.
iptables -A INPUT -s IP-ADDRESS -j DROP
Замените IP-ADDRESS на ваш фактический IP-адрес. Например, если вы хотите заблокировать IP-адрес 192.168.0.100 по любой причине, введите команду следующим образом:
iptables -A INPUT -s 192.168.0.100 -j DROP
Если вы просто хотите заблокировать доступ к одному порту с ip 192.168.0.100 на порт 80, затем введите команду:
iptables -A INPUT -s 192.168.0.100 -p tcp --destination-port 80 -j DROP