Назад | Перейти на главную страницу

Блокировка порта с помощью Haproxy

Возможно ли, что мы можем заблокировать любой порт для доступа, скажем, 8080, чтобы заблокировать его из внешнего мира, кроме нашего определенного IP-адреса? Я знаю, как заблокировать IP-адрес с помощью

listen ...
    ...
    acl bad_ip src XXX.XXX.XXX.XXX #Any Bad IP
    use_backend block_ip if bad_ip
    ...


    backend block_ip
          mode http
          errorfile 403 /etc/haproxy/errors/403.http 

но я застрял в блокировке порта.

Вам нужно специально обслуживать http 403? Простое правило iptables действительно блокирует нежелательный трафик.

например:

iptables -p tcp -m tcp --dport 8080 -s ! $TRUSTED_IP_ADDRESS -j DROP

Что касается haproxy acl, вам понадобится dst_port вариант, соответствующий локальному порту, к которому подключен клиент.

acl secure_port  dst_port  8080
acl trusted_ip   src 10.0.0.1
use_backend block_ip if secure_port !trusted_ip

Таблицы IP-адресов будут считаться «правильным» инструментом для использования, даже если haproxy может помочь.