Linux文件系统域名解析实现
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
简介
本文旨在为以龙芯1B开发板为平台,文件系统添加解析域名功能提供技术文档。
系统环境:龙芯1B开发板(mips32指令)、Linux2.6.21 / Linux3.0.0内核、busybox1.19.2
编译环境:ubuntu10.04、gcc-3.4.6-2f
问题描述
文件系统udhcpc获取ip,能ping通ip,但ping域名时提示如"ping : bad address 'www.baidu.com' "。 使用busybox构建文件系统,busybox中部分命令需要依赖库libnss*,如ping、nslookup等命令,即使busybox选择了静态编译也是如此。因此文件系统实现域名解析功能,还需要配置一些必要的库与配置文件。
创建必须的配置文件:
1.创建/etc/resolv.conf
该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
resolv.conf文件中,nameserver关键字必须存在,它用于指定DNS服务器,其它关键字可选。该文件也可通过执行udhcpc生成,生成文件内容如:
nameserver 221.5.88.88 #主DNS地址
nameserver 210.21.4.130 #备用DNS地址
2.创建/etc/hosts
hosts是一个没有扩展名的系统文件,其作用就是将主机名映射到对应的ip地址。当用户执行一条ping命令时(如ping www.baidu.com),系统会首先自动从 hosts文件 中寻找www.baidu.com对应的ip地址,一旦找到,系统会立即对相应的ip执行ping命令,否则系统将域名提交DNS域名解析服务器进行ip地址的解析。通常地,为方便快速连接,可把需要经常连接的域名与其ip记录在hosts文件。
#cat /etc/hosts
127.0.0.1 localhost:localdomain localhost
3.创建/etc/host.conf
当系统中同时存在DNS域名解析与/etc/hosts主机表制时,host.conf用于确定主机名解析顺序。它每行含一个配置关键字,其后跟着合适的配置信息。系统识别的关键字有:order、trim、multi、nospoof和reorder。
#cat /etc/host.conf
order hosts,bind #名称解析顺序
multi on #允许主机拥有多个IP地址
nospoof on #禁止IP地址欺骗
拷贝必要的库:
从交叉工具链的库目录(./gcc-3.4.6-2f/mipsel-linux/lib)拷贝需要的库文件到文件系统lib目录。
#cd ./gcc-3.4.6-2f/mipsel-linux/lib
#cp libc.so.6 ld.so.1 libdl.so.2 ./rootfs/lib
#cp libnss_dns.so libnss_dns.so.2 lib libnss_dns-2.3.6.so ./rootfs/lib
#cp libresolv.so libresolv.so.2 libresolv-2.3.6.so ./rootfs/lib
文件系统域名解析环境配置完成。
本文旨在为以龙芯1B开发板为平台,文件系统添加解析域名功能提供技术文档。
系统环境:龙芯1B开发板(mips32指令)、Linux2.6.21 / Linux3.0.0内核、busybox1.19.2
编译环境:ubuntu10.04、gcc-3.4.6-2f
问题描述
文件系统udhcpc获取ip,能ping通ip,但ping域名时提示如"ping : bad address 'www.baidu.com' "。 使用busybox构建文件系统,busybox中部分命令需要依赖库libnss*,如ping、nslookup等命令,即使busybox选择了静态编译也是如此。因此文件系统实现域名解析功能,还需要配置一些必要的库与配置文件。
创建必须的配置文件:
1.创建/etc/resolv.conf
该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
resolv.conf文件中,nameserver关键字必须存在,它用于指定DNS服务器,其它关键字可选。该文件也可通过执行udhcpc生成,生成文件内容如:
nameserver 221.5.88.88 #主DNS地址
nameserver 210.21.4.130 #备用DNS地址
2.创建/etc/hosts
hosts是一个没有扩展名的系统文件,其作用就是将主机名映射到对应的ip地址。当用户执行一条ping命令时(如ping www.baidu.com),系统会首先自动从 hosts文件 中寻找www.baidu.com对应的ip地址,一旦找到,系统会立即对相应的ip执行ping命令,否则系统将域名提交DNS域名解析服务器进行ip地址的解析。通常地,为方便快速连接,可把需要经常连接的域名与其ip记录在hosts文件。
#cat /etc/hosts
127.0.0.1 localhost:localdomain localhost
3.创建/etc/host.conf
当系统中同时存在DNS域名解析与/etc/hosts主机表制时,host.conf用于确定主机名解析顺序。它每行含一个配置关键字,其后跟着合适的配置信息。系统识别的关键字有:order、trim、multi、nospoof和reorder。
#cat /etc/host.conf
order hosts,bind #名称解析顺序
multi on #允许主机拥有多个IP地址
nospoof on #禁止IP地址欺骗
拷贝必要的库:
从交叉工具链的库目录(./gcc-3.4.6-2f/mipsel-linux/lib)拷贝需要的库文件到文件系统lib目录。
#cd ./gcc-3.4.6-2f/mipsel-linux/lib
#cp libc.so.6 ld.so.1 libdl.so.2 ./rootfs/lib
#cp libnss_dns.so libnss_dns.so.2 lib libnss_dns-2.3.6.so ./rootfs/lib
#cp libresolv.so libresolv.so.2 libresolv-2.3.6.so ./rootfs/lib
文件系统域名解析环境配置完成。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献4条内容
所有评论(0)