2014-01-30 6 views
21

Gibt es eine Möglichkeit, die ausgehende IP-Adresse einer Website zu ermitteln (keine Webrole)?So ermitteln Sie die ausgehende IP-Adresse der Azure-Website?

Ich habe eine umgekehrte Suche * .azurewebsites.net gemacht, die eine Adresse zurückgibt, aber wenn ich es manuell überprüfe (indem ich die webapplication besuche einen Webserver, den ich kontrolliere), zeigt es eine völlig andere IP.

Was ist der richtige Weg?

+1

Was versuchen Sie zu erreichen? Aufgrund der Leichtigkeit der azurblauen Websites ist es besser, sich nicht auf Informationen zu verlassen, die sich wie die aktuelle IP ändern können. –

+1

Ich habe eine Website, die eine externe REST-Schnittstelle aufruft, die ich nach IP sperren möchte. Ich habe bereits auth und ssl drauf, aber ich möchte diese Schutzschicht, da wir es mit hochsensiblen Daten zu tun haben. –

Antwort

1

Es scheint, dass Azure-Websites nach dem Zufallsprinzip alle IP-Adressen des Datencenters für ausgehenden Datenverkehr verwenden. Sie können eine Liste mit IP-Adressen hier herunterladen: http://msdn.microsoft.com/en-us/library/dn175718.aspx

Alternativ können Sie auch eine Kombination aus einem Azure Cloud-Dienst und einem Azure VPN verwenden. Das VPN stellt sicher, dass Sie eine statische IP-Adresse für den gesamten ausgehenden Datenverkehr erhalten. Es ist eine Schande, dass sie dies nicht für ihren Website-Service vorhergesehen haben.

+1

Solange Sie die Bereitstellung eines Cloud-Dienstes nicht löschen, wird die IP-Adresse nicht geändert. Keine Notwendigkeit für ein VPN imho. – ckonig

0
<script runat="server"> 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Request["check"] == "1") 
    { 
     Response.Clear(); 
     Response.Write(HttpContext.Current.Request.UserHostAddress); 
    } 
    else { 
     Response.Write("Your IP: " + HttpContext.Current.Request.UserHostAddress + "<br />") ; 
     Response.Write("Server Outbound IP: " + GetOutBoundAddress()) ; 
    } 
} 

public string GetOutBoundAddress() 
{ 
    System.Net.WebClient wc = new System.Net.WebClient(); 

    try 
    { 
     return wc.DownloadString(Request.Url + "?check=1"); 
    } 
    catch (Exception) 
    { 
     return "not found"; 
    } 
} 

28

Azure Website kann von 4 IP-Adressen pro Skaleneinheit eine zufällige IP verwenden nur.

Eine Liste der IP-Adressen pro Skalierungseinheit und Anweisungen zur Bestimmung der Skalierungseinheit Ihrer Site finden Sie unter here.

UPDATE: scheint, dass alle 4 IP-Adressen der Maßstabseinheit jetzt in dem neuen Azure-Portal gefunden werden und der Forum-Post nicht mehr aktualisiert wird.

Ab dem 20. Juli 2015 wird dieser Beitrag nicht mehr mit IP-Adressen aktualisiert. Stattdessen kann diese Information nun in einem Web App-Eigenschaften unter Verwendung des neuen Portals (portal.azure.com) gefunden werden.

die ausgehenden IP-Adressen zu finden:

  1. Durchsuchen, um die Details Ihres spezifischen Web-App das neue Portal bei portal.azure.com verwenden.

  2. Nach oben hin der Details für Ihren Web-App gibt es einen Link für „Alle Einstellungen“. Klicken Sie auf den Link.

  3. Wenn Sie auf "Alle Einstellungen" klicken, wird eine Liste von Web-App-Informationen geöffnet, in die Sie weiter navigieren können. Die spezifischen Informationen zum Bohren sind "Eigenschaften". Klicken Sie auf die Auswahl "Eigenschaften".

  4. Innerhalb der UX "Eigenschaften" gibt es eine Textbox, die den Satz der ausgehenden IP-Adressen zeigt. Mit dem Symbol an der Seite "Ausgehende IP-Adressen" Textfeld können Sie alle Adressen auswählen. Durch Drücken von Strg + C werden dann die Adressen in die Zwischenablage kopiert.

+7

Sind diese "Ausgehenden IP-Adressen" statisch? – Jorik

+0

Welcher Scripting- oder API-Aufruf kann vorgenommen werden, um das zu erreichen, ohne durch GUI-Menüs zu klicken? – Snowy

+1

Sie finden die IP-Adressen auch unter https://resources.azure.com (https://resources.azure.com/subscriptions/YOUR-SUBSCRIPTION-GUID/providers/Microsoft.Web/sites). – jtmnt

5

Sie können die "outbound IP-Adressen" Eigentum über Powershell erhalten.Hier ist der Befehl:

(Get-AzureRmResource -ResourceGroupName inhabit-adminservices -ResourceType Microsoft.Web/sites -ResourceName YOUR_RESOURCE_NAME).Properties.OutboundIpAddresses -Split "," 

Wo YOUR_RESOURCE_NAME ist der Name der Ressourcengruppe.