Я могу открыть порт в единственном интерфейсе (tun0) только при использовании профиля ufw

Так, я знаю, что могу сделать ufw allow from tun0 to tun0 port 36892 но действительно ли возможно сделать что-то подобное при использовании профиля ufw для нескольких портов как ports=tun0;36892|tun0;23976|tun0;19827?

В этом случае предположите, что tun0 10.8.0.1

1
задан 3 June 2017 в 18:10

1 ответ

Общий ответ

Я - испуганный сетевой интерфейс добавления в профиль приложений, не возможно, потому что под разделом 'Application Integration' в странице руководства UFW для синтаксиса записан:

Синтаксис для профилей приложений является простым.INI форматом:

[<name>]
title=<title>
description=<description>
ports=<ports>

И там не представлен интерфейсная директива.

Создайте Правила вручную

Согласно вопросу существует два подхода для разрешения TCP и UDP одновременно:

  1. Добавьте правила для каждого порта отдельно:

    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
    
  2. Добавьте правила для каждого протокола отдельно:

    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
    

Для предоставления доступа только от определенного адреса добавить from 10.8.0.xxx к объявлению - например:

sudo ufw allow in on tun0 from 10.8.0.110 to any port 36892,23976,19827 proto tcp

Создайте Профиль приложений и создайте Правила на основе его

Давайте создадим новый файл профиля, названный 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 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
    

Теперь мы можем создать новое правило на основе этого профиля:

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
3
ответ дан 7 December 2019 в 12:33

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

Похожие вопросы: