linux(Android)下搭建dnsmasq服务器

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服务器想外提供服务了!


有不对的欢迎指出,我也是初学者……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值