Разрешение исходящих подключений к определенному IP с помощью ufw

Я отключил исходящие соединения в целом с UFW, видя, что я не хотел рисковать на своем форуме vBulletin, выставляя злоумышленникам IP-адрес моего сервера (я использую CloudFlare).

Сделав это, я заметил, что не могу запросить один конкретный IP-адрес, который вызывается внутренне через код. Теперь мой вопрос: как я могу разрешить только этот конкретный IP-адрес (скажем, 255.255.255.255) для исходящих соединений?

Спасибо!

2 ответа

Решение

Очень простое исправление! Вот кому интересно, как это можно сделать:

1) Открыть /etc/ufw/before.rules и вставьте это правило выше COMMIT на последней строке

-A ufw-before-output -m owner --uid-owner {user} -p {protocol} --dport {port} -d {ip} -j ACCEPT

Заполните значения для каждого следующим образом:

{user} - пользователь, которому вы хотите разрешить это (www-данные)

{protocol} - УДП или ТКП

{port} - на каком порту вы хотите это разрешить

{ip} - IP-адрес, который вы хотите разрешить.

Пример:

# server
-A ufw-before-output -m owner --uid-owner www-data -p udp --dport 6666 -d 255.255.255.255 -j ACCEPT # gameserver
-A ufw-before-output -m owner --uid-owner www-data -p tcp --dport 3306 -d 255.255.255.255 -j ACCEPT # mysql

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

2) Перезапустите UFW service ufw restart

Должно все правильно работать после! Убедитесь, что вы не добавили два порта в один, например, "-dport 6666,5555" - обычно это ошибки!

Я успешно разрешил исходящий трафик на конкретный IP-адрес через определенный порт с помощью следующей команды:

ufw allow out from any to <the.target.ip> port <port_number>
sudo ufw allow out to <ip_adress> port <number of port>
sudo ufw allow out to 192.168.x.x port 22
sudo ufw reload

разрешить исходящий ssh ​​только для этого IP

Другие вопросы по тегам