1901;팔리면 1656;문Ȣ16;1648; 맙시다. 소1473;한 NJ13;변 댓글1012; 삭1228;Ȣ16;lj16;,148; ǥ12;-124;러운 1068; 1077;니다160;
안녕Ȣ16;세요. ,144;1652; 1068;1452;1068;1012; ፆ1;1656;해봐도 NJ13;1060; 나오1648; 않아 문1032;드립니다.
현1116; 공ǥ12;도 할 ƺ16;, Docker-compose 를 통해 DB, 웹서버 መ1;1012; 각각1032; 컨테1060;너/196; 구축Ȣ16;여 운용 1473;에 1080;습니다.
DB 를 사용Ȣ16;lj16; 컨테1060;너가 여러개 돌아가lj16; 상황1060;라, DB 와 Web 1012; 각각1032; 컨테1060;너/196; 구성Ȣ16;였습니다.
1060;런 상황에서, 각 컨테1060;너에서 1217;근해야 Ȣ16;lj16; 사용1088;에,172;만 DB 컨테1060;너/196;1032; 1217;근1012; 허가Ȣ16;고, 나머1648; IP 에서lj16; 1217;근1012; 차단Ȣ16;/140;고 합니다.
(단1068; 서버 내에서 docker container -180;리 통신해야 Ȣ16;lj16; 상황)
1060;를 위해 Docker-compose 에서 별도1032; network 를 생성Ȣ16;고, 모든 컨테1060;너에 각각1032; static IP ǥ12;여, 각각1032; 유1200;에 대한 1217;근 권한1012; 설1221;Ȣ16;였습니다.
그러나, 1221;1089; DB서버 /196;그를 확1064;해 보면, 컨테1060;너 IP 가 아닌 네트워크1032; ,172;1060;트웨1060; IP 가 찍혀 DB 서버/196;1032; 1221;상1201;1064; 1217;근1060; 불가능한 상황1077;니다.
예를 들Ǻ12;, 네트워크 ,172;1060;트웨1060; IP가 172.1.0.1 1060;고, A (172.1.0.4) 가 DB /196; 1217;속할 컨테1060;너, B (172.1.0.2) 가 DB 컨테1060;너라고 해 보면,
A 에서만 a_admin 유1200;/196; 1217;속1012; 허가Ȣ16;기 위해, DB 유1200; 생성 시 'a_admin'@'172.1.0.4' /196; 1648;1221;Ȣ16;였습니다.
그러나 A 에서 1217;속1060; 불가능Ȣ16;여 DB /196;그를 확1064;해 보면, 'a_admin'@'172.1.0.1' 1060;라 출/141;.121;니다.
그러니깐, DB 컨테1060;너 측에서lj16; Inbound IP 를 ,172;1060;트웨1060; IP/196; 1064;식해버리lj16; 상황1077;니다.
A 에서 B /196; ping 1012; DŽ16;리고, B 측에서 tcpdump 를 통해 확1064;해 봐도, 172.1.0.4 가 아닌 172.1.0.1 1060; 찍7193;니다.
ᕬ1;시 몰라서, 네트워크와 고1221; IP를 설1221;Ȣ16;1648; 않고, Docker 에서 기본1004;/196; 1105;아1452;lj16; ,163;1012; 사용Ȣ16;면,
DB 에서lj16; 7148;안Ȣ16;,172; A 컨테1060;너1032; IP 를 1096; 1064;식합니다.
1060;론 상, Static IP 를 1648;1221;Ȣ16;면, (모든 컨테1060;너lj16; 단1068; 서버에서 돌아가므/196;) IP 를 통해 특1221; 컨테1060;너만 1217;속1012; 허가할 수 1080;1012; ,163;1060;라 생각Ȣ16;였lj16;데,
1060;론1060; 틀린,148;1648;, 설1221;에 문1228;가 1080;lj16;,148;1648;,, 공ǥ12;Ȣ16;기도 쉽1648; 않네요.
ping 1012; DŽ16;/140;도 ᇼ1;1068;한 ,163;1012; 보면 docker 1088;체 문1228;라고 생각.104;긴 Ȣ16;1648;만.. 뭐가 문1228;1064;1648; 모르,192;습니다.
Google 서치를 해 봐도, 1060;런 사/168;lj16; 도무1648; 찾아볼 수 없Ǻ12;서 여쭙고1088; 합니다. 아래1901;에 docker-compose.yml 설1221; 1068;ǥ12; 0156;췌Ȣ16; 남겨.160;,192;습니다.
고견 0120;리 감사드립니다 :D
version: "3.8" services: 160; database: 160; 160; container_name: database 160; 160; image: mariadb:latest 160; 160; expose:160; 160; 160; 160; - "3306" networks: customNet: ipv4_address: 172.1.0.2 client: container_name: client networks: 160; 160; 160; customNet: ipv4_address: 172.1.0.4 networks: customNet: driver: bridge ipam: config: - subnet: 172.1.0.0/16 gateway: 172.1.0.1
À§¿Í °°Àº ¹æ¹ýÀ» ÇؾßÇÑ´Ù¸é DB¸¦ reverse proxy¸¦ ÅëÇؼ Á¢¼ÓÇÏ°Ô ÇÑ ´ÙÀ½, ±× reverse proxy °úÁ¤¿¡¼ allow¿Í deny¸¦ Çغ¼ °Í °°½À´Ï´Ù.
³ª¸ÓÁö µ¥ÀÌÅͺ£À̽º¿¡´Â Á¢±ÙÇÒ ¼ö ¾ø±¸¿ä.
¸®¹ö½º ÇÁ·Ï½Ã´Â, ÀÌ ¹®Á¦°¡ ÇØ°áµÇÁö ¾ÊÀ¸¸é µµÀÔÇغ¼±î ½Í¾ú´Âµ¥,, ¸®¹ö½ºÇÁ·Ï½Ã ¼ÂÆõµ Á» ¾Ë¾ÆºÁ¾ß°Ú³×¿ä.
´äº¯ °¨»çµå¸³´Ï´Ù~
¿¹¸¦ µé¾î NIC¿¡ 192.168.100.254/24¸¦ ÇÒ´çÈÄ ÄÁÅ×À̳ʵéÀ» 192.168.100.0/24ÀÇ ÁּҴ븦 ÇÒ´çÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù
¿ÜºÎ Åë½ÅÀÌ ÇÊ¿äÇÏ´Ù¸é ³×Æ®¿öÅ© ÀåºñÂÊ¿¡ ÇØ´ç ¼ºê³ÝÀ» Ãß°¡ÇØÁÖ°í, NAT ó¸®Çϸé Á¤»ó 󸮵˴ϴÙ
ºê¸´Áö·Î È£½ºÆ®¶û µ¿ÀÏ ³×Æ®¿öÅ©¿¡ ºÙÀ̸é Á¦´ë·Î ¾Ë¾Æ¸ÔÀ»²®´Ï´Ù
Áö±Ý »óÅ°¡ ¹«Á¶°Ç ÄÁÅ×À̳Ê-GW-ÄÁÅ×ÀÌ³Ê ÀÌ·¸°Ô Åë½ÅÀÌ µÇ´Â°Í°°À¸´Ï±î¿ä
Àú·¸°Ô ÇÑ°æ¿ì ¿ÜºÎ Á¢±Ù ¸·À»·Á¸é NICÂÊÀÇ ÁÖ¼Ò Çϳª¸¸ deny·Î µî·ÏÇÏ¸é µË´Ï´Ù
¶ö±î 2°³ÀÇ ÄÁÅ×À̳ʰ¡ µ¿ÀÏ ¼¹ö¶ó¸é ¾ÖÃÊ¿¡ ¼¹öÀÇ ¹æȺ®¿¡¼ ¾È ¿¾îÁÖ¸é ¿ÜºÎ¿¡¼ Á¢±ÙÀÌ ¾È µË´Ï´Ù (´Ù¸¥ ÄÁÅ×À̳ʴ Á¢±Ù °¡´É)
ÀÌ ¹æ¹ý µµÀÔµµ °í·ÁÇغÁ¾ß°Ú½À´Ï´Ù. ´äº¯ °¨»çµå¸³´Ï´Ù~
´Ù¸¸ Á¢±Ù ±ÝÁöÂÊÀº ¼³Á¤ ¾È Çسö¼ (ÇÊ¿äÇÏ¸é ³×Æ®¿öÅ© Àåºñ¿¡¼ ¼³Á¤ÇÏ´ÂÁö¶ó) ¾î¶»°Ô µÉÁö ¸ð¸£°Ú³×¿ä
ÀÛ¾÷Àü ¿øº¹ ÆíÇÏ°Ô ¼³Á¤ÆÄÀÏ ¹é¾÷ÇصνŴÙÀ½ ½ÃµµÇغ¸¼¼¿ä (³ªÁß¿¡ ¿øº¹½Ã ÀÌ°É µ¤¾î¾²°í, NICÀÇ ÁÖ¼Ò¸¸ Á¦°ÅÇÏ¸é µÊ)
ÁÖ¼Ò Ãß°¡ -> ÁÖ¼Ò ¼³Á¤ º¯°æ¹× Àç½ÇÇà -> ÆÐŶÀÌ ¾î¶»°Ô Èê·¯°¡´ÂÁö È®ÀÎ
ÀÌÁ¤µµ¸¸ ÇغÁµµ Àß µÇ´ÂÁö È®ÀÎÀº °¡´ÉÇÒ²®´Ï´Ù (¼º°øÇÏ¸é ¹Ù·Î °¥²¨°í, ½ÇÆÐÇϸé NIC¿¡ »õ·Î Ãß°¡ÇÑ ÁÖ¼Ò¸¦ °æÀ¯Çؼ °¥Å״ϱî¿ä)
NIC ¿¡ ¼ºê³Ý Ãß°¡ÇÏ´Â ¹æÇâÀ¸·Î ¾Ë¾ÆºÁ¾ß°Ú³×¿ä.
Áñ°Å¿î ÇÑ°¡À§ º¸³»¼¼¿ä~
¾Æ¹«·¡µµ bridge ½ÄÀÌ ¾Æ´Ï°í nat½ÄÀ¸·Î ±¸¼ºÀÌ µÇÁö ¾Ê¾Ò³ª ½Í½À´Ï´Ù.
bridge´Â ÀÚ½ÅÀÇ ip¸¦ °®°í ±×°ÍÀ¸·Î Åë½ÅÈ÷Áö¸¸ nat´Â »óÀ§ÀÇ ip·Î Á¢±ÙÀ» ÇÏ°Ô µÇ¾î ÀÖÀ¸´Ï±î¿ä.
dbÂÊ¿¡¼ gatewayÀÇ ip°¡ º¸ÀÎ´Ù´Â°Ç gateway°¡ nat°¡ µÇ¾î proxy¸¦ ÇØÁÖ°í ÀÖ´Â µí ÇÕ´Ï´Ù.
³×Æ®¿öÅ© ¼³Á¤ ºÎºÐÀ» Á» »ìÆ캸¼Å¾ß ÇÒ µí ÇÕ´Ï´Ù.
docker-compose network °ü·Ã ¼³Á¤À» Á» ã¾Æº¸¸é¼, »ðÁú Á» ´õ ÇغÁ¾ß ÇÒ °Í °°³×¿ä. ´äº¯ °¨»çµå¸³´Ï´Ù~