Итак, я знаю, что я могу сделать ufw allow from tun0 to tun0 port 36892, но возможно ли сделать что-то подобное при использовании профиля ufw для нескольких портов, таких как ports=tun0;36892|tun0;23976|tun0;19827?
В этом случае предположим, что tun0 - 10.8 .0.1
Я боюсь, что добавление сетевого интерфейса в профиль приложения невозможно, потому что в разделе «Интеграция приложений» на странице руководства UFW для синтаксиса написано:
Синтаксис для профилей приложений - это простой формат .INI:[<name>]
title=<title>
description=<description>
ports=<ports>
И нет префиксов директивы интерфейса.
В соответствии с вопросом Существует два подхода к одновременному разрешению TCP и UDP:
Добавить правила для каждого порта отдельно:sudo ufw allow in on tun0 to any port 36892
sudo ufw allow in on tun0 to any port 23976
sudo ufw allow in on tun0 to any port 19827
Добавить правила для каждого протокола отдельно: sudo ufw allow in on tun0 to any port 36892,23976,19827 proto tcp
sudo ufw allow in on tun0 to any port 36892,23976,19827 proto udp
To разрешить доступ только с определенного адреса, добавить from 10.8.0.xxx в объявление - например:
sudo ufw allow in on tun0 from 10.8.0.110 to any port 36892,23976,19827 proto tcp
Дополнительные примеры: UFW Essentials: Общие правила и команды брандмауэра. Давайте создадим новый файл профиля, называемый custom.ufw.profile, расположенный в /etc/ufw/applications.d/. Содержимое этого файла может выглядеть так:
[CustomApp 1 Full]
title=The first Custom Application
description=Custom Application Description
ports=36892|23976|19827
[CustomApp 1 TCP]
title=The first Custom Application - TPC only
description=Custom Application Description
ports=36892,23976,19827/tcp
[CustomApp 1 UDP]
title=The first Custom Application - UDP only
description=Custom Application Description
ports=36892,23976,19827/udp
Дополнительные примеры: UFW Essentials: Общие правила и команды брандмауэра. Теперь мы можем создать новое правило, основанное на этом профиле:
sudo ufw allow in on tun0 to any app "CustomApp 1 Full"
Проверьте правильность правильности: $ sudo ufw status numbered | grep CustomApp
[10] CustomApp 1 Full on tun0 ALLOW IN Anywhere
[20] CustomApp 1 Full (v6) on tun0 ALLOW IN Anywhere (v6)
Если мы намерены иметь возможность быстрого включения или отключения нескольких правил UFW, мы можем создать для этой цели пользовательскую команду. Мы можем использовать функцию, которая может выглядеть примерно так:
function ufw-custom {
if ! ufw_loc="$(type -p "ufw")" || [ -z "$ufw_loc" ]; then
printf "\nUFW is not installed yet.\n\n"
elif [ "$1" = "enable" ]; then
sudo ufw allow in on tun0 to any port 36892
sudo ufw allow in on tun0 to any port 23976
sudo ufw allow in on tun0 to any port 19827
echo ""
sudo ufw reload
echo ""
sudo ufw status numbered
elif [ "$1" = "disable" ]; then
sudo ufw delete allow in on tun0 to any port 36892
sudo ufw delete allow in on tun0 to any port 23976
sudo ufw delete allow in on tun0 to any port 19827
echo ""
sudo ufw reload
echo ""
sudo ufw status numbered
else
echo ""
sudo ufw status numbered
printf "Use 'ufw-custom enable' or 'ufw-custom disable'.\n\n"
fi
}
export -f ufw-custom
Поместите эти строки в конец файла ~/.bashrc, а затем source ~/.bashrc. Теперь у нас есть пользовательская команда под названием ufw-custom, которая может обрабатывать enable или disable в качестве аргументов. Например, чтобы включить правила, используйте:
ufw-custom enable
Я боюсь, что добавление сетевого интерфейса в профиль приложения невозможно, потому что в разделе «Интеграция приложений» на странице руководства UFW для синтаксиса написано:
Синтаксис для профилей приложений - это простой формат .INI:[<name>]
title=<title>
description=<description>
ports=<ports>
И нет префиксов директивы интерфейса.
В соответствии с вопросом Существует два подхода к одновременному разрешению TCP и UDP:
Добавить правила для каждого порта отдельно:sudo ufw allow in on tun0 to any port 36892
sudo ufw allow in on tun0 to any port 23976
sudo ufw allow in on tun0 to any port 19827
Добавить правила для каждого протокола отдельно: sudo ufw allow in on tun0 to any port 36892,23976,19827 proto tcp
sudo ufw allow in on tun0 to any port 36892,23976,19827 proto udp
To разрешить доступ только с определенного адреса, добавить from 10.8.0.xxx в объявление - например:
sudo ufw allow in on tun0 from 10.8.0.110 to any port 36892,23976,19827 proto tcp
Дополнительные примеры: UFW Essentials: Общие правила и команды брандмауэра. Давайте создадим новый файл профиля, называемый custom.ufw.profile, расположенный в /etc/ufw/applications.d/. Содержимое этого файла может выглядеть так:
[CustomApp 1 Full]
title=The first Custom Application
description=Custom Application Description
ports=36892|23976|19827
[CustomApp 1 TCP]
title=The first Custom Application - TPC only
description=Custom Application Description
ports=36892,23976,19827/tcp
[CustomApp 1 UDP]
title=The first Custom Application - UDP only
description=Custom Application Description
ports=36892,23976,19827/udp
Дополнительные примеры: UFW Essentials: Общие правила и команды брандмауэра. Теперь мы можем создать новое правило, основанное на этом профиле:
sudo ufw allow in on tun0 to any app "CustomApp 1 Full"
Проверьте правильность правильности: $ sudo ufw status numbered | grep CustomApp
[10] CustomApp 1 Full on tun0 ALLOW IN Anywhere
[20] CustomApp 1 Full (v6) on tun0 ALLOW IN Anywhere (v6)
Если мы намерены иметь возможность быстрого включения или отключения нескольких правил UFW, мы можем создать для этой цели пользовательскую команду. Мы можем использовать функцию, которая может выглядеть примерно так:
function ufw-custom {
if ! ufw_loc="$(type -p "ufw")" || [ -z "$ufw_loc" ]; then
printf "\nUFW is not installed yet.\n\n"
elif [ "$1" = "enable" ]; then
sudo ufw allow in on tun0 to any port 36892
sudo ufw allow in on tun0 to any port 23976
sudo ufw allow in on tun0 to any port 19827
echo ""
sudo ufw reload
echo ""
sudo ufw status numbered
elif [ "$1" = "disable" ]; then
sudo ufw delete allow in on tun0 to any port 36892
sudo ufw delete allow in on tun0 to any port 23976
sudo ufw delete allow in on tun0 to any port 19827
echo ""
sudo ufw reload
echo ""
sudo ufw status numbered
else
echo ""
sudo ufw status numbered
printf "Use 'ufw-custom enable' or 'ufw-custom disable'.\n\n"
fi
}
export -f ufw-custom
Поместите эти строки в конец файла ~/.bashrc, а затем source ~/.bashrc. Теперь у нас есть пользовательская команда под названием ufw-custom, которая может обрабатывать enable или disable в качестве аргументов. Например, чтобы включить правила, используйте:
ufw-custom enable
Я боюсь, что добавление сетевого интерфейса в профиль приложения невозможно, потому что в разделе «Интеграция приложений» на странице руководства UFW для синтаксиса написано:
Синтаксис для профилей приложений - это простой формат .INI:[<name>]
title=<title>
description=<description>
ports=<ports>
И нет префиксов директивы интерфейса.
В соответствии с вопросом Существует два подхода к одновременному разрешению TCP и UDP:
Добавить правила для каждого порта отдельно:sudo ufw allow in on tun0 to any port 36892
sudo ufw allow in on tun0 to any port 23976
sudo ufw allow in on tun0 to any port 19827
Добавить правила для каждого протокола отдельно: sudo ufw allow in on tun0 to any port 36892,23976,19827 proto tcp
sudo ufw allow in on tun0 to any port 36892,23976,19827 proto udp
To разрешить доступ только с определенного адреса, добавить from 10.8.0.xxx в объявление - например:
sudo ufw allow in on tun0 from 10.8.0.110 to any port 36892,23976,19827 proto tcp
Дополнительные примеры: UFW Essentials: Общие правила и команды брандмауэра. Давайте создадим новый файл профиля, называемый custom.ufw.profile, расположенный в /etc/ufw/applications.d/. Содержимое этого файла может выглядеть так:
[CustomApp 1 Full]
title=The first Custom Application
description=Custom Application Description
ports=36892|23976|19827
[CustomApp 1 TCP]
title=The first Custom Application - TPC only
description=Custom Application Description
ports=36892,23976,19827/tcp
[CustomApp 1 UDP]
title=The first Custom Application - UDP only
description=Custom Application Description
ports=36892,23976,19827/udp
Дополнительные примеры: UFW Essentials: Общие правила и команды брандмауэра. Теперь мы можем создать новое правило, основанное на этом профиле:
sudo ufw allow in on tun0 to any app "CustomApp 1 Full"
Проверьте правильность правильности: $ sudo ufw status numbered | grep CustomApp
[10] CustomApp 1 Full on tun0 ALLOW IN Anywhere
[20] CustomApp 1 Full (v6) on tun0 ALLOW IN Anywhere (v6)
Если мы намерены иметь возможность быстрого включения или отключения нескольких правил UFW, мы можем создать для этой цели пользовательскую команду. Мы можем использовать функцию, которая может выглядеть примерно так:
function ufw-custom {
if ! ufw_loc="$(type -p "ufw")" || [ -z "$ufw_loc" ]; then
printf "\nUFW is not installed yet.\n\n"
elif [ "$1" = "enable" ]; then
sudo ufw allow in on tun0 to any port 36892
sudo ufw allow in on tun0 to any port 23976
sudo ufw allow in on tun0 to any port 19827
echo ""
sudo ufw reload
echo ""
sudo ufw status numbered
elif [ "$1" = "disable" ]; then
sudo ufw delete allow in on tun0 to any port 36892
sudo ufw delete allow in on tun0 to any port 23976
sudo ufw delete allow in on tun0 to any port 19827
echo ""
sudo ufw reload
echo ""
sudo ufw status numbered
else
echo ""
sudo ufw status numbered
printf "Use 'ufw-custom enable' or 'ufw-custom disable'.\n\n"
fi
}
export -f ufw-custom
Поместите эти строки в конец файла ~/.bashrc, а затем source ~/.bashrc. Теперь у нас есть пользовательская команда под названием ufw-custom, которая может обрабатывать enable или disable в качестве аргументов. Например, чтобы включить правила, используйте:
ufw-custom enable