2017-05-14 200 views
0

我想知道是否有可能将公共IP端口(例如端口80)映射到Azure iaas上不同的本地/私有IP端口(例如端口81) VM。我相信这在旧门户中是可行的,并且可以通过Add-AzureEndpoint实现(Add-AzureEndpoint是否将端点添加到VM的网络安全组?),但通过新的Azure门户是否可行?Azure VM端点:将公共端口映射到不同的本地端口

+0

同意4c74356b41,我们不能用NSG映射一个端口到另一个端口,如果要执行此操作,则应使用Azure负载平衡器NAT规则。 –

回答

0

如果您需要使用端口转发将唯一外部端口映射到VM上的内部端口,请使用负载平衡器和网络地址转换(NAT)规则。例如,您可能想在外部公开TCP端口8080,并将流量导向到虚拟机上的TCP端口80。您可以了解如何创建面向Internet的负载均衡器。

参考:
https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-get-started-internet-arm-ps
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nsg-quickstart-portal
https://feedback.azure.com/forums/281804-azure-resource-manager/suggestions/13069704-allow-basic-port-forwarding-in-network-security-gr

1

有一个端口代理建成netsh,可以为你做的,无需额外的基础设施:https://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx#BKMK_1

netsh interface portproxy add v4tov4 listenport=81 connectport=80 connectaddress=127.0.0.1 

如果你的虚拟机上运行的Linux只是使用iptables。

iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 81 

(我只是即兴发挥两个命令的语法这里,不通过文件复制粘贴,但而不是去。)