Kwandon Docker ba ya isa a kan VPN? Kwatanta subnet ɗin
Docker yana ba da subnet da VPN ke da'awa. Kwatanta tsare-tsaren adireshi biyu, sannan zaɓi gyaran da zai jure sake haɗawa.
Kwantenan suna amsa a LAN na ofis, sannan sun daina amsa a daidai lokacin da VPN na kamfani ya haɗu. Babu abin da ya canza a cikin kwandon: babu sake kunnawa, babu sabunta hoto, babu gyara saiti. Abin da ya canza shi ne teburin hanya na uwar gida, inda hanyar da ramin ya ƙara yanzu ta rufe adireshin da Docker ya bayar. Kafin ka gyara subnet ko ka nemi keɓewa daga VPN, sanya tsare-tsaren adireshi biyu gefe da gefe, domin gyare-gyaren suna ɗaukar lokuta daban-daban ƙwarai.
Karanta hanyar kafin ka canza saitin
Fara da hanyar da Docker ya gina da gaske. Rukunin IPAM shi ne tsarin adireshi, kuma subnet shi ne layin da ke da muhimmanci:
docker network inspect project_default --format '{{json .IPAM.Config}}'
# [{"Subnet":"172.18.0.0/16","Gateway":"172.18.0.1"}]Compose yana ba da /16 ga kowane sabon aiki, don haka ayyuka biyu na iya zama cikin kewayon adireshi 65,536. Wannan faɗin shi ne dalilin da ya sa haɗuwar juna ta zama ruwan dare: /16 da aka zaɓa ba da gangan ba ya isa ya hadiye shafin da ka isa ta ramin, kuma babu wanda ya lura har sai ramin ya tashi.
Sannan kwatanta zaɓin hanya ga adireshin kwando ɗaya, sau ɗaya da ramin a ƙasa kuma sau ɗaya da shi a sama:
ip route get 172.18.0.7
# 172.18.0.7 dev br-3f2a9c src 172.18.0.1Siffofin amsa biyu suna kaiwa wurare daban-daban. Idan fitarwar ta ambaci tun0, wg0 ko wata na'urar rami, prefix na VPN ya fi ko ya kai matsayin hanyar gada, kuma fakitin ba ya taɓa isa kwandon. Idan har yanzu tana ambaton gada, uwar gida na iya isa kwandon, kuma laifinka shi ne tacewa, DNS, ko hanyar dawowa da ke gazawa a hanya ɗaya kawai.
Me ya sa haɗuwar /16 ke da sauƙi
Docker yana ɗebo hanyoyin gada daga wuraren keɓe, kuma wurin da aka saba ya fito daga rukunin 172.16.0.0/12 a cikin yankuna /16. Hanyoyin kamfanoni suna yawan amfani da wannan wuri na keɓe, kuma VPN na nesa yana tura waɗannan prefixes ga kowane abokin ciniki da ya haɗu. Sa'ad da ɓangarorin biyu suka yi imani suna da 172.18.0.0/16, teburin hanya ɗaya yana riƙe da iƙirari biyu masu saɓani.
Tsawon prefix ne ke yanke hukunci, ba tsarin da hanyoyi ke bayyana ba. Ramin da ke tura 10.0.0.0/8 ba ya cin hanyar gada 172.18.0.0/16, domin /8 ba shi da ƙayyadaddun bayani. Ramin da ke tura 172.18.0.0/16, ko 172.18.5.0/24 a cikinsa, yana cin nasara. Shi ya sa kwamfutar tafi-da-gidanka ɗaya ke aiki a hanyar ofis kuma ta gaza a Wi-Fi na otal da wannan VPN ɗin: abokin ciniki yana samun prefixes daban-daban.
Teburin ɗaya yana kula da ɗayan hanya. Kwandon da ke buƙatar uwar gida ta ciki a 10.8.4.20 yana aika fakitin zuwa ƙofar gadarsa, sannan uwar gida ta tura shi cikin ramin. Wannan hanya tana aiki yawanci domin uwar gida ce ke yin NAT, amma tana gazawa sa'ad da ɓangaren kamfani ya karɓi adireshin VPN na kwamfutar kawai, ko kuma lokacin da tacewar hanyar baya ta jefar da amsar da ba ta daidaita ba.
Kwatanta gyare-gyare uku
Akwai hanyoyin fita guda uku kawai, kuma sun bambanta a wanda dole ne ya amince da su da abin da ke karyewa yayin da kake amfani da ɗaya.
| Repair | Who owns it | What it costs |
|---|---|---|
| Renumber the container network | You | Recreates the network, restarts services, invalidates literal addresses in configs and scripts |
| Exclude your range from the tunnel | Network team | Changes what every laptop sees, needs a change request and a client profile update |
| Reach the service through a published port | You and the client | One port only, no direct container-to-container routing across the tunnel |
Sake lambobi shi ne kawai gyaran da za ka iya kammalawa ba tare da tikiti ba, shi ya sa yawancin rubuce-rubuce suke tsayawa a nan. Yana da arha a sabon aiki kuma yana da tsada da zarar kayan aikin ƙaura ko igiyar haɗi da aka adana ta nuna adireshi na zahiri. Ƙidaya waɗannan nassoshi kafin ka gyara YAML, ba bayan ba.
Keɓewa daga ramin ita ce amsa mafi tsabta sa'ad da haɗuwar ta kasance a cikin kewayon da kamfaninka ya mallaka da gaske. Shi ne kuma mafi jinkiri, kuma ba shi da amfani ga ɗan kwangila wanda ba zai iya canza bayanin abokin ciniki ba. Tashar da aka buga ko ƙaramin proxy na baya suna guje wa muhawara: abokin ciniki yana magana da adireshin da ramin ya riga ya bi ta daidai, kuma wannan tashar ce kawai dole ta isa.
Kafa yanki da gangan
Ga aiki ɗaya, bayyana subnet a cikin fayil ɗin compose domin aikin ya daina ɗebo daga wurin da aka raba:
networks:
default:
ipam:
config:
- subnet: 10.201.7.0/24Ɗauki wannan yanki daga rijista da ƙungiyarka ke riƙe, ba daga misalin da ka samu lokacin bincike ba. Duba shi da prefixes ɗin da VPN ke turawa, LAN na gida da mutane ke aiki daga gare su, da sauran hanyoyin kwando a kan uwar gida ɗaya. Sannan shirya sake ƙirƙira, domin hanyar da ke akwai tana riƙe da tsohon subnet ɗinta: docker compose down, sannan up -d. docker network rm yana ƙi yayin da ƙarshen wurare ke haɗe, kuma kowane ipv4_address shigarwa a cikin fayil ɗin dole ya faɗi cikin sabon yankin.
Ga hanyoyin da Docker ke ƙirƙira da kansa, saita wurin daemon a cikin /etc/docker/daemon.json:
{
"default-address-pools": [
{ "base": "10.201.0.0/16", "size": 24 },
{ "base": "10.202.0.0/16", "size": 24 }
]
}Wurin yana aiki ga hanyoyin da aka ƙirƙira bayan daemon ya sake kunnawa, kuma gadoji da suka riga sun kasance suna riƙe da adireshinsu. Wannan yana da sauƙi kuma ana manta da shi, don haka ɗauki tsohon aiki a matsayin mai haɗuwa har sai wani ya sake ƙirƙira hanyarsa. Littafin Docker kan hanyoyin inji yana bayyana ka'idojin rabawa idan kana buƙatar kare wurin a bita.
Gadar Linux da Docker Desktop suna gazawa daban
A kan uwar gida ta Linux, kwantena suna zaune a kan gadoji a cikin filin suna na uwar gida. Teburi ɗaya ne ke yanke duk abu, don haka kwatancen da ke sama shi ne dukan labarin: karanta hanyar gada, karanta hanyar rami, ka ga wadda ta yi nasara ga ainihin adireshin kwando.
Docker Desktop yana ajiye kwantena a bayan VM mai nasa NAT. Uwar gida ba ta da hanyar da za ta kai ga adireshin kwandon kwata-kwata; tana isa sabis ɗin ta hanyar tashar da aka buga, yawanci an ɗaure ta da 127.0.0.1. Don haka abokin ciniki na VPN zai iya karya sabis ɗin ba tare da wani haɗuwar subnet ba, ko dai ta hanyar sanya hanya ga kewayon ciki na VM, ko ta hanyar toshe zirga-zirgar loopback yayin da ramin ke haɗe. Idan ip route get a kan uwar gida ya ba da rahoton cewa babu hanya ga adireshin kwandon, wannan abin tsammani ne ba kuskuren ba.
Sakamakon a aikace shi ne inda za ka fara duba. A Linux, fara daga teburin hanya. A Desktop, fara daga tashar da aka buga da ka'idojin wuta na abokin ciniki na VPN, sannan duba ko subnet na ciki na VM ya yi karo da wani abu da ramin ke turawa.
Tabbatar da ramin a sama
Sake haɗa VPN sau biyu kafin ka ce an gyara, domin bayanin da ke tura hanyoyi lokacin haɗawa kuma ya janye su lokacin cirewa zai iya zama daidai bayan ƙoƙari na farko. Sannan gudanar da gwaje-gwajen da abokin ciniki ke gudanarwa da gaske:
ip route getdaga uwar gida, ta amfani da ainihin adireshin kwandon.- Buƙata daga wani kwando, don tabbatar da cewa sabis ɗin kansa yana cikin lafiya.
curl -sv http://127.0.0.1:8080/daga abokin ciniki da ramin a sama, sannantraceroute -nzuwa adireshin kwandon daga wata na'ura a cikin LAN.sysctl net.ipv4.conf.all.rp_filteridan buƙatar ta isa uwar gida amma amsar ta ɓace.
A ƙarshe, rubuta yankin da aka zaɓa cikin wannan rijista da ka yi amfani da ita wajen zaɓe shi, tare da kwanan wata da aikin da ya mallake shi. Haɗuwar na gaba za ta fito daga aikin da babu wanda ya rubuta, kuma kariyar kawai ita ce an tanadi yankin da gangan ba a ja shi ba bisa ga kuskure.