A resposta geral
Eu tenho medo de adicionar interface de rede em um perfil de aplicativo não é possível, porque na seção 'Integração de Aplicativos' em Página de manual do UFW para a sintaxe ser escrita:
A sintaxe para os perfis de aplicativo é um formato simples de .INI:
[<name>] title=<title> description=<description> ports=<ports>
E não há predefinições de diretivas de interface.
Criar regras manualmente
De acordo com a pergunta Existem duas abordagens para permitir o TCP e o UDP simultaneamente:
-
Adicione regras para cada porta separadamente:
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
-
Adicione regras para cada protocolo separadamente:
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
Para permitir o acesso apenas de um endereço específico, adicione from 10.8.0.xxx
à declaração - por exemplo:
sudo ufw allow in on tun0 from 10.8.0.110 to any port 36892,23976,19827 proto tcp
- Mais exemplos: Fundamentos do UFW: Regras e comandos comuns do firewall .
Crie um perfil de aplicativo e crie regras com base nele
Vamos criar um novo arquivo de perfil, chamado custom.ufw.profile
, localizado em /etc/ufw/applications.d/
. O conteúdo deste arquivo pode ser assim:
[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
-
Podemos verificar se a sintaxe está correta através do comando
ufw app info "app name"
:$ sudo ufw app info "CustomApp 1 Full" Profile: CustomApp 1 Full Title: The first Custom Application Description: Custom Application Description Ports: 36892 23976 19827
Agora podemos criar uma nova regra com base neste perfil:
sudo ufw allow in on tun0 to any app "CustomApp 1 Full"
-
Verifique se a regra está correta:
$ 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)
Crie um comando personalizado para automatizar as regras de ativação / desativação do processo
Se pretendemos ativar ou desativar rapidamente algumas regras do UFW, podemos criar um comando personalizado para essa finalidade. Podemos usar uma função que pode ser algo assim:
function ufw-custom {
if ! ufw_loc="$(type -p "ufw")" || [ -z "$ufw_loc" ]; then
printf "\nUFW is not installed yet.\n\n"
elif [ "" = "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 [ "" = "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
Coloque essas linhas no final de ~/.bashrc
file e, em seguida, source ~/.bashrc
. Agora temos um comando personalizado chamado ufw-custom
, que pode manipular enable
ou disable
como argumentos. Por exemplo, para ativar as regras, use:
ufw-custom enable