linux环境下搭建dnsmasq服务器
Linux环境下搭建
1. dnsmasq源码下载:
http://download.csdn.net/download/bgylde/9724923
2. 解压到目录下,我的目录是:
/home/linux/Templetes(tar -xzvf dnsmasq.tar.gz)
3. 代码中Makefile.old为linux下的编译文件,编译文件:
root@ubuntu:/home/linux/Templates/dnsmasq# make -f Makefile.old
make[1]: Entering directory `/home/linux/Templates/dnsmasq/src'
../bld/Makefile:12: "***************: " "*******************"
cc -o dnsmasq cache.o rfc1035.o util.o option.o forward.o network.o dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o helper.o tftp.o log.o
make[1]: Leaving directory `/home/linux/Templates/dnsmasq/src'
root@ubuntu:/home/linux/Templates/dnsmasq# cd src
root@ubuntu:/home/linux/Templates/dnsmasq/src#
目标文件为src目录下的dnsmasq。
4. dnsmasq配置:
vim /etc/dnsmasq.conf 编辑为:
resolv-file=/etc/resolv.dnsmasq.conf #在resolv.dnsmasq.conf读取上级dns服务器地址
strict-order #按照recolv-file文件中的地址顺序获取ip
address=/mylinux.com/192.168.137.3 #自定义域名解析为192.168.137.3
listen-address=127.0.0.1,192.168.137.3 #定义dnsmasq监听的地址,局域网中使用需添加局域网地址
addn-hosts=/etc/dnsmasq.hosts #定义host文件
vim /etc/resolv.dnsmasq.conf编辑为:
nameserver 127.0.0.1 #先从本机的dns服务器开始查找
nameserver 114.114.114.114 #本机查找失败在114.114.114.114dns服务器查找
vim /etc/resolv.conf编辑为:
nameserver 127.0.0.1 #dns请求地址
cp /etc/hosts /etc/dnsmasq.hosts #复制系统hosts为dns服务器hosts
5. 启动dnsmasq
root@ubuntu:/home/linux/Templates/dnsmasq/src# ./dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -r/var/run/dnsmasq/resolv.conf
#也可以使用service dnsmasq start来启动
6. 现在本机就可以使用自己搭建的dns服务器了,局域网内的其他电脑可以设置dns地址为本机ip使用。
Andoid环境下搭建
1. dnsmasq源码下载:
2. 解压到目录下,我的目录是:
/home/linux/Templetes(tar -xzvf dnsmasq.tar.gz)
3. 代码中Makefile为Android下的编译文件,编译文件: root@ubuntu:/home/linux/Templates/dnsmasq# make
arm-linux-androideabi-gcc -c src/dnsmasq.c -o src/dnsmasq.o
arm-linux-androideabi-gcc -c src/log.c -o src/log.o
arm-linux-androideabi-gcc -c src/cache.c -o src/cache.o
arm-linux-androideabi-gcc -c src/rfc2131.c -o src/rfc2131.o
arm-linux-androideabi-gcc -c src/netlink.c -o src/netlink.o
arm-linux-androideabi-gcc -c src/option.c -o src/option.o
arm-linux-androideabi-gcc -c src/rfc1035.c -o src/rfc1035.o
arm-linux-androideabi-gcc -c src/tftp.c -o src/tftp.o
arm-linux-androideabi-gcc -c src/network.c -o src/network.o
arm-linux-androideabi-gcc -c src/dbus.c -o src/dbus.o
arm-linux-androideabi-gcc -c src/helper.c -o src/helper.o
arm-linux-androideabi-gcc -c src/dhcp.c -o src/dhcp.o
arm-linux-androideabi-gcc -c src/lease.c -o src/lease.o
arm-linux-androideabi-gcc -c src/bpf.c -o src/bpf.o
arm-linux-androideabi-gcc -c src/util.c -o src/util.o
arm-linux-androideabi-gcc -c src/forward.c -o src/forward.o
arm-linux-androideabi-gcc -g -o dnsmasq src/dnsmasq.o src/log.o src/cache.o src/rfc2131.o src/netlink.o src/option.o src/rfc1035.o src/tftp.o src/network.o src/dbus.o src/helper.o src/dhcp.o src/lease.o src/bpf.o src/util.o src/forward.o -pie -fPIE -llog
arm-linux-androideabi-strip dnsmasq
root@ubuntu:/home/linux/Templates/dnsmasq#
目标文件为当前目录下的dnsmasq,将dnsmasq拷贝到android上。4. dnsmasq配置:
vim /etc/dnsmasq.conf 编辑为:
resolv-file=/etc/resolv.dnsmasq.conf #在resolv.dnsmasq.conf读取上级dns服务器地址
strict-order #按照recolv-file文件中的地址顺序获取ip
address=/mylinux.com/192.168.137.3 #自定义域名解析为192.168.137.3
listen-address=127.0.0.1,192.168.137.3 #定义dnsmasq监听的地址,局域网中使用需添加局域网地址
addn-hosts=/etc/dnsmasq.hosts #定义host文件
vim /etc/resolv.dnsmasq.conf编辑为:
nameserver 127.0.0.1 #先从本机的dns服务器开始查找
nameserver 114.114.114.114 #本机查找失败在114.114.114.114dns服务器查找
vim /etc/resolv.conf编辑为:
nameserver 127.0.0.1 #dns请求地址
cp /etc/hosts /etc/dnsmasq.hosts #复制系统hosts为dns服务器hosts
5. 启动dnsmasq
./dnsmasq -x /cache/dnsmasq.pid -u root -r /etc/resolv.conf
现在android也可以作为一个dns服务器想外提供服务了! ./dnsmasq -x /cache/dnsmasq.pid -u root -r /etc/resolv.conf
有不对的欢迎指出,我也是初学者……