ChangeMyIP unter Linux: IP ändern und verifizieren (Einsteiger-Setup)
Eine einsteigerfreundliche, terminalorientierte Schritt-für-Schritt-Anleitung, um Linux-Datenverkehr über ChangeMyIP HTTP- und SOCKS5-Endpunkte zu leiten und dann mit curl-Prüfungen und einem Leak-Sanity-Test zu belegen, dass die IP tatsächlich geändert wurde.
Überblick
Ein Proxy ändert die IP-Adresse, die eine Zielwebsite sieht, weil die Website dem Proxy antwortet und nicht Ihrem Rechner. Unter Linux können Sie einzelne Befehle auf einen ChangeMyIP-Endpunkt richten oder Umgebungsvariablen setzen, die die meisten Kommandozeilen-Tools automatisch auslesen. Dieses Tutorial behandelt beide Ansätze auf Einsteigerniveau und endet mit einem Verifikationsschritt, damit Sie wissen, dass die Änderung tatsächlich stattgefunden hat.
ChangeMyIP bietet Shared- und Dedicated-Datacenter-Proxys sowie Residential-Proxys mit rotierenden IPs, erreichbar über HTTP und SOCKS5 sowie Shadowsocks, Trojan, DNS und WireGuard. Diese Anleitung verwendet nur HTTP und SOCKS5, passend zu einem ersten Setup.
Bevor Sie beginnen
- Ein aktives ChangeMyIP-Abonnement. In Ihrem Dashboard oder in den Plandetails finden Sie den Proxy-Host, den Port und den Benutzernamen/das Passwort, die Sie verwenden werden.
- Einen Linux-Rechner (Desktop oder Server) mit
curl. Bestätigen Sie dies mitcurl --version. - Eine Terminal-Sitzung. Öffnen Sie eine neue Shell zum Testen, damit Sie sie schließen und alles verwerfen können.
- Optional: einen Texteditor für Shell-Profil-Dateien wie
~/.bashrcoder~/.zshrc.
Den richtigen Endpunkt für die Aufgabe wählen
| Endpunkttyp | Verhalten der IP | Typische erste Verwendung |
|---|---|---|
| Shared Datacenter | Eine von vielen IPs in einem gemeinsam genutzten Pool; andere Nutzer sehen möglicherweise dieselbe IP | Testen, ob Ihr Setup funktioniert, allgemeines Surfen |
| Dedicated Datacenter | Eine Ihrem Konto zugewiesene IP | Eine stabile Identität für Konten beibehalten, die Ihnen gehören |
| Residential | Rotierende IPs aus echten ISP-Bereichen | Geo-targeted Seiten prüfen, Datenerfassung in moderatem Umfang |
Ihre Plandetails entscheiden, welche Länder- oder Städtecodes Sie anfordern können. Der Pool von ChangeMyIP umfasst über 40 Länder und mehr als 300 Städte; verwenden Sie die Länder- und Stadtparameter genau so, wie es für Ihren Plan dokumentiert ist, anstatt zu raten.
Schritte
Schritt 1: Anmeldedaten in die Shell laden
read -r -p "Proxy-Host und Port (host:port): " CM_HOST
read -r -p "Proxy-Benutzername: " CM_USER
read -r -s -p "Proxy-Passwort: " CM_PASS; echo
read -s hält das Passwort vom Bildschirm fern und aus Ihrer Shell-Historie heraus. Durch diese Befehle wird nichts auf der Festplatte gespeichert.
Schritt 2: Aktuelle IP notieren
echo "Direkte IP: $(curl -sS https://api.ipify.org)"
echo
Notieren Sie diesen Wert. Sie werden ihn später mit dem Proxy-Ergebnis vergleichen. Jeder IP-Echo-Dienst funktioniert; api.ipify.org wird hier verwendet, weil er eine reine Adresse ohne zusätzliches Markup zurückgibt.
Schritt 3: HTTP-Endpunkt testen
curl -sS --proxy "http://$CM_HOST" --proxy-user "$CM_USER:$CM_PASS" https://api.ipify.org
echo
Wenn die Authentifizierung erfolgreich ist und der Endpunkt erreichbar ist, unterscheidet sich die ausgegebene Adresse von der direkten IP aus Schritt 2. Behalten Sie den Aufruf vorerst als expliziten curl-Befehl bei; Umgebungsvariablen folgen als Nächstes.
Schritt 4: SOCKS5-Endpunkt testen
curl -sS --socks5-hostname "$CM_HOST" --proxy-user "$CM_USER:$CM_PASS" https://api.ipify.org
echo
Die Form --socks5-hostname fordert den Proxy auf, den Ziel-Hostnamen aufzulösen, sodass Ihr lokaler DNS-Resolver für die Zieldomain nicht konsultiert wird. Das einfache Flag --socks5 löst lokal auf und ist für datenschutzorientierte Setups normalerweise die falsche Wahl.
Schritt 5: Proxy-Umgebungsvariablen für die Sitzung setzen
export http_proxy="http://$CM_USER:$CM_PASS@$CM_HOST"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1"
curl -sS https://api.ipify.org
echo
curl, wget, git, pip und viele andere Kommandozeilen-Tools lesen diese Variablen automatisch. Die no_proxy-Liste hält lokale Adressen wie einen Entwicklungsserver auf Port 3000 aus dem Proxy-Tunnel heraus.
Schritt 6: Ein-/Aus-Hilfsfunktionen statt dauerhafter Exporte hinzufügen
# An ~/.bashrc oder ~/.zshrc anhängen
proxy_on() {
: "${CM_HOST:?Zuerst CM_HOST, CM_USER und CM_PASS setzen}"
export http_proxy="http://${CM_USER}:${CM_PASS}@${CM_HOST}"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1"
echo "HTTP/HTTPS-Proxy an"
}
proxy_off() {
unset http_proxy https_proxy no_proxy
echo "HTTP/HTTPS-Proxy aus"
}
Laden Sie die Datei mit source ~/.bashrc neu, und geben Sie dann proxy_on ein, wenn Sie den Tunnel wünschen, und proxy_off, wenn nicht. Einen Proxy dauerhaft exportiert zu lassen, ist eine häufige Ursache für verwirrende Fehler in nicht zusammenhängenden Tools.
Schritt 7: Verstehen, was die Umgebungsvariablen nicht abdecken
- Browser, Electron-Apps und Desktop-Dienste ignorieren Shell-Umgebungsvariablen im Allgemeinen. Stellen Sie den Proxy stattdessen in der Anwendung oder in den Netzwerkeinstellungen Ihres Desktops ein.
- Hintergrunddämonen wie Docker, snapd und einige Paketmanager benötigen ihre eigenen Konfigurationsdateien.
- Pro Shell-Sitzung kann nur ein globaler Proxy aktiv sein; führen Sie daher separate Terminals aus, wenn Sie zwei Endpunkte gleichzeitig vergleichen möchten.
Schritt 8: Änderung bestätigen und DNS-Plausibilitätsprüfung durchführen
curl -sS https://ipinfo.io/ip; echo
curl -sS https://ipinfo.io/country; echo
Der Länderwert sollte mit der Region des von Ihnen ausgewählten ChangeMyIP-Endpunkts übereinstimmen. Sowohl bei HTTP als auch bei der Form --socks5-hostname löst der Proxy den Ziel-Hostnamen auf, sodass Ihr lokaler Resolver für die Zieldomain nicht konsultiert wird. Wenn Sie zusätzlich einen lokalen DNS-Resolver oder einen transparenten Proxy betreiben, führen Sie einen DNS-Leak-Test in einem Browser durch, um zu bestätigen, dass Ihre Abfragen dort herausgehen, wo Sie es erwarten.
Fehlerbehebung
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
curl: (22) ... 407 |
Fehlende oder falsche Proxy-Anmeldedaten | Benutzernamen und Passwort erneut prüfen und --proxy-user explizit übergeben |
curl: (7) Failed to connect |
Falscher Host oder Port oder Firewall-Blockade | Host und Port aus Ihren Plandetails kopieren; bestätigen, dass der Port erreichbar ist |
IP ist nach export unverändert |
In einer anderen Shell exportiert oder das Tool ignoriert Umgebungsvariablen | proxy_on in der aktuellen Shell ausführen und zuerst mit curl testen |
Funktioniert mit curl, aber nicht im Browser |
Browser liest keine Shell-Variablen | Host und Port in den Proxy-Einstellungen des Browsers oder im Netzwerkpanel des Desktops eingeben |
| Einige Websites laden, andere sind blockiert | Shared-Datacenter-IP wird von der Zielwebsite markiert | Mit einem Residential-Endpunkt erneut versuchen |
| SOCKS5 schlägt fehl, aber HTTP funktioniert | Lokale DNS-Auflösung oder falsches SOCKS-Flag | --socks5-hostname verwenden |
| Geschwindigkeit variiert zwischen Versuchen | Überlastung des Shared-Datacenter-Pools | Einen anderen Endpunkt aus einer anderen Stadt testen |
Zusammenfassung
Die Änderung Ihrer IP unter Linux läuft auf drei Dinge hinaus: gültige ChangeMyIP-Anmeldedaten besitzen, dem Tool sagen, wohin der Datenverkehr gesendet werden soll, und das Ergebnis überprüfen. Testen Sie zuerst mit curl und expliziten Flags, wechseln Sie dann zu den Umgebungsvariablen http_proxy und https_proxy, sobald das funktioniert, und machen Sie sie über die Hilfsfunktionen proxy_on und proxy_off verfügbar, damit Ihr normaler Datenverkehr nicht beeinträchtigt wird, wenn Sie nicht testen. Bestätigen Sie die neue IP und das Land mit einem IP-Echo-Dienst, bevorzugen Sie --socks5-hostname, wenn der Proxy DNS übernehmen soll, und denken Sie daran, dass grafische Anwendungen ihre eigenen Proxy-Einstellungen benötigen.