Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ виртуальные машины Linux
В этой статье описывается, как использовать неусложненный брандмауэр (UFW) для диагностики и устранения проблем с подключением на виртуальной машине Ubuntu Azure.
UFW — это удобный интерфейс для управления брандмауэром Netfilter в дистрибутивах Linux, особенно в Ubuntu. Его основной целью является упрощение управления брандмауэром для пользователей, которые могут найти, что прямая настройка iptables
является сложной и сложной. UFW — это средство настройки брандмауэра по умолчанию для Ubuntu.
Предварительные требования
- Привилегии корня.
- Доступ к последовательной консоли.
- Установленные
net-tools
,iproute2
иnetcat-openbsd
пакеты.
Как проверить, закрыт ли порт на виртуальной машине Ubuntu с помощью UFW
Примечание.
По умолчанию UFW не включен на виртуальных машинах Ubuntu, созданных с помощью образов из Azure Marketplace. Включение UFW на виртуальной машине закроет все порты, включая порт 22 для служб SSH.
Проверьте состояние UFW:
sudo ufw status
В выходных данных:
Status: active
указывает, что UFW запущен.Status: inactive
указывает, что UFW не активен, и порт не будет заблокирован UFW.
Список текущих правил UFW:
sudo ufw status numbered
Эта команда содержит все правила. В нем показано, разрешены ли или запрещены определенные порты. Если порт не отображается в списке, он по умолчанию запрещен.
Проверьте правила UFW, чтобы определить, запрещен ли определенный порт. Например, чтобы проверить, запрещен ли порт SSH 22, выполните следующую команду:
sudo ufw status | grep '22'
- Если выходные данные отображаются
22/tcp ALLOW
, порт разрешен через брандмауэр. - Если выходные данные не отображаются или правило не отображается
22/tcp DENY
, порт запрещен.
- Если выходные данные отображаются
netstat
Используйте команду илиss
команду, чтобы проверить, используется ли порт.tcp6 0 0 :::22 :::* LISTEN
- В примере выходных данных показано, что служба использует или прослушивает порт 22. Однако это не подтверждает, что порт разрешен или разблокирован брандмауэром. Даже если порт заблокирован брандмауэром, он по-прежнему может отображаться как ПРОСЛУШИВАТЕЛЬ в выходных данных.
- Выходные данные не указывают на то, что порт не прослушивается какой-либо службой.
Тестирование подключения к порту с помощью
nc
:sudo nc -zv <server-ip> 22
- Если подключение завершается ошибкой, но порт прослушивается, это подтверждает, что порт запрещен брандмауэром.
- Успешное подключение означает, что порт разрешен.
Если проверяющий порт не отображается в правилах UFW или если он помечен как DENY
, UFW блокирует порт. Кроме того, если вы не можете подключиться к порту с помощью внешних средств, порт блокируется.
Работа с UFW
Сценарий 1. Разрешить подключение SSH для всех IP-адресов
Выполните следующую команду:
sudo ufw allow ssh
Rule added
Проверьте правило:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Сценарий 2. Разрешить SSH (порт 22) для определенного IP-адреса
Выполните следующую команду:
sudo ufw allow from 10.0.10.10 to any port 22 proto tcp
Проверьте правило:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 10.0.10.10
Сценарий 3. Разрешить подсети подключаться к порту 22
Выполните следующую команду:
sudo ufw allow from 10.1.0.0/24 to any port 22 proto tcp
Проверьте правило:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 10.0.10.10
22/tcp ALLOW 10.1.0.0/24
Сценарий 4. Запретить SSH для всех IP-адресов
Выполните следующие команды:
sudo ufw deny ssh
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 10.0.10.10
22/tcp ALLOW 10.1.0.0/24
22/tcp DENY Anywhere
Внимание
Порядок правил важен, так как UFW обрабатывает правила в порядке их перечисления. Это означает, что после совпадения правил UFW будет применять это правило и прекратить обработку дополнительных правил для этого подключения.
Удаление правила
Если правила не заданы в правильном порядке, можно удалить правило, а затем восстановить его, чтобы изменить порядок.
Чтобы удалить правило, можно использовать его число из выходных ufw status numbered
данных. Например, чтобы удалить номер правила 3:
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW 10.0.10.10
[ 2] 22 ALLOW 10.1.0.0/24
[ 3] 22/tcp DENY IN Anywhere
sudo ufw delete 3
Дополнительные сведения см. в статье Ubuntu — сообщество UFW
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.