Linux文件系统域名解析实现

简介
本文旨在为以龙芯1B开发板为平台,文件系统添加解析域名功能提供技术文档。
系统环境:龙芯1B开发板(mips32指令)Linux2.6.21 / Linux3.0.0内核、busybox1.19.2
编译环境:ubuntu10.04、gcc-3.4.6-2f

问题描述
文件系统udhcpc获取ip,能pingip,但ping域名时提示如"ping : bad address 'www.baidu.com' "
使用busybox构建文件系统,busybox中部分命令需要依赖库libnss*,如pingnslookup等命令,即使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、nospoofreorder
#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
文件系统域名解析环境配置完成。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,域名解析是通过DNS(Domain Name System,域名系统)来实现的。DNS是一个分布式数据库,用于将域名与IP地址相互映射,使用户能够更方便地访问互联网,而不需要记住IP地址。域名解析是将域名转换为对应的IP地址的过程。在Linux系统中,有多种方式进行域名解析。 一种常见的方式是通过hosts文件进行域名解析。hosts文件是一个静态表,保存了IP地址与域名之间的映射关系,以及主机的别名。该文件位于/etc/目录下,可以使用文本编辑器进行编辑。通过在hosts文件中添加IP地址和域名的映射关系,可以实现域名解析。 另一种方式是通过配置DNS服务器进行域名解析。在Linux系统中,可以架设一台DNS服务器来负责域名解析工作。通过编辑DNS服务器的配置文件,如named.conf,可以设置DNS服务器监听所有IP地址,并允许所有客户端进行查询。同时,还可以编辑区域配置文件,如/etc/named.rfc1912.zones文件,设置正向解析区域,并建立相应的数据文件。通过重新启动DNS服务或重载配置,可以验证正向解析是否成功。 总之,Linux系统中的域名解析可以通过hosts文件或配置DNS服务器实现,以便将域名转换为对应的IP地址。\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Linux域名解析(DNS)](https://blog.csdn.net/zhangchang3/article/details/129417495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux域名解析](https://blog.csdn.net/weixin_41577115/article/details/89369376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值