Config DNS server for development
开发的时候我们很多时候需要配置一个与线上相同的环境来做测试。
其中一项就是我们需要用线上相同的域名在做测试,这样就需要在开发环境里面配置域名映射。
最为简单的情况就是使用/etc/hosts,但是如果是有一团队来做测试,需要所有的人有相同的配置,
特别是有新成员来的时候,相同的工作要不厌其烦的重复做重复说明。
还有一种办法就是找一台机器来做域名解析服务,其实配置起来也不是很麻烦,下面就让我来讲一个简单的例子。
Step 1. 安装bind9
sudo apt-get install bind9
Step 2. 配置bind
#sudo vi /etc/bind/named.conf.options
# 本DNS不知道的域名会到8.8.8.8服务器问
forwarders {
8.8.8.8;
};
# 允许递归访问
recursion yes;
# 允许外部访问
allow-query {anry;};
step 3. 配置本地DNS
假如我们要配置一个 taobao.com 的DNS
#sudo vi /etc/bind/named.conf.local
zone "taobao.com" {
type master;
file "/etc/bind/db.taobao.com";
};
#sudo vi /etc/bind/db.taobao.com
;
;$TTL 604800
$TTL 7d
@ IN SOA taobao.com. admin.taobao.com. ( # admin.taobao.com 表示 admin@taobao.com 管理员email
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS ns.taobao.com. # 设置域名DNSip 最后有个.结尾表示一个全的URL
@ IN A 192.168.0.100
ns IN A 192.168.0.100
mx IN MX 192.168.0.100
www IN A 192.168.0.100
m IN CNAME www # 设置别名
* IN A 192.168.0.100 # 没有设置过的子域名都转到这个IP
通过以上的配置,只要在系统里面把DNS设置好,在浏览器里面输入 taobao.com
就会解析到 192.168.0.100这个IP,而不是真正的淘宝网了。
如果有路由器的配置权限,只要把路由器的DHCP地址设为这个DNS服务器的IP,这样系统里面设置DNS这一步也可以省略,真正即插即用。