首先,我使用以下配置创建了虚拟网络:
选项 | 价值 |
---|---|
地区 | 印度中部 |
蔚蓝堡垒 | 已启用 |
Azure 防火墙 | 已启用 |
等级 | 基本 |
在同一部分中创建新的基本策略和 Azure 防火墙公共 IP 地址,然后创建。
其次,Ubuntu 20.04 LTS 的虚拟机,其中
No Public IP
位于同一位置和同一虚拟网络。
选项 | 价值 |
---|---|
可用性选项 | 可用区 |
可用区 | 1 区 |
尺寸 | 标准_B2s - 2 个 vcpu,4GB 内存 |
认证类型 | SSH 公钥 |
公共IP | 无 |
第三步:防火墙管理器 > Azure 防火墙策略 > DNAT 规则 > 添加具有以下选项的规则集合:
选项 | 价值 |
---|---|
姓名 | 防火墙-nginx-rulecln |
规则集合类型 | DNAT |
优先 | 100 |
规则收集组 | 默认DnatRuleCollectionGroup |
规则 | 没有规则 |
在防火墙策略的同一页面,DNAT 规则部分 > 单击“添加规则”:
选项 | 价值 |
---|---|
规则收集组 | 默认DnatRuleCollectionGroup |
规则合集 | 选择之前创建的组 |
姓名 | 防火墙规则 |
来源类型 | IP地址 |
源IP地址 | MySystemsIP来自 https://whatismyipaddress.com/ |
目标IP地址 | 防火墙的公网IP |
协议 | TCP |
目的港 | 4000 |
翻译类型 | IP地址 |
翻译后的 FQDN | 虚拟机的私有IP |
翻译后的端口 | 80 |
第四步: 通过 Bastion Host 连接到 Ubuntu VM,并执行此 GitHub 页面中的以下步骤。
问题:
能够通过发送命令来获取index.html中存在的内容
curl localhost:80
:
azureuser@linuxvm02:~$ curl localhost:80
<h1>I have learnt Azure Networking Concept, today</h1>
但如果我输入
Firewall-PublicIP:Port
(例如,4.247.159.154:4000
),则无法在浏览器中获得结果
无法在浏览器中使用其防火墙公共 IP 浏览 ubuntu Azure 实例 (VM)。
如果您无法使用 Fi
rewall Public IP
访问应用程序,请务必检查 Azure 防火墙规则 和 安全组规则。此外,请尝试从其他网络访问应用程序,因为流量可能会被阻止,尤其是在您使用公司网络时。
以下是使用
防火墙公共 IP在
Linux VM
上创建应用程序的步骤。
Virtual Network
。确保选择 Azure Bastion 和 Azure Firewall,如下面的屏幕截图所示。
Vnet 子网配置
虚拟机网络配置
确保将私钥下载到本地计算机,因为连接到虚拟机需要它。
Go to Firewall Manager > Azure Firewalls > Select your firewall and open > Firewall policy
。创建收集规则后,点击“添加规则”添加规则。
VM
。 sudo su
apt-get update
apt-get install nginx
cd /var/www/html/
vim index.html
Firewall Public IP
访问该应用程序。