nip.io使用记录

动态DNS神器nip.io使用指南:快速实现域名与IP的动态映射

本文基于开源项目 v1.2.1版本撰写,适用于开发测试、CI/CD等场景


一、项目简介
nip.io 是由Exentrique Solutions开发的开源动态DNS服务,通过智能解析机制实现任意IP地址与域名的动态映射。该服务无需注册或配置DNS记录,支持以下核心功能:

  • 🌐 动态域名解析:将<任意IP>.nip.io自动解析对应IP
  • 🚀 零配置使用:无需安装客户端或配置DNS服务器
  • 🔧 通配符支持:支持多级子域名动态解析(如app.10.0.0.1.nip.io
  • 🐳 容器化部署:提供Docker镜像快速搭建私有服务

二、快速入门

场景1:使用公共DNS服务
直接在浏览器或应用中访问以下格式域名:

1
2
3
4
5
6
7
IPv4格式
http://your-app.192-168-1-100.nip.io ➔ 解析到192.168.1.100
http://test.192.168.1.100.nip.io ➔ 解析到192.168.1.100

IPv6格式(需使用破折号)
http://your-app.2001-0db8-85a3-0000-0000-8a2e-0370-7334.nip.io

场景2:自建私有服务

1
2
3
4
5
6
克隆项目
git clone https://github.com/exentriquesolutions/nip.io.git

使用Docker部署
bash build_and_run_docker.sh


三、进阶配置

  1. 环境变量配置
    通过环境变量覆盖默认配置:

environment-variables-configuration-overrides


四、典型应用场景

  1. 本地开发调试
1
2
3
4
5
6
# 运行本地服务
python -m http.server 8080

# 通过域名访问
http://dev.127-0-0-1.nip.io:8080

  1. Kubernetes服务暴露
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
apiVersion: v1
kind: Service
metadata:
name: demo-service
spec:
type: ClusterIP
externalIPs:
- 192.168.1.100
ports:
- port: 80
---

# 通过域名访问
http://k8s.192.168.1.100.nip.io


项目地址:GitHub - exentriquesolutions/nip.io
更多技术细节可查阅项目Wiki文档