[LINUX] Proxyserver mit Docker

Einführung

Erstellen Sie mit Docker einen Proxyserver mit Squid. Ich mache nichts Besonderes.

Zielgerät und Umgebung

Überprüfungsumgebung

Arbeitsinhalt

Stellen Sie die Maskerade in der Firewall ein

firewall-cmd --add-masquerade --zone=public --permanent
firewall-cmd --reload

Docker-Image vorbereiten

Erstellen Sie ein Bild, damit es wiederverwendet werden kann. Erstellen Sie ein geeignetes Verzeichnis, um die Docker-Datei und die Einstellungsdatei abzulegen.

mkdir -p /opt/docker/proxy
cd /opt/docker/proxy

Erstellen Sie eine Docker-Datei

/opt/docker/proxy/proxy.df


FROM centos:centos8
ENV TZ='Asia/Tokyo'
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime ; \
    dnf -y update ; dnf install -y squid ; \
    sed -i -e "s/http_port 3128/http_port 8080/" /etc/squid/squid.conf ;  \
    systemctl enable squid ; \
    dnf -y install rsyslog ;
COPY rsyslog.conf /etc
CMD [ "/usr/sbin/init" ]

Einstellungen für die Syslog-Übertragung

Übertragen Sie das Syslog mithilfe des Moduls "imfile" an einen entfernten Speicherort, das Änderungen in der lokalen Protokolldatei erkennt. Das Übertragungsziel wird von UDP: 514 an den in einem anderen Eintrag erstellten Syslog-Server angegeben. Da es zum Docker-Netzwerk "infraserv-network" für Netzwerkdienste gehört, ist eine Übertragung unter dem Hostnamen "syslog" möglich.

/opt/docker/proxy/rsyslog.conf


module(load="imfile")
input(type="imfile"
      file="/var/log/squid/access.log"
      tag="pseudolog_squid_access_log"
      facility="local0"
      severity="notice")
:syslogtag, isequal, "pseudolog_squid_access_log" @syslog:514

Erstellen Sie ein Image aus einer Docker-Datei, um einen Container zu erstellen

Nachdem Sie die Docker-Datei erstellt haben, erstellen Sie sie.

docker build --force-rm -t infraserv:proxy . -f ./proxy.df && \
docker run --cap-add sys_admin --security-opt seccomp:unconfined  -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
  --network infraserv-network -it -d --name proxy --hostname proxy  -p 8080:8080 infraserv:proxy

Wenn dnf moos ist, funktioniert möglicherweise der folgende Befehl.

# firewall-cmd --add-masquerade --permanent
# firewall-cmd --reload

Funktionsprüfung

Überprüfen Sie mit Diagnose-Kun, etc. http://taruo.net/e/

Recommended Posts

Proxyserver mit Docker
TFTP-Server mit Docker
Erstellen eines Flask-Servers mit Docker
Richten Sie mit Docker einen Samba-Server ein
Starten Sie mit Docker einen einfachen Python-Webserver
Verwenden Sie Python mit Docker
Hallo, Welt mit Docker
Docker unter Proxy-Umgebung
Lokaler Server mit Python
Ich habe mit Play with Docker einen gebrauchsfertigen Syslog-Server erstellt
Implementieren Sie PyTorch + GPU mit Docker
PySpark Leben beginnt mit Docker
Bereiten Sie die Python3-Umgebung mit Docker vor
Einfacher HTTP-Server mit Python
Einfache Proxy-Anmeldung mit Django-Hijack
Probieren Sie Selenium Grid mit Docker aus
Serververwaltung mit Jupyter (1) -Import
Versuchen Sie, Jupyter Hub mit Docker zu erstellen
Erstellen Sie eine Rails-Anwendung mit Docker
Bis Sie Jupyter in Docker starten
Einfacher Slackbot mit Docker und Errbot
Dynamischer Proxy mit Python, Ruby, PHP
Erstellen Sie eine Deb-Datei mit Docker
Behalten Sie den Flask API-Server für immer bei
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Stellen Sie die Django-Anwendung mit Docker bereit
Google AppEngine-Entwicklung mit Docker
Erstellen eines Servers mit CONOHA VPS (CentOS)
Aufbau eines VPN-Servers mit Raspberry Pie
Service Mesh mit Docker Swarm gelernt
Erstellen Sie die Entwicklungsumgebung von Django mit Docker neu! !! !! !!
Anwendungsentwicklung mit Docker + Python + Flask
Erstellen Sie mit Docker eine CentOS Linux 8-Umgebung und starten Sie Apache HTTP Server
Erstellen Sie mit Ansible einen Proxyserver mit nginx auf mehreren Remote-Servern
Greifen Sie mit Requests auf die Docker Remote API zu
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Docker und PyCharm unter Proxy in Windows
Webserver zum Testen des Browsers mit Mocha
Erstellen Sie mit Twisted Ihren eigenen DNS-Server
Dockerfile für RESTful MeCab Server mit mecab-ipadic-neologd
Django + Apache mit mod_wsgi unter Windows Server 2016
Erstellen Sie einen CGI-Server, der unter Python 3 in Docker ausgeführt wird
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
Holen Sie sich mit Docker eine lokale Umgebung für DynamoDB
Lassen Sie uns mit Docker eine dynamische Site kratzen
Verwenden Sie die Verschlüsselung der Verschlüsselungsbibliothek mit dem Python-Image von Docker
Erstellen Sie mit Docker eine Python + uWSGI + Nginx-Umgebung
Machen Sie PLEN Control Server kompatibel mit ViVi PLEN2
Docker-Datei: Installieren Sie Docker auf einem Linux-Server
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Senden Sie Dateien über Step Server mit scp
Starten Sie die Umgebung mit LineBot + Heroku + Docker + Python
[Golang] Erstellen Sie ein Docker-Image mit Github-Aktionen
Führen Sie eine Python-Webanwendung mit Docker aus
Erstellen Sie einen Webdienst mit Docker + Flask
Automatisierung der Serverüberwachung etc. mit Monit
Starten Sie die Flask-Anwendung mit Docker auf Heroku
Erstellen Sie mit Docker eine Umgebung aus NGINX + NGINX Unit + MySQL