2016-01-19 3 views
3

Я запускаю Tomcat на CentOS vm в Azure. Нет брандмауэра на хосте. wget localhost: 8080 возвращает страницу, как и тот же запрос, на частный IP-адрес. Я могу использовать SSH на сервере с использованием общедоступного IP-адреса, но wget public_IP_address: 8080 не отправляется на хост.Маршрутизация трафика TCP на порт 8080 на Azure VM

Я включил въездного правила безопасности для порта 8080, который выглядит идентичным тому, который позволяет SSH через порт 22.

Inbound security rules

Я исследовал это в течение нескольких часов. Кажется, что все статьи о запуске Tomcat на хосте linux в Azure написаны с помощью интерфейса администрирования Classic Virtual Machine. Они говорят о том, чтобы указать конечную точку, которая недоступна в современном интерфейсе Azure. Я также вижу info about establishing an "ILPIP,", но это, кажется, требует powershell, который не находится на моем хосте CentOS.

Я также ничего не могу найти об изменении предполагаемого «VIP», который показан в приведенной выше статье.

Что мне не хватает для включения TCP-доступа к моему серверу Tomcat, прослушивающего порт 8080 на моей виртуальной машине CentOS в Azure?

Обновление:

Пер предложению @MichaelB, я установил Azure инструменты командной строки на Mac OS X.

$ azure vm show minimalfalcon 
info: Executing command vm show 
+ Getting virtual machines              
warn: No VMs found 
info: vm show command OK 

В текущем Portal UI, нажав на ссылку "виртуальных машин (Classic) показывает, нет экземпляров. Когда я нажимаю «Виртуальные машины», я получаю доступ ко всем настройкам моей виртуальной машины. Я подозреваю, что инструмент Azure CLI подключается к классическому API вместо того, что использует текущий портал. И портал не предлагает классический доступ к моей виртуальной машине.

Я также рекомендовал @ MichaelB предложить отключить входящее правило для SSH в группе безопасности. Разумеется, SSH-доступ сохранялся на этой виртуальной машине! Так что, когда я провожу:

Виртуальные машины >> minimalfalcon >> Настройки >> Сетевые интерфейсы >> minimalfalcon447 >> Сеть Группа безопасности (minimalfalcon) >> Настройки >> Прибывающие правила безопасности

Те не очень контролировать доступ к моей виртуальной машине. См. Снимок экрана ниже. Какое обруч нужно перепрыгнуть, чтобы применить эту политику групповой политики безопасности к моей виртуальной машине? Я действительно не вижу, как это не должно применяться. Любое руководство ценится!

Network Security Group Screenshot

+0

Вы уверены, что эта группа безопасности применяется к этой машине? т. е. если вы заблокируете порт 22, ваш SSH-доступ остановится. (и вы можете использовать инструменты Azure Xplat, которые в основном имеют одинаковую функциональность). –

ответ

0

Если вам нужно создать перевод порта, вы должны быть в состоянии выставить этот порт, используя только портал. Check this

Если вы создали виртуальную машину с использованием нового диспетчера ресурсов (через портал или через скрипт ARM), концепция конечной точки больше не существует. Вместо этого у вас есть IP-адрес, связанный с сетевым адаптером. И этот сетевой адаптер находится в группе сетевой безопасности (NSG). В NSG вы определяете правила входящих и исходящих портов. Еще несколько кликов, но ...

Первый взгляд на настройки виртуальной машины и перейдите к сетевому интерфейсу:

NIC

Затем перейдите к группе безопасности сети:

Network Security Group

Наконец, редактировать входящие правила:

inbound rules

+0

Ссылка предоставлена ​​для администрирования Classic Virtual Machine, а не для текущего портала. Вариантов «Конечных точек» на современном портале Azure нет. – mrTexasFreedom

+0

Ссылка, содержащая оба примера, первый абзац для классического да, но остальная часть ответа для руки. – Canoas

0

Это работало для меня с этим inbound rule. Обязательно используйте общедоступный IP-адрес, указанный в разделе «Essentials» лезвия VM.

При создании входящего правила безопасности, убедитесь, что:

Примечание: Azure имеет две различные модели развертывания: Resource Manager and classic. ILPIP относится только к классической модели развертывания.

Примечание: Когда виртуальная машина создается с портала (в модели ARM), она автоматически ассоциируется с виртуальной сетью (vnet), определенной подсетью в сети vnet и группой сетевой безопасности.

0

2 мысли:

1) По умолчанию на ARM все порты открыты (если у вас есть брандмауэр или т.п.). Вот почему ваш ssh прошел даже без входящего правила. Если вы хотите заблокировать доступ к порту, вы должны сделать это явно. Таким образом, если это предназначено для тестирования, вы можете полностью удалить NSG; Это может помочь определить, является ли проблема NSG или чем-то еще.

2) Вы говорите, что можете wget localhost: 8080 от VM, и это работает, правильно? Это заставляет меня думать, что, возможно, ваш tomcat прослушивает 127.0.0.1 вместо вашего общедоступного ip (или 0.0.0.0 для простоты).

Надеюсь, это поможет! :)

Смежные вопросы