prism.js

2024. május 29., szerda

VPN hálózatról jövő IP névfeloldása Docker konténerben (Ubuntu)

Elsősorban Linux rendszereken volt észlelhető az a probléma, hogy lokális gép (Linux, Ubuntu) ha Dockert futtat, Dockeren belül nem látható vagy DNS feloldható a VPN-ből jött címek. A hibát a systemd-resolved okozza a linux-os kornyezetekben. Tegyük fel hogy az alap docker telepítés nem lett átírva és a resolved a 127.0.0.53-as címen halgatózik és a docker a 172.17.0.0/12 címtartományt használja. Más esetben a megfelelő címeket kell használni. Telepiteni kell a socat csomagot
sudo apt install socat
Létre kell hozni egy service definíciós file-t.
sudo cat /etc/systemd/system/docker-dns.service
[Unit]
Description=Docker DNS bridge
After=docker.service
Requires=docker.service

[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=docker-dns-bridge

ExecStart=socat -d -d UDP-LISTEN:53,reuseaddr,fork,bind=172.17.0.1 UDP:127.0.0.53:53
Restart=always

[Install]
WantedBy=multi-user.target

Ezután újraindítani amit kell:
sudo systemctl daemon-reload
sudo systemctl start docker-dns.service
sudo systemctl enable docker-dns.service

Valamint a dockernek is meg kell mondani hogy a megfelelő DNS szervert használja
sudo cat /etc/docker/daemon.json
{
"dns": ["172.17.0.1"]
}

Valamint még újra kell indítani a docker service-t
sudo systemctl restart docker

Az ezután létrehozott konténerekben már jól fog működni a VPN-en keresztüli belső címek feloldása Megeshet hogy a rendszerben van firewall ami még mindig blokkolhat, mint ahogy az Ubuntuban van alapértelmezett "ufw". Ezesetben a következő parancsot kell futtatni:
ufw allow in on docker0 to any port 53 proto udp

UFW tűzfal howto
# A tűzfal státuszának lekérdezése
ufw status numbered
# egy port engélyezese a docker0 interfészről
ufw allow in on docker0 to any port 53 proto udp
# ugyanennek az engedélynek az eltávolítása
ufw delete allow in on docker0 to any port 53 proto udp
# az egész tűzfal kikapcsolása
ufw disable
# az egész tűzfal bekapcsolása
ufw enable

Nincsenek megjegyzések:

Megjegyzés küldése

prism.js

VPN hálózatról jövő IP névfeloldása Docker konténerben (Ubuntu)

Elsősorban Linux rendszereken volt észlelhető az a probléma, hogy lokális gép (Linux, Ubuntu) ha Dockert futtat, Dockeren belül nem látható ...