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

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

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

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

Спасибо!

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

ufw allow out from any to <the.target.ip> port <port_number>

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

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-data)

{protocol} - UDP или TCP

{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" - обычно это ошибка!