API - changeIPRouting und destinationInterfaceMAC

  • Moin,


    ich schicke dieses XML Konstrukt an https://www.servercontrolpanel.de/WSEndUser?xsd=1:

    Code
    <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ns1='http://enduser.service.web.vcp.netcup.de/'><SOAP-ENV:Body><ns1:changeIPRouting><loginName>$SCP_USER</loginName><password>$SCP_PASS</password><routedIP>$IP</routedIP><routedMask>$CIDR</routedMask><destinationVserverName>$SCP_SERVER</destinationVserverName><destinationInterfaceMAC>$MAC</destinationInterfaceMAC></ns1:changeIPRouting></SOAP-ENV:Body></SOAP-ENV:Envelope>


    Variablen sind wie folgt gefüllt:

    Code
    SCP_SERVER="v220211121868169439"
    MAC="2a:b0:98:1b:db:01"
    IP="81.16.19.62"
    CIDR="32"
    SCP_USER = meine Kundennummer, welche ich zur Anmeldung im SCP nutze
    SCP_PASS = API Passwort aus den SCP Einstellungen


    SCP_SERVER ist der Root Server, auf welchen ich die Failover Adresse ($IP/$CIDR) neu zuweisen möchte, MAC ist die MAC Adresse des ersten Interfaces (welches standardmäßig vorhanden ist bzw. auf welchem die öffentliche IP Adresse läuft), siehe Screenshot:


    pasted-from-clipboard.png


    Retour kommt aber immer folgendes:


    XML
    <?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>S:Server</faultcode><faultstring>validation error - could not find mac on new vserver</faultstring></S:Fault></S:Body></S:Envelope>

    Habe es auch einmal mit Bindestrichen und einmal ohne Trennzeichen in der MAC Adresse versucht.


    Hat jemand eine Idee, was ich falsch mache?


    Danke!

  • Ich habe auch ständig Fehlermeldungen bekommen, wenn ich es über xml versucht habe.

    Den Grund habe ich nicht gefunden, deshalb habe ich es dann über php gemacht und das funktionierte einwandfrei:


    Das längste Thema - netcup Kundenforum
    Zu meinem 100. Jubiläum in diesem Forum dieser Spaßthread :p Finde ich immer wieder lustig wie schnell man auf 0 kommt. Lustiger ist es aber neben der Zahl…
    forum.netcup.de

  • Über XML hab ich das ohne Probleme hinbekommen, bspw:




    Anschließend ./helper.sh attachIPRouting.xml und ist attahced. Das ganze template ich im Loop mit Ansible für alle möglichen Aktionen.

  • Über XML hab ich das ohne Probleme hinbekommen, bspw:

    Tiptop, vielen lieben Dank - auch für die Beispieldateien! Mit dem externen XML File in curl funktioniert es jetzt auch bei mir - ich hatte den Body in `-d` direkt eingetragen, vielleicht ist da auf dem Weg durch die Shell irgendwas mit der Formatierung kaputt gegangen.

  • Tiptop, vielen lieben Dank - auch für die Beispieldateien! Mit dem externen XML File in curl funktioniert es jetzt auch bei mir - ich hatte den Body in `-d` direkt eingetragen, vielleicht ist da auf dem Weg durch die Shell irgendwas mit der Formatierung kaputt gegangen.

    Bitte. Ich bin gerade dran die Sachen für Github vorzubereiten und einzuchecken, in dem Shell Srkipt dort habe ich das ganze auch als Einzeiler mit drin.

  • Weil’s grad zum Thema passt: Kann man Failover Adressen über unterschiedliche Regionen zuteilen, oder braucht man für Server in Wien eine Failover aus Wien und für Nürnberg eine aus Nürnberg?

  • Habe mein Umschaltskript auch mal hochgeladen. Das Fehlerparsing ist ein bisschen Quarkig, da ich auf dem Host nicht extra einen XML Parser installieren wollte, aber zumindest das umschalten klappt prima.


    system
    System configurations and scripts.
    git.com.de

  • Weil’s grad zum Thema passt: Kann man Failover Adressen über unterschiedliche Regionen zuteilen, oder braucht man für Server in Wien eine Failover aus Wien und für Nürnberg eine aus Nürnberg?

    Ich meine mal gelesen zu haben, dass die nur an je einem Standort betrieben werden können. Bin mir da jetzt aber nicht mehr 100% sicher.

  • Weil’s grad zum Thema passt: Kann man Failover Adressen über unterschiedliche Regionen zuteilen, oder braucht man für Server in Wien eine Failover aus Wien und für Nürnberg eine aus Nürnberg?

    IP-Adressen, Subnetze und VLANs sind, soweit ich weiß, immer standortbezogen.


    Siehe: https://www.netcup.de/vserver/root-server-erweiterungen.php

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Sinn macht das meiner Meinung nach schon - so ein dynamisches Routing in's Internet über zwei Länder zu betreiben wäre ein erheblicher Mehraufwand, wenn man nicht gerade über teure Anycast Adressen verfügt.

  • Das hier klappte bei mir bislang immer:

    Code
    curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:"  -d "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tns=\"http://enduser.service.web.vcp.netcup.de/\"><soapenv:Header/><soapenv:Body><tns:changeIPRouting><loginName>123</loginName><password>456</password><routedIP>37.120..</routedIP><routedMask>32</routedMask><destinationVserverName>v220161</destinationVserverName><destinationInterfaceMAC>36:0b:84::</destinationInterfaceMAC></tns:changeIPRouting></soapenv:Body>" -X POST https://www.servercontrolpanel.de/WSEndUser
  • Das hier klappte bei mir bislang immer:

    Code
    curl -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction:"  -d "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tns=\"http://enduser.service.web.vcp.netcup.de/\"><soapenv:Header/><soapenv:Body><tns:changeIPRouting><loginName>123</loginName><password>456</password><routedIP>37.120..</routedIP><routedMask>32</routedMask><destinationVserverName>v220161</destinationVserverName><destinationInterfaceMAC>36:0b:84::</destinationInterfaceMAC></tns:changeIPRouting></soapenv:Body>" -X POST https://www.servercontrolpanel.de/WSEndUser

    Klappt das aktuell noch bei dir? Ich habe aktuell Probleme https://forum.netcup.de/inform…onsf%C3%A4hig/#post181527 und auch mit deinem Aufruf krieg ich nur:


    <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>S:Server</faultcode><faultstring>generall error</faultstring></S:Fault>

    zurück.

  • Sieht nicht so aus:

    XML
    <?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"><faultcode>S:Server</faultcode><faultstring>generall error</faultstring></S:Fault></S:Body></S:Envelope>


    Der Fehler liegt also wahrscheinlich nicht bei dir - was ich (im Gegensatz zum Support) auch nicht erwartet hätte!