广州明生堂生物科技有限公司


linux下socket编程总是bind异常.求教 (linux bind)

网络编程 linux下socket编程总是bind异常.求教 (linux bind) 10-08

出现这种情况,调用使用perror(“bind”);把错误原因打出来,再根据具体原因查查,错误原因列表,极有可能是端口被占用,或者是权限问题,你用一个大于1024的端口试试吧。

相关问题拓展阅读:

  • linux怎么安装及配置bind9.9.9p1-39.1
  • linux中bind(DNS)软件的数据库目录/var/named/下,数据库文件中NS记录到底是干什么的?

linux怎么安装及配置bind9.9.9p1-39.1

重新安装系统, 按照新手冲拿规则, 你应该把所有的软件装上去的。 本人颤族装新的LINUX发行版时,散洞搭 也不例外。 熟悉了再搞精简系统~~

一,安装BIND

1.下载BIND

也可以去本站下载 bind9 dns软件。

2.编译安装

.代码如下:

# tar zxvf bind-9.4.0.tar.gz

# cd bind-9.4.0

# ./configure sysconfdir=/etc //更多安装选项 ./configure –help

# make

# make install

二,配置BIND

A.创建需要文件

1)./etc/named.conf

# vi /etc/named.conf 推出保存即可 或 touch /etc/named.conf

2)./etc/rndc.conf

# rndc-confgen > /etc/rndc.conf

B.创建目录 /var/named

# mkdir /var/named

B.编辑/etc/named.conf 内容如下

.代码如下:

options {

directory “/var/named”; //表示默认的数据库文件在/var/named中 若没有需手动创建

// pid-file “/var/run/named/named.pid”; //运行的简凯册PID文件路径,用于使用其他用户启动named

};

zone “.” { //创建root域

type hint;

file “named.ca”;

};

zone “localhost” { //创建 localhost域

type master;

file “named.local”;

};

zone “example.com” { //创建 example.com域

type master;

file “example.com.zone”;

};

zone “0.0.127.in-addr.arpa”{ //localhost的反解析

type master;

file “127.0.0.zone”;

};

zone “100.168.192.in-addr.arpa” { //example.com的反向解析

type master;

file “192.168.100.zone”;

};

//这段文件在/etc/rndc.conf 的尾部需拷贝才能使拦宏用 # tail +13 /etc/rndc.conf >>/etc/named.conf

# Use with the following in named.conf, adjusting the allow list as needed:

key “rndc-key” {

algorithm hmac-md5;

secret “HWM3L+e7LWDZJJ/dJEzQEw==”;

};

controls {

inet 127.0.0.1 port 953

allow { 127.0.0.1; } keys { “rndc-key”; };

};

# End of named.conf

D.在/var/named 中创建相应的孙运数据文件 文件名由named.conf 中的file 参数制定

由named.conf可知有 named.ca, named.local, example.com.zone, 127.0.0.zone , 192.168.100.zone

1. named.ca

# dig -t NS . >/var/named/named.ca

2. named.local #vi /var/named/named.local 加入以下内容

.代码如下:

$TTL 1D

@ IN SOA localhost. root (

1H

15M

1W

1D )

IN NS @

IN A 127.0.0.1

3. example.com.zone

.代码如下:

$TTL 1D

@ IN SOA example.com. root (

1H

15M

1W

1D )

IN NS ns.example.com.

IN MX 10 mail.example.com.

IN A 192.168.100.125

www IN A 192.168.100.125

db IN A 192.168.100.124

ns IN A 192.168.100.126

mail IN A 192.168.100.251

shop IN A 192.168.100.125

*.shop IN A 192.168.100.124

news IN CNAME www

3. 127.0.0.zone

$TTl 1D

@ IN SOA @ root.localhost. (

1H

15M

1W

1D

)

IN NS localhost.

1 IN PTR localhost.

4. 192.168.100.zone

$TTL 1D

@ IN SOA @ root.example.com. (

1H

15M

1W

1D )

IN NS example.com.

125 IN PTR example.com.

125 IN PTR

www.example.com.

124 IN PTR db.example.com.

126 IN PTR ns.example.com.

251 IN PTR mail.example.com.

补充说明

a. named服务器的启动问题

1. 启动 #named //以root用户启动

#named -u named //以named用户启动,必须有这个用户而且,named.pid的属主是 named

2. 更改配置后如何重启

# rndc reload

3.测试配置是否成功,可用 host, dig ,nslookup 判断

linux中bind(DNS)软件的数据库目录/var/named/下,数据库文件中NS记录到底是干什么的?

NS记录我查了一下英文的官方文档 突然想起来,NS记录是可以指向它的下一个子区域的NS服务器的IP的  比如你是负责baidu.com 这个区域的。然后 它有一个子区域叫zone.baidu.com

它的下一个NS记录的IP 如果你指错了,,到时候要解析比如说域名为

www.zone.baidu.com

这样的域名,就会找不到了,,   

相信你应该知道DNS服务器工作原理吧, DNS服务器查找某个域名的方法逐级查找,  

还有一点,,既然你都打算深入研究Linux了,,英文也得提高哦哈哈,,个人感觉好多牛的讲师其实他们的资源来源有一部分就是查找这些开源软件的官方文档来讲的,,基本大多数你所要了解的东东都在上边了  努力哈,,我也在学习中。。。  虽然不知道解释的对不对哈哈,,个人见解

linux bind的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux bind,linux下socket编程总是bind异常.求教,linux怎么安装及配置bind9.9.9p1-39.1,linux中bind(DNS)软件的数据库目录/var/named/下,数据库文件中NS记录到底是干什么的?的信息别忘了在本站进行查找喔。


编辑:广州明生堂生物科技有限公司

标签:软件,数据库文件,代码,有一,服务器