Dockerã«åºäŒã£ãã®ã¯ããªãåã®ããšã§ããã®ã»ãšãã©ã®ãŠãŒã¶ãŒãšåæ§ã«ããã®ãã¯ãŒãšäœ¿ããããã«ããã«é
äºãããŸããã ã·ã³ãã«ãã¯Dockerã®ããŒã¹ãšãªãäž»èŠãªæ±ã§ããããã®åŒ·ã¿ã¯è»œéã®CLIã³ãã³ãã«ãããŸãã ç§ãDockerãå匷ãããšãã圌ã®ããã¯ã°ã©ãŠã³ãã§äœãèµ·ãã£ãŠããã®ããç¹ã«ãããã¯ãŒã¯ã§ã®äœæ¥ã«é¢ããŠã¯ãã¹ãŠãã©ããªã£ãŠããã®ããç¥ãããã£ãã®ã§ãïŒç§ã«ãšã£ãŠããã¯æãèå³æ·±ãåéã®1ã€ã§ãïŒã
ã³ã³ãããããã¯ãŒã¯ã®äœææ¹æ³ãšç®¡çæ¹æ³ã«é¢ããããŸããŸãªããã¥ã¡ã³ããèŠã€ããŸããããããããã©ã®ããã«æ©èœããããšããç¹ã§ã¯ãè³æãã¯ããã«å°ãªããªã£ãŠããŸãã Dockerã¯ãLinux iptablesãšããªããžã€ã³ã¿ãŒãã§ãŒã¹ãåºç¯å²ã«äœ¿çšããŠã³ã³ãããŒãããã¯ãŒã¯ãäœæããŸãããã®èšäºã§ã¯ããã®åŽé¢ã詳现ã«æ€èšããŸãã äž»ã«githubãžã®ã³ã¡ã³ããããŸããŸãªãã¬ãŒã³ããŒã·ã§ã³ãããã³ç§èªèº«ã®çµéšããæ
å ±ãåŸãŸããã èšäºã®æåŸã«ã圹ã«ç«ã€ãªãœãŒã¹ã®ãªã¹ãããããŸãã
ãã®èšäºã®äŸã§ã¯ãDockerããŒãžã§ã³1.12.3ã䜿çšããŸããã Dockerãããã¯ãŒã¯ã®è©³çŽ°ãªèª¬æãããã®ãããã¯ã®å®å
šãªçŽ¹ä»ãããã€ããã¯ãããŸããã§ããã ãã®è³æããŠãŒã¶ãŒã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸããã³ã¡ã³ãã«ãã£ãŒãããã¯ãæ®ãããããšã©ãŒãææãããã足ããªããã®ãèšã£ãŠããã ããã°å¹žãã§ãã
ç®æ¬¡
Dockerãããã¯ãŒã¯ã®æŠèŠ
Dockerãããã¯ãŒã¯ã¯Container Network ModelïŒCNMïŒã«åºã¥ããŠæ§ç¯ãããŠããããã誰ã§ãç¬èªã®ãããã¯ãŒã¯ãã©ã€ããŒãäœæã§ããŸãã ãããã£ãŠãã³ã³ããã¯ããŸããŸãªã¿ã€ãã®ãããã¯ãŒã¯ã«ã¢ã¯ã»ã¹ã§ããè€æ°ã®ãããã¯ãŒã¯ã«åæã«æ¥ç¶ã§ããŸãã ããŸããŸãªãµãŒãããŒãã£ãããã¯ãŒã¯ãã©ã€ããŒã«å ããŠãDockerèªäœã«ã¯4ã€ã®çµã¿èŸŒã¿ãã©ã€ããŒããããŸãã
- ããªããž ïŒãã®ãããã¯ãŒã¯ã§ããã©ã«ãã§å®è¡ãããã³ã³ããã éä¿¡ã¯ããã¹ãäžã®ããªããžã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠç¢ºç«ãããŸãã åããããã¯ãŒã¯ã䜿çšããã³ã³ããã«ã¯ç¬èªã®ãµããããããããããã©ã«ãã§äºãã«ããŒã¿ãæž¡ãããšãã§ããŸãã
- ãã¹ã ïŒãã®ãã©ã€ããŒã¯ãã³ã³ãããŒã«ç¬èªã®ãã¹ã空éãžã®ã¢ã¯ã»ã¹ãæäŸããŸãïŒã³ã³ãããŒã¯ãã¹ããšåãã€ã³ã¿ãŒãã§ãŒã¹ãåç
§ããŠäœ¿çšããŸãïŒã
- Macvlan ïŒãã®ãã©ã€ããŒã¯ãã³ã³ãããŒããã¹ãã€ã³ã¿ãŒãã§ã€ã¹ãšãµãã€ã³ã¿ãŒãã§ã€ã¹ïŒvlanïŒã«çŽæ¥ã¢ã¯ã»ã¹ã§ããããã«ããŸãã 圌ã¯ãã©ã³ãã³ã°ãèš±å¯ããŠããŸãã
- ãªãŒããŒã¬ã€ ïŒãã®ãã©ã€ããŒã䜿çšãããšãDockerã䜿çšããŠïŒéåžžã¯Docker Swarmã¯ã©ã¹ã¿ãŒäžã§ïŒè€æ°ã®ãã¹ãäžã«ãããã¯ãŒã¯ãæ§ç¯ã§ããŸãã ã³ã³ããã«ã¯ç¬èªã®ãããã¯ãŒã¯ã¢ãã¬ã¹ãšãµããããã¢ãã¬ã¹ããããç©ççã«ç°ãªããã¹ãã«é
眮ãããŠããå Žåã§ããçŽæ¥éä¿¡ã§ããŸãã
ããªããžããã³ãªãŒããŒã¬ã€ãããã¯ãŒã¯ãã©ã€ããŒã¯ããããæãé »ç¹ã«äœ¿çšãããããããã®èšäºã§ã¯ãããã«ããã«æ³šæãæããŸãã
ããªããžãããã¯ãŒã¯
ããã©ã«ãã§ã¯ãã³ã³ããã¯ããªããžã«äœ¿çšãããŸãã ã³ã³ããã®æåã®èµ·åæã«ãDockerã¯åãååã®ããã©ã«ãããªããžãããã¯ãŒã¯ãäœæããŸãã ãã®ãããã¯ãŒã¯ã¯ã docker network ls
äžè¬ãªã¹ãã«è¡šç€ºã§ããŸãã
ããããã£ãæ€æ»ããã«ã¯ã docker network inspect bridge
å®è¡ãdocker network inspect bridge
ã
--driver bridge
ãªãã·ã§ã³ãæå®ããŠã --driver bridge
docker network create
ã䜿çšããŠç¬èªã®ããªããžãããã¯ãŒã¯ãäœæããããšãã§ããŸãã
ããšãã°ã docker network create --driver bridge --subnet 192.168.100.0/24 --ip-range 192.168.100.0/24 my-bridge-network
ã¯ããmy-bridge-networkããšåŒã°ããå¥ã®ããªããžãããã¯ãŒã¯ãšãµãããããäœæããŸã192.168.100.0/24ã
Linuxããªããžã€ã³ã¿ãŒãã§ãŒã¹
åããªããžãããã¯ãŒã¯ã«ã¯ããã¹ãäžã®ã€ã³ã¿ãŒãã§ã€ã¹ãšããŠã®ç¬èªã®è¡šçŸããããŸãã éåžžãdocker0ã€ã³ã¿ãŒãã§ã€ã¹ã¯ããã©ã«ãã®ãããªããžããããã¯ãŒã¯ã«é¢é£ä»ããããŠãããdocker docker network create
ã䜿çšããŠäœæãããæ°ãããããã¯ãŒã¯ã«ã¯ãããããç¬èªã®æ°ããã€ã³ã¿ãŒãã§ã€ã¹ããããŸãã
äœæãããããã¯ãŒã¯ã«é¢é£ä»ããããŠããã€ã³ã¿ãŒãã§ãŒã¹ãèŠã€ããã«ã¯ã ifconfig
ã³ãã³ããå
¥åããŠãã¹ãŠã®ã€ã³ã¿ãŒãã§ãŒã¹ã衚瀺ããäœæãããµãããããåç
§ããã€ã³ã¿ãŒãã§ãŒã¹ãèŠã€ããŸãã ããšãã°ãäœæããã°ããã®ãããã¯ãŒã¯my-bridge-networkã®ã€ã³ã¿ãŒãã§ã€ã¹ãèŠã€ããå¿
èŠãããå Žåã次ã®ã³ãã³ããå®è¡ã§ããŸãã
Linuxããªããžã€ã³ã¿ãŒãã§ãŒã¹ã¯ãè€æ°ã®ã€ã³ã¿ãŒãã§ãŒã¹ãåããµããããã«æ¥ç¶ããMACã¢ãã¬ã¹ã«åºã¥ããŠãã©ãã£ãã¯ããªãã€ã¬ã¯ããããšããç¹ã§ãã¹ã€ããã«äŒŒãŠããŸãã 以äžã«ç€ºãããã«ãããªããžãããã¯ãŒã¯ã«ãã€ã³ããããåã³ã³ããã¯ããã¹ãäžã«ç¬èªã®ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ãæã¡ãåããããã¯ãŒã¯äžã®ãã¹ãŠã®ã³ã³ããã¯åãã€ã³ã¿ãŒãã§ã€ã¹ã«ãã€ã³ããããçžäºã«ããŒã¿ãéä¿¡ã§ããããã«ãªããŸãã brctl
ãŠãŒãã£ãªãã£ã䜿çšããŠãããªããžã®ã¹ããŒã¿ã¹ã«é¢ãã詳现æ
å ±ãååŸã§ããŸãã
ã³ã³ãããèµ·åããŠãã®ãããã¯ãŒã¯ã«ãã€ã³ããããšããã«ããããã®åã³ã³ããã®ã€ã³ã¿ãŒãã§ã€ã¹ãåå¥ã®åã«ãªã¹ããããŸãã ãŸããããªããžã€ã³ã¿ãŒãã§ã€ã¹ã§ãã©ãã£ãã¯ãã£ããã£ãæå¹ã«ãããšãåããµããããäžã®ã³ã³ããéã§ããŒã¿ãã©ã®ããã«è»¢éããããã確èªã§ããŸãã
Linuxä»®æ³ã€ã³ã¿ãŒãã§ãŒã¹
ã³ã³ãããããã¯ãŒãã³ã°ã¢ãã«ã¯ãåã³ã³ããã«ç¬èªã®ãããã¯ãŒã¯ã¹ããŒã¹ãæäŸããŸãã ã³ã³ããå
ã§ifconfig
ã³ãã³ããå®è¡ãããšãã³ã³ããããèŠããã€ã³ã¿ãŒãã§ã€ã¹ã確èªã§ããŸãã
ãã ãããã®äŸã§ç€ºãããŠããeth0ã¯ã³ã³ãããŒã®å
éšããã®ã¿èŠãããšãã§ãããã¹ãã®å€éšã§ã¯ãDockerã¯ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ã®é©åãªã³ããŒãäœæããŸããããã¯å€éšãšã®æ¥ç¶ãšããŠæ©èœããŸãã 次ã«ããããã®ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãåããµããããäžã®ç°ãªãã³ã³ããéã®éä¿¡ãããç°¡åã«ç¢ºç«ããããã«ãäžèšã§èª¬æããããªããžã€ã³ã¿ãŒãã§ã€ã¹ã«æ¥ç¶ãããŸãã
ãã®ããã»ã¹ãæ€èšããããã«ãæåã«ããã©ã«ãã®ããªããžãããã¯ãŒã¯ã«æ¥ç¶ããã2ã€ã®ã³ã³ãããèµ·åããŠããããã¹ãã€ã³ã¿ãŒãã§ã€ã¹ã®æ§æã確èªããŸãã
ã³ã³ãããèµ·åããåã¯ãdocker0ããªããžã€ã³ã¿ãŒãã§ãŒã¹ã«ã¯ä»ã®æ¥ç¶ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãããŸããã
次ã«ãubuntuã€ã¡ãŒãžã§2ã€ã®ã³ã³ãããèµ·åããŸããïŒ14.04ïŒ
2ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ãdocker0ããªããžã€ã³ã¿ãŒãã§ã€ã¹ïŒã³ã³ããããšã«1ã€ïŒã«æ¥ç¶ãããŠããããšãããã«æããã«ãªããŸããã
ã³ã³ããã®1ã€ããGoogleã«pingãéå§ãããšãã³ã³ããã®ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ã§ãã¹ãããã®ãã©ãã£ãã¯ããã£ããã£ãããšãã³ã³ããã®ãã©ãã£ãã¯ã衚瀺ãããŸãã
åæ§ã«ã1ã€ã®ã³ã³ããããå¥ã®ã³ã³ããã«pingã§ããŸãã
æåã«ãã³ã³ããã®IPã¢ãã¬ã¹ãååŸããå¿
èŠããããŸãã ããã¯ã ifconfig
ã³ãã³ããŸãã¯docker inspect
ã䜿çšããŠå®è¡ã§ããŸããããã«ãããã³ã³ãããæ€æ»ã§ããŸãã
次ã«ãããã³ã³ããããå¥ã®ã³ã³ããã«pingãéå§ããŸãã
ãã¹ãããã®ãã©ãã£ãã¯ã確èªããã«ã¯ãã³ã³ããã«å¯Ÿå¿ããä»»æã®ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ããŸãã¯ãã®ãµããããã®ã³ã³ããå
ã®ãã¹ãŠã®éä¿¡ã衚瀺ããããªããžã€ã³ã¿ãŒãã§ã€ã¹ïŒãã®å Žåã¯docker0ïŒã§ãã£ããã£ã§ããŸãã
ã³ã³ããã§Vethã€ã³ã¿ãŒãã§ã€ã¹ãèŠã€ãã
ã©ã®ãã¹ãvethã€ã³ã¿ãŒãã§ã€ã¹ãã³ã³ããå
ã®ã€ã³ã¿ãŒãã§ã€ã¹ã«ãã€ã³ããããŠããããç¥ãããå Žåãç°¡åãªæ¹æ³ã¯èŠã€ãããŸããã ãã ããããŸããŸãªãã©ãŒã©ã ãgithubã®ãã£ã¹ã«ãã·ã§ã³ã§èŠã€ããããšãã§ããããã€ãã®æ¹æ³ããããŸãã ç§ã®æèŠã§ã¯ã githubã§ã®ãã®è°è«ããåŠãã æãç°¡åãªæ¹æ³ã§ãå°ãå€æŽããŸããã ã³ã³ããã«ethtool
ãethtool
ãããã©ããethtool
ã
ããšãã°ãã·ã¹ãã ã§3ã€ã®ã³ã³ãããå®è¡ããŠããŸãã
éå§ããã«ã¯ãã³ã³ããã§æ¬¡ã®ã³ãã³ããå®è¡ããpeer_ifindexçªå·ãååŸããŸãã
次ã«ããã¹ãã§ãpeer_ifindexã䜿çšããŠã€ã³ã¿ãŒãã§ã€ã¹ã®ååãèŠã€ããŸãã
ãã®å Žåãã€ã³ã¿ãŒãã§ãŒã¹ã¯veth7bd3604ãšåŒã°ããŸãã
iptables
Dockerã¯ãLinux iptablesã䜿çšããŠãã€ã³ã¿ãŒãã§ã€ã¹ãšäœæãããããã¯ãŒã¯éã®éä¿¡ãå¶åŸ¡ããŸãã Linux iptablesã¯ç°ãªãããŒãã«ã§æ§æãããŠããŸãããäž»ã«é¢å¿ãããã®ã¯ãã®ãã¡2ã€ã ãã§ãïŒfilterãšnatã§ãã ãã£ã«ã¿ããŒãã«ã«ã¯ãIPã¢ãã¬ã¹ãŸãã¯ããŒããžã®ãã©ãã£ãã¯ãèš±å¯ãããã©ããã決å®ããã»ãã¥ãªãã£ã«ãŒã«ãå«ãŸããŠããŸãã natããŒãã«ã䜿çšããŠãDockerã¯ããªããžãããã¯ãŒã¯ã®ã³ã³ããããã¹ãã®å€éšã«ããå®å
ãšéä¿¡ã§ããããã«ããŸãïŒããããªããšããã¹ããããã¯ãŒã¯ã®ã³ã³ãããããã¯ãŒã¯ã«ã«ãŒããè¿œå ããå¿
èŠããããŸãïŒã
iptablesïŒãã£ã«ã¿ãŒ
iptablesã®ããŒãã«ã¯ããã¹ãäžã®ãã±ããåŠçã®ããŸããŸãªç¶æ
ãŸãã¯æ®µéã«å¯Ÿå¿ããããŸããŸãªãã§ãŒã³ã§æ§æãããŠããŸãã ããã©ã«ãã§ã¯ããã£ã«ã¿ãŒããŒãã«ã«ã¯3ã€ã®ãã§ãŒã³ããããŸãã
å°çããåããã¹ãå®ãŠã®çä¿¡ãã±ãããåŠçããããã®Input
ã
å€éšå®å
ã察象ãšãããã¹ãã§çºçãããã±ããã®Output
ã
å€éšå®å
å®ãŠã®çä¿¡ãã±ãããåŠçããããã«è»¢éããŸãã
åãã§ãŒã³ã«ã¯ãããã±ãŒãžã«é©çšããã¢ã¯ã·ã§ã³ãšæ¡ä»¶ïŒããšãã°ãæåŠãŸãã¯æ¿èªïŒã決å®ããã«ãŒã«ãå«ãŸããŠããŸãã ã«ãŒã«ã¯ãäžèŽãèŠã€ãããŸã§é çªã«åŠçãããŸãããã以å€ã®å Žåãããã©ã«ãã®ãã§ãŒã³ã«ãŒã«ãé©çšãããŸãã ããŒãã«ã§ã«ã¹ã¿ã ãã§ãŒã³ãæå®ããããšãã§ããŸãã
ãã£ã«ã¿ãŒããŒãã«ã®çŸåšã®ãã§ãŒã³ã«ãŒã«ãšããã©ã«ãèšå®ã確èªããã«ã¯ãããã©ã«ãã§ãã£ã«ã¿ãŒããŒãã«ã䜿çšãããä»ã®ããŒãã«ãæå®ãããŠããªãå Žåã iptables -t filter -L
ãŸãã¯iptables -L
ã³ãã³ããå®è¡ããŸãã
ããããã®ç°ãªããã§ãŒã³ãšããã©ã«ãèšå®ã¯å€ªåã§ããŒã¯ãããŠããŸãïŒã«ã¹ã¿ã ãã§ãŒã³ã«ã¯ããã©ã«ãèšå®ã¯ãããŸããïŒã ãŸããDockerãDockerãšDocker-Isolationã®2ã€ã®ã«ã¹ã¿ã ãã§ãŒã³ãè¿œå ãããã©ã¯ãŒããã§ãŒã³ã«ã«ãŒã«ãè¿œå ããããšã確èªã§ããŸãããã®ç®çã¯ãããã2ã€ã®æ°ãããã§ãŒã³ã§ãã
Dockeråé¢ãã§ãŒã³
Docker-isolationã«ã¯ãç°ãªããããã¯ãŒã¯éã®ã¢ã¯ã»ã¹ãå¶éããã«ãŒã«ãå«ãŸããŠããŸãã 詳现ã«ã€ããŠã¯ãiptablesã®èµ·åæã«-v
è¿œå ããŠãã ããã
Dockerãäœæãããã¹ãŠã®ããªããžã€ã³ã¿ãŒãã§ãŒã¹éã®ãã©ãã£ãã¯ããããã¯ããè€æ°ã®DROPã«ãŒã«ã確èªã§ããŸããããã«ããããããã¯ãŒã¯ãããŒã¿ã亀æããã®ãé²ããŸãã
icc = false
docker network create
æž¡ãããšãã§ãããªãã·ã§ã³ã®1ã€ã¯ãã³ã³ãããŒå
ã®ããŒã¿ã®è»¢éãæ
åœãããªãã·ã§ã³com.docker.network.bridge.enable_icc
ã§ãã falseã«èšå®ãããšãåããããã¯ãŒã¯å
ã®ã³ã³ãããŒéã®ããŒã¿è»¢éããããã¯ãããŸãã ãããè¡ãã«ã¯ãDROPã«ãŒã«ããã©ã¯ãŒããã§ãŒã³ã«è¿œå ããŸããããã¯ããã®ã€ã³ã¿ãŒãã§ã€ã¹ã®ãããã¯ãŒã¯ã«æ¥ç¶ãããããªããžã€ã³ã¿ãŒãã§ã€ã¹ããã®ãã±ããã«å¯Ÿå¿ããŸãã
ããšãã°ãã³ãã³ãdocker network create --driver bridge --subnet 192.168.200.0/24 --ip-range 192.168.200.0/24 -o "com.docker.network.bridge.enable_icc"="false" no-icc-network
ã䜿çšããŠæ°ãããããã¯ãŒã¯ãäœæããå Žådocker network create --driver bridge --subnet 192.168.200.0/24 --ip-range 192.168.200.0/24 -o "com.docker.network.bridge.enable_icc"="false" no-icc-network
ã次ã®ããã«ãªããŸãïŒ
iptablesïŒnat
natã䜿çšããŠããã±ããã®IPã¢ãã¬ã¹ãŸãã¯ããŒããå€æŽã§ããŸãã ãã®å Žåãããªããžãããã¯ãŒã¯ïŒããšãã°ããµãããã172.18.0.0/24äžã®ãã¹ãïŒããæ¥ãŠããã¹ãã®IPã¢ãã¬ã¹ã®èåŸã«ããå€éšäžçã«éä¿¡ããããã±ãããœãŒã¹ã®ã¢ãã¬ã¹ãé ãããã«äœ¿çšãããŸãã ãã®æ©èœã¯ã com.docker.network.bridge.enable_ip_masquerade
ãªãã·ã§ã³ã«ãã£ãŠå¶åŸ¡ãããŸãããã®ãªãã·ã§ã³ã¯ã com.docker.network.bridge.enable_ip_masquerade
docker network create
æž¡ãããšãã§ãdocker network create
ïŒç¹ã«æå®ããªãå Žåãããã©ã«ãå€ã¯trueã«ãªããŸãïŒã
ãã®ã³ãã³ãã®çµæã¯ãnatããŒãã«ã§ç¢ºèªã§ããŸãã
ãã®ãã¹ãã«ãŒãã£ã³ã°ãã§ãŒã³ã§ã¯ããã¹ã«ã¬ãŒãã«ãã£ãŠäœæããããã¹ãŠã®ãããã¯ãŒã¯ãèŠãããšãã§ããŸãããã¹ã«ã¬ãŒãã¯ããããã¯ãŒã¯å€ã®ãã¹ãã«ããŒã¿ã転éãããšãã«äœ¿çšãããŸãã
ãŸãšã
- ããªããžãããã¯ãŒã¯ã«ã¯ããã¹ãäžã®Linuxã«å¯Ÿå¿ããããªããžã€ã³ã¿ãŒãã§ã€ã¹ããããŸããããã¯ãlayer2ã¹ã€ãããšããŠæ©èœããåããµããããã®ç°ãªãã³ã³ãããæ¥ç¶ããŸãã
- åãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã«ã¯ããã¹ãäžã«å¯Ÿå¿ããä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ããããã³ã³ããã®æäœäžã«äœæãããŸãã
- ããªããžã€ã³ã¿ãŒãã§ã€ã¹äžã®ãã¹ãããã®ãã©ãã£ãã¯ããã£ããã£ããããšã¯ãã¹ã€ããã«SPANããŒããäœæããããšãšåãã§ãããã®ããŒãã§ã¯ããã®ãããã¯ãŒã¯ã®ã³ã³ããéã®ãã¹ãŠã®å
éšéä¿¡ã確èªã§ããŸãã
- ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ïŒveth- *ïŒäžã®ãã¹ãããã®ãã©ãã£ãã¯ããã£ããã£ãããšãç¹å®ã®ãµããããäžã®ã³ã³ããããã®ãã¹ãŠã®ãã©ãã£ãã¯ã衚瀺ãããŸãã
- ãã£ã«ã¿ãŒãã§ãŒã³ã®iptablesã«ãŒã«ã¯ãç°ãªããããã¯ãŒã¯ïŒããã³å Žåã«ãã£ãŠã¯ãããã¯ãŒã¯å
ã®ãã¹ãïŒãããŒã¿ã亀æããã®ãé²ãããã«äœ¿çšãããŸãã éåžžããããã®ã«ãŒã«ã¯Dockeråé¢ãã§ãŒã³ã«è¿œå ãããŸãã
- ããªããžã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠå€éšãšéä¿¡ããã³ã³ããã¯ããã¹ãã¢ãã¬ã¹ã®èåŸã«IPãé ããŸãã ãããè¡ãããã«ãå¿
èŠãªã«ãŒã«ãiptablesã®natããŒãã«ã«è¿œå ãããŸãã
ãªã³ã¯/ãªãœãŒã¹