Linux ์—์„œ ๋„ค์ž„ ์„œ๋น„์Šค ์Šค์œ„์น˜(nsswitch; Name Service Switch) ์„ค์ •

nsswitch.conf ๋ž€

์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋„์šฐ๊ณ  google.com ์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” google.com ์ด๋ผ๋Š” ๋„๋ฉ”์ธ ๋„ค์ž„์„ IP ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„์— IP ์ฃผ์†Œ๋กœ ์—ฐ๊ฒฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋•Œ ์šด์˜์ฒด์ œ์—์„œ ์ œ๊ณตํ•˜๋Š” DNS ๋ฅผ IP ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ธ gethostbyname ๋“ฑ์„ ํ˜ธ์ถœํ•˜๋ฉฐ ์ด ํ•จ์ˆ˜๋Š” Name Service Switch configuration ์„ค์ • ํŒŒ์ผ์ธย /etc/nsswitch.conf ํŒŒ์ผ์˜ hosts ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์„ค์ •ํ•œ ์ˆœ์„œ๋Œ€๋กœ DNS ๋ณ€ํ™˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.


๋ฐฐํฌํŒ ์ข…๋ฅ˜๋‚˜ ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒ ์ง€๋งŒ hosts ํ•ญ๋ชฉ์„ ๋ณด๋ฉด ๋ณดํ†ต ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

$ cat /etc/nsswitch.conf | grep hosts

hosts:      files dns

์˜๋ฏธ๋Š” ์ขŒ์ธก์—์„œ ์šฐ์ธก์˜ ์ˆœ์„œ๋Œ€๋กœ DNS ๋ณ€ํ™˜ ์ž‘์—…์„ ํ•˜๋ผ๋Š” ์ง€์‹œ์ž์ด๋ฉฐ ์šฐ์„  ์ˆœ์œ„ ๋†’์€ ๊ณณ์— DNS ๋ณ€ํ™˜์„ ์„ฑ๊ณตํ•˜๋ฉด ์šฐ์ธก ํ•ญ๋ชฉ์€ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋งจ ์ขŒ์ธก์˜ files ๋Š” /etc/hosts ํŒŒ์ผ์„ ์˜๋ฏธํ•˜๋ฉฐ ์šฐ์„  ์ˆœ์œ„๋Š” hosts ํŒŒ์ผ์„ ์ฐพ๊ณ  ์—†์„ ๊ฒฝ์šฐ์—๋งŒ DNS ์—์„œ ์ ˆ์˜ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰ /etc/nsswitch.conf ๊ฐ€ ์œ„์™€ ๊ฐ™์ด ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด /etc/hosts ํŒŒ์ผ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•  ๊ฒฝ์šฐ google.com ์— ์—ฐ๊ฒฐํ•˜๋ฉด ๋Š˜ localhost ์— ์ ‘์†ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

127.0.0.1  google.com


๋งŒ์•ฝ /etc/nsswitch.conf ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด /etc/hosts ํŒŒ์ผ์— google.com ์ด ์„ค์ •๋˜์–ด ์žˆ์–ด๋„ ์ •์ƒ์ ์œผ๋กœ google.com ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

hosts:  dns    files

Windows ๋„ c:\windows\system32\drivers\etc\hosts ์— ์„ค์ •ํ•œ ๋„๋ฉ”์ธ ์ •๋ณด๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.


Unix, Windows ์ƒ๊ด€์—†์ด hosts ํŒŒ์ผ์˜ ํฌ๋งท์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด IP ๋’ค์— ๊ณต๋ฐฑ์„ ์ฃผ๊ณ  domain ์ด๋ฆ„์„ ์ ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.๋‹ค.

## comment
127.0.0.1   localhost localhost.localdomain


Name Server ์ˆ˜๋™ ์„ค์ •

Linux์— DNS(Domain Name Server) ์„ค์ • ๋ฐฉ๋ฒ• ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๊ฐ™์ด ๋ณด๊ธฐ