So verwenden Sie Proxyscrape Proxies mit Docker

Leitfäden, How to's, Jul-07-20245 Min. gelesen

Bestimmte Anwendungsfälle erfordern, dass Sie den Datenverkehr in Programmen projizieren, die Proxys nicht von Haus aus unterstützen. Im vorigen Blog wurde erörtert, wie dies unter Windows möglich ist, aber es gibt auch viele Anwendungsfälle für Proxys unter Linux oder sogar Docker-Container für zusätzliche Flexibilität.

In diesem Blog-Beitrag geht es um die Verwendung von Proxys für Docker-Container unter Verwendung des Docker-Containers xjasonlyu/tun2socks.
tun2socks ist ein leichtgewichtiges und portables Netzwerk-Tunneling-Tool, mit dem Sie den Datenverkehr über einen Proxy-Server leiten können. Es ist in Go geschrieben und als eigenständige ausführbare Datei oder als Docker-Container verfügbar.
In diesem Leitfaden konzentriere ich mich auf die Verwendung mit Docker, so dass Sie anschließend jeden anderen Docker-Container damit verbinden und Proxys verwenden können.

Zunächst müssen wir einen ersten Docker-Container erstellen, der das Proxying übernimmt.

docker run -d --name tun2socks \
-e EXTRA_COMMANDS='echo "nameserver 1.1.1.1" > /etc/resolv.conf;ip rule add iif lo ipproto udp dport 53 lookup main;' \
-e PROXY=http://<user>:<pass>@rp.proxyscrape.com:6060 \
-v '/dev/net/tun:/dev/net/tun' --cap-add=NET_ADMIN \
xjasonlyu/tun2socks
  • EXTRA_COMMANDS wird benötigt, damit DNS richtig funktioniert, da der tun2socks-Container standardmäßig nicht mit DNS arbeitet, sondern nur das Proxying selbst übernimmt.
  • PROXY ist der Ort, an dem Sie den Proxy einstellen, den Sie verwenden möchten. Dies kann http/https und socks4/5 sein. Eine detaillierte Liste gibt es hier:
  • -v '/dev/net/tun:/dev/net/tun' Mounten Sie das virtuelle Netzwerkgerät (/dev/net/tun) des Host-Rechners in den Container, damit tun2socks den Netzwerkverkehr manipulieren kann.
  • --cap-add=NET_ADMIN Verleiht dem Container die notwendigen Netzwerkverwaltungsfähigkeiten, um den Proxy-Tunnel einzurichten, indem es ihm Zugriff auf den Netzwerk-Stack gewährt.

In diesem Beispiel verwende ich Proxyscrape , aber Sie können auch Premium-Proxys oder andere Proxys verwenden.
Nachdem wir nun den Container erstellt haben, der das Proxying durchführt, können wir jeden beliebigen Container verwenden, um das Netzwerk dieses Containers zu nutzen, indem wir einfach die Option --network=container:tun2socks hinzufügen.

Um zu testen, ob alles korrekt funktioniert, können Sie einen von mir erstellten Testcontainer verwenden, der IPinfo-Standortdaten zurückgibt.

docker run --rm --network=container:tun2socks hibenji/checkip

Wie Sie sehen können, sind wir nun in der Lage, so ziemlich alles über Proxies zu vermitteln, auch wenn es nicht nativ unterstützt wird.
Natürlich können Sie rotierende Proxies bei der Erstellung des ersten Containers verwenden, aber Sie können auch mehrere tun2socks-Container erstellen, die alle Sticky Sessions haben, wenn dies erforderlich ist.

Dieser Ansatz für das Proxying in Docker eröffnet eine Welt voller Möglichkeiten. Sie können jetzt Proxys in Verbindung mit praktisch jedem Docker-Container verwenden, auch mit solchen ohne integrierte Proxy-Unterstützung. Dies kann die Fähigkeiten Ihrer containerisierten Anwendungen verbessern und Ihnen die Durchführung von Aufgaben ermöglichen, die ohne diese Ebene der Netzwerkkontrolle schwierig oder unmöglich gewesen wären.

Danke fürs Lesen, und ich hoffe, Sie haben etwas gelernt!

Dieser Artikel wurde von Benji, einem Benutzer von ProxyScrape , geschrieben.