C.W.K.
Stream
Lesson 01 of 05 · published

0.0.0.0 vs 127.0.0.1 vs 192.168.x.x 가 진짜로 뭘 의미하는지

~15 min · bind, 0.0.0.0, tailscale-ip

Level 0Greenhorn
0 XP0/53 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

config 파일에서 가장 결과가 큰 한 줄은 bind 하는 host. 솔로 개발자의 "나 털렸어" 스토리 거의 다 여기서 잘못된 선택으로 시작해. 세 값이 99% 케이스 cover 하고, 와일드하게 달라.

Bind 주소의미도달 가능한 사람
127.0.0.1 (loopback)"이 머신만"같은 OS 의 프로세스만
192.168.1.42 (특정 LAN IP)"이 LAN 주소로 도달"같은 LAN 의 IP 아는 디바이스
100.64.x.x (Tailscale CGNAT 범위)"Tailscale 통해서만 도달"tailnet 안 디바이스 (WireGuard handshake 후)
0.0.0.0 (모든 interface)"public 포함 모든 NIC 에 listen"이 host 가진 어떤 IP 로든 패킷 라우트 가능한 누구나

0.0.0.0 이 진짜로 뭘 하는지

OS 한테 "이 머신이 가진 아무 interface 에서든 connection 받아" 라고 말해. Wi-Fi NIC 하나 있는 보통 home 맥은 host 가:

  • 127.0.0.1 (loopback) — 내부만.
  • 192.168.1.42 (Wi-Fi LAN) — 라우터 클라이언트에서 도달.
  • 100.64.0.5 (Tailscale) — tailnet 통해 도달.
  • ISP 가 IPv6 주고 firewall 안 막으면 잠재적 public IPv6.

0.0.0.0 으로 bind 하면 서비스가 넷 다에 응답. 라우터에 UPnP 켜져 있고 (기본 켜짐) inbound rule 나타나는 순간 (날 수 있음), 네 "local" 서비스는 public 인터넷에 있어.

External links

Exercise

네 프로젝트의 모든 dev server config 봐: HOST 나 HOSTNAME 이나 --host 나 YAML 의 bind:. 각 값 리스트. 모든 0.0.0.0 마다 결정: 127.0.0.1, Tailscale IP, 아니면 documented 이유로 0.0.0.0 유지? 오늘 적어도 하나는 바꿔.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.