๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Etc.

NAT ๊ฐœ๋… ์ •๋ฆฌ

by Leica 2021. 2. 3.
๋ฐ˜์‘ํ˜•

 

NAT

  • NAT = Network Address Translation = ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ ๋ณ€ํ™˜
  • IP ํŒจํ‚ท์˜ TCP/UDP ํฌํŠธ ์ˆซ์ž์™€ ์†Œ์Šค ๋ฐ ๋ชฉ์ ์ง€์˜ IP ์ฃผ์†Œ ๋“ฑ์„ ์žฌ๊ธฐ๋กํ•˜๋ฉด์„œ ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ธฐ์ˆ 
  • ์™ธ๋ถ€์— ๊ณต๊ฐœ๋œ ๊ณต์ธ(Public) IP์™€ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์„ค(Private) IP๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ๋„คํŠธ์›Œํฌ ์ „์†ก ์ˆ˜ํ–‰ ์‹œ ๋‘ IP์ฃผ์†Œ๋ฅผ ๋งคํ•‘ํ•˜์—ฌ ์›ํ™œํžˆ ์šด์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ 

ํŒจํ‚ท์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— IP๋‚˜ TCP/UDP์˜ ์ฒดํฌ์„ฌ(checksum)๋„ ๋‹ค์‹œ ๊ณ„์‚ฐ๋˜์–ด ์žฌ๊ธฐ๋กํ•ด์•ผ ํ•œ๋‹ค. NAT๋ฅผ ์ด์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋Œ€๊ฐœ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ์— ์†ํ•œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ๊ณต์ธ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. NAT๊ฐ€ ํ˜ธ์ŠคํŠธ ๊ฐ„์˜ ํ†ต์‹ ์— ์žˆ์–ด์„œ ๋ณต์žก์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

NAT๋Š” IPv4์˜ ์ฃผ์†Œ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ์„œ ๊ณ ๋ ค๋˜์—ˆ์œผ๋ฉฐ, ์ฃผ๋กœ ๋น„๊ณต์ธ(์‚ฌ์„ค, local) ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ง์—์„œ ์™ธ๋ถ€์˜ ๊ณต์ธ๋ง(public, ์˜ˆ๋ฅผ ๋“ค๋ฉด ์ธํ„ฐ๋„ท)๊ณผ์˜ ํ†ต์‹ ์„ ์œ„ํ•ด์„œ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋‚ด๋ถ€ ๋ง์—์„œ๋Š” ์‚ฌ์„ค IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ์„ ํ•˜๊ณ , ์™ธ๋ถ€๋ง๊ณผ์˜ ํ†ต์‹ ์‹œ์—๋Š” NAT๋ฅผ ๊ฑฐ์ณ ๊ณต์ธ IP ์ฃผ์†Œ๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•œ๋‹ค.

NAT ์‚ฌ์šฉ ๋ชฉ์ 

โถ ๊ณต์ธ IP์ฃผ์†Œ ๋ถ€์กฑ ๋ฌธ์ œ ํ•ด๊ฒฐ

์ธํ„ฐ๋„ท์˜ ๊ณต์ธ IP์ฃผ์†Œ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ณต์ธ(Public) IP๋ฅผ ์ „์ฒด ์‚ฌ์šฉ์ž์—๊ฒŒ ํ• ๋‹นํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

์ธํ„ฐ๋„ท์˜ ๊ณต์ธ IP์ฃผ์†Œ๋Š” ํ•œ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๊ธ‰์  ์ด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•œ๋ฐ NAT๋ฅผ ์ด์šฉํ•˜๋ฉด ์‚ฌ์„ค IP์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ด๋ฅผ ๊ณต์ธ IP์ฃผ์†Œ์™€ ์ƒํ˜ธ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ, ๊ณต์ธ IP์ฃผ์†Œ๋ฅผ ๋‹ค์ˆ˜๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ์œผ๋กœ์จ ์ด๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โท ๋ณด์•ˆ์„ฑ

์ธํ„ฐ๋„ท์ด๋ž€ ๊ณต๊ณต๋ง๊ณผ ์—ฐ๊ฒฐ๋˜๋Š” ๊ณ ์œ ํ•œ ์‚ฌ์„ค๋ง์„ ์นจ์ž…์ž๋“ค๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์˜ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค.

๊ณต๊ฐœ๋œ ์ธํ„ฐ๋„ท๊ณผ ์‚ฌ์„ค๋ง ์‚ฌ์ด์— ๋ฐฉํ™”๋ฒฝ(Firewall)์„ ์„ค์น˜ํ•˜์—ฌ ์™ธ๋ถ€ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž์˜ ํ†ต์‹ ๋ง์„ ๋ณดํ˜ธํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ์ˆ˜๋‹จ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์™ธ๋ถ€ ํ†ต์‹ ๋ง ์ฆ‰ ์ธํ„ฐ๋„ท๋ง๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ์žฅ๋น„์ธ ๋ผ์šฐํ„ฐ์— NAT๋ฅผ ์„ค์ •ํ•  ๊ฒฝ์šฐ ๋ผ์šฐํ„ฐ๋Š” ์ž์‹ ์—๊ฒŒ ํ• ๋‹น๋œ ๊ณต์ธ IP์ฃผ์†Œ๋งŒ ์™ธ๋ถ€๋กœ ์•Œ๋ ค์ง€๊ฒŒ ํ•˜๊ณ , ๋‚ด๋ถ€์—์„œ๋Š” ์‚ฌ์„ค IP์ฃผ์†Œ๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜์—ฌ ํ•„์š”์‹œ์— ์ด๋ฅผ ์„œ๋กœ ๋ณ€ํ™˜์‹œ์ผœ ์ค€๋‹ค. ๋”ฐ๋ผ์„œ ์™ธ๋ถ€ ์นจ์ž…์ž๊ฐ€ ๊ณต๊ฒฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‚ฌ์„ค๋ง์˜ ๋‚ด๋ถ€ ์‚ฌ์„ค IP์ฃผ์†Œ๋ฅผ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฒฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง€๋ฏ€๋กœ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

NAT ์ข…๋ฅ˜

โถ Static(์ •์ ) NAT

์ˆ˜๋™์œผ๋กœ ์™ธ๋ถ€ ๊ณต์ธ IP์™€ ์‚ฌ์„คIP๋ฅผ 1:1๋กœ ๋งคํ•‘

์‚ฌ์„ค IP์™€ ๊ณต์ธ IP๊ฐ€ 1:1๋กœ ๋งค์นญ์ด ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€๋กœ ๋จผ์ € ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ์™€ ๋‹ฌ๋ฆฌ ์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€๋กœ ๋จผ์ € ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. 


โท Dynamic(๋™์ ) NAT

์‚ฌ์„คIP์ฃผ์†Œ๋ฅผ ํ’€(Pool)ํ™” ํ•˜์—ฌ ๊ณต์ธ ์ฃผ์†Œ๋กœ ์ž๋™ ๋งคํ•‘

โธ NAPT(PAT)

์—ฌ๋Ÿฌ๊ฐœ์˜ ์‚ฌ์„ค IP๊ฐ€ 1๊ฐœ์˜ ๊ณต์ธ IP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ

์—ฌ๋Ÿฌ๊ฐœ์˜ ์‚ฌ์„ค IP๋ฅผ 1๊ฐœ์˜ ๊ณต์ธIP๋กœ NAT์‹œ์ผœ์ฃผ๋Š”๋ฐ Port pool์„ ์ด์šฉํ•˜์—ฌ NAT๋ฅผ ์‹œ์ผœ์ฃผ๋Š”๊ฒƒ์„ ์˜๋ฏธ

IP์ฃผ์†Œ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ํฌํŠธ ๋ฒˆํ˜ธ๊นŒ์ง€๋„ ํฌํ•จ์‹œ์ผœ ๋‚ด๋ถ€ ํ˜ธ์ŠคํŠธ๋ฅผ ๊ตฌ๋ถ„. Static NAT๋‚˜ Dynamic NAT๋กœ ๋ณ€ํ™˜ํ•˜๋„๋ก ์„ค์ •๋˜์ง€ ์•Š์€ ๋‚ด๋ถ€ IP์ฃผ์†Œ๋“ค ๋˜๋Š” Dynamic NAT์— ์„ค์ •์€ ๋˜์–ด ์žˆ์œผ๋‚˜ ๊ณต์ธ์šฉ IP์ฃผ์†Œ Pool์ด ๊ณ ๊ฐˆ๋˜์–ด ๋” ์ด์ƒ ํ• ๋‹น ๋ฐ›์„ ์ˆ˜ ์—†๋Š” ์ฃผ์†Œ๋“ค์€ PAT๋ฅผ ์ ์šฉํ•œ๋‹ค.

1๊ฐœ์˜ ๊ณต์ธ IP๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์‚ฌ์„ค IP๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐ€๋Š” ํ†ต์‹ ์ด ์•„๋‹Œ ๋จผ์ € ์™ธ๋ถ€์—์„œ ๊ณต์ธIP๋กœ ํ†ต์‹ ์„ ์‹œ๋„ํ•˜์˜€์„ ๋•Œ ์ค‘๊ฐ„์—์„œ NAT๋ฅผ ์‹œ์ผœ์ฃผ๋Š” Firewall์™€ ๊ฐ™์€ ์žฅ๋น„์—์„œ ์–ด๋Š ์‚ฌ์„ค IP์—๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ์–ด์•ผ ํ• ์ง€ ์•Œ ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ทธ๋ž˜์„œ PAT์˜ ๊ฒฝ์šฐ๋Š” ์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€๋กœ ๋จผ์ € ํ†ต์‹ ์„ ์‹œ๋„ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค.

 

1:1 NAT์˜ ๊ฒฝ์šฐ์—๋Š” ์™ธ๋ถ€์—์„œ ๊ณต์ธ IP๋ฅผ ์ฐพ์•„ ๋“ค์–ด ๊ฐˆ ์ˆ˜ ์žˆ๊ณ  N:1 PAT์˜ ๊ฒฝ์šฐ์—๋Š” ์™ธ๋ถ€์—์„œ ๊ณต์ธ IP๋ฅผ ์ฐพ์•„ ๋“ค์–ด ๊ฐˆ ์ˆ˜ ์—†๋‹ค๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ 1:1 NAT์˜ ๊ฒฝ์šฐ์—๋Š” ์™ธ๋ถ€์—์„œ ๋จผ์ € ์ฐพ์•„๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ์˜ˆ๋ฅผ ๋“ค์–ด DAUM, Google, NAVER ์„œ๋ฒ„ ๋“ฑ ์‚ฌ์šฉ์ž๊ฐ€ ๋จผ์ € ์ ‘๊ทผ์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์— 1:1 NAT๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
N:1 PAT์˜ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๋“ค์ด ์™ธ๋ถ€๋กœ ํ†ต์‹ ์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ํšŒ์‚ฌ๋‚˜ ํ•™๊ต, ํ•™์› ๋“ฑ์—์„œ ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๊ณต์ธIP๊ฐ€ ํ•œ์ •์ ์ธ ๊ฒฝ์šฐ์— N:1 PAT๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

์ถœ์ฒ˜ ๋ฐ ์ฐธ๊ณ 

jwprogramming.tistory.com/30

m.blog.naver.com/scw0531/221334568848

run-it.tistory.com/24

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€