An Azure service that provides private and fully managed Remote Desktop Protocol (RDP) and Secure Shell (SSH) access to virtual machines.
Azure Bastion Premium IP-based RDP over S2S VPN fails with Local Error: GuestFirewall
Hello,
I am testing Azure Bastion Premium with an IP-based RDP connection to an on-premises Windows jump server through a Site-to-Site VPN.
The architecture is:
User
-> Azure Bastion Premium
-> Azure VPN Gateway
-> Site-to-Site VPN
-> Cisco FTD
-> On-premises Windows Jump Server
The Bastion IP-based connection cannot reach the on-premises target.
Environment:
- Azure Bastion SKU: Premium
- AzureBastionSubnet: 10.0.2.0/26
- No NSG is associated with AzureBastionSubnet
- No Route Table / UDR is associated with AzureBastionSubnet
- IP-based connection is enabled
- Site-to-Site VPN status: Connected
- Azure VPN Gateway uses policy-based traffic selectors
- On-premises firewall: Cisco FTD
- Cisco S2S VPN type: Policy-based
- Cisco protected network on Azure side includes 10.0.2.0/26
- Cisco protected network on on-premises side is 172.31.50.0/24
- Local Network Gateway includes:
- 172.31.50.248/32
- 172.31.50.249/32
Targets tested:
- 172.31.50.248 TCP/3389
- Windows jump server
- RDP works from the local network
- 172.31.50.249 TCP/443
- Existing reverse proxy server
- Known to be reachable through the S2S VPN
Azure Bastion Connection Troubleshoot reports the following for both targets:
Source Bastion instance: 10.0.2.4
Result: Local Error: GuestFirewall
I then increased the Bastion scale units so that a different Bastion instance was used.
New source Bastion instance: 10.0.2.6
Result: Local Error: GuestFirewall
The result is identical for both:
- 172.31.50.248:3389
- 172.31.50.249:443
The downstream hops shown by Azure Connection Troubleshoot are healthy:
Bastion -> Azure VPN Gateway -> On-premises VPN Gateway -> Local Network Gateway -> Target network
I also performed packet capture on the Cisco FTD inside interface.
Capture filter:
Source: Any
Destination: 172.31.50.248
Protocol: TCP
Destination port: 3389
During the Azure Bastion connection attempt, no packets from AzureBastionSubnet were observed.
Local LAN RDP traffic to 172.31.50.248 is visible in the same packet capture, so the capture itself is working correctly.
This suggests that the traffic is not leaving the Azure Bastion managed instance, even though the S2S VPN path itself appears healthy.
There is no NSG or UDR on AzureBastionSubnet, and the GuestFirewall error remains after the Bastion instance changed from 10.0.2.4 to 10.0.2.6.
Questions:
- Is the "Local Error: GuestFirewall" on an Azure Bastion managed instance expected in this scenario?
- Can Azure Bastion Premium IP-based connections officially reach on-premises VMs through a policy-based S2S VPN?
- Is there any Bastion managed-instance firewall or platform-side restriction that could prevent outbound TCP/3389 or TCP/443 traffic toward the S2S VPN?
- Are there any additional requirements for Azure Bastion when using policy-based traffic selectors with an on-premises VPN device?
Any guidance on how to further diagnose the Bastion managed instance/data plane would be appreciated.
Thank you.