DHCPD服务的困惑,DHCPD服务启动也不能自动获取DNS
我很怀疑是KDE的BUG而不是DHCPD不工作:增加 /etc/dhcpd.conf ,内容如下
ddns-update-style none;
ddns-updates off;
option T150 code 150 = string;
deny client-updates;
one-lease-per-client false;
allow bootp;
subnet 0.0.0.0 netmask 255.255.255.255 {
interface eth0;
}
建立空文件:touch /var/state/dhcp/dhcpd.leases
route add -host 255.255.255.255 dev eth0
route add -host localhost dev eth0
重启机器,发现eth0比dhcpd服务先启动了,等待半天falsed然后dhcpd服务ok进入系统,点击配置网卡,发现eth0是断开的(假象,我一样可以拔号上去)。点击enable interferce,然后出现如图的现象了,倒底是连上了还是没连上?
打开/etc/dhcpd.conf,添加 server-identifier 202.101.98.54,也就是定义了本服务器的IP地址,然后再看控制面板上eth0连上了。这三张图只说明ML的DHCP只能提供子网服务,ADSL拔号上网不能自动获取DNS。 adsl上网改dns的地方在adsl-start里面
和dhcpd没有关系。 dhcpd = dhcp daemon 可能我的原来的看法有问题
现在怀疑:
ppp interfac的IP分配,以及建立PPP连接的过程中,DNS信息的获取是由PPPD完成的.
这些可能是ppp协议的一部分,并不想我原来想象的PPP只是建立链路层的连接。
和单纯的以太网环境,也就是 ethn interfac 的过程有不一样.
另外对magiclinux中IP地址没有配置正确,ethn接口就不工作的现象也觉的有些奇怪,如果我的网络是非TCP/IP网络环境,如用纯IPX的协议族那该怎么办,(当然netware没落后,这样的网络就几乎不存在了),如果我用纯的IPV6,不用IPV4又该怎么办?
试验完了有结果告诉大家。 ADSL 上网不能获得 DNS 是因为网卡先启动,而且设置了网关,这会导致 ADSL 获取的 DNS 排在第二位,系统仍然会使用网卡设置的网关进行域名解析,但这个网关是无法解析的(没有上级DNS,他自己也没有足够的 cache 数量)。
解决的办法 2 个:
1、不要给网卡设置网关,光设置 IP 和掩码就行了,不要让他使用 DHCP ,你的网络里没有 DHCP 服务器的(网卡直接接猫),就算有,你也不能保证获取的数据不会和 ADSL 拨号冲突。
2、不启动网卡,停用网卡进行拨号。这样的话,DNS 服务器对于系统来说,是没有设置的,ADSL 的 DNS 会自动变为首选的。
又一个不看顶置贴的,没有基础知识的高级人才……………………… 呵呵,jiangtao9999不早出来解惑,大多数的Linux系统如果ADSL拔号设置了DHCP自动获取DNS的话就无法正常拔号。但如果你安装了DHCP服务器,DNS还是可以通过DHCP服务获得,并拔号成功,所以我才会以为Linux系统只带了DHCP代理器,而没有安装DHCP服务器的原因导致无法利用DHCP得到DNS。所以jiangtao9999的说法也可能不正确。
在红旗工作站5上,我曾经无法拔号上网,只有开启了DHCP服务器方能上网,网络这块对我来说是相当陌生的,曾经努力过,但太抽象了。
我现在手头没有安装MGC,要不编译一个DHCP服务器测试一下就知道了。 呵呵,jiangtao9999不早出来解惑,大多数的Linux系统如果ADSL拔号设置了DHCP自动获取DNS的话就无法正常拔号。但如果你安装了DHCP服务器,DNS还是可以通过DHCP服务获得,并拔号成功,所以我才会以为Linux系统只带了DHCP代理器,而没有安装DHCP服务器的原因导致无法利用DHCP得到DNS。所以jiangtao9999的说法也可能不正确。
在红旗工作站5上,我曾经无法拔号上网,只有开启了DHCP服务器方能上网,网络这块对我来说是相当陌生的,曾经努力过,但太抽象了。
我现在手头没有安装MGC,要不编译一个DHCP服务器测试一下就知道了。
看了半天好像明白兄弟在说什么。
DHCP 服务器与在本机上获取 DNS 是没有关系的。DHCP 服务器是 DHCP 服务的提供者,是给其他网上机器提供一个 IP。启动了 dhcpd 就可以监听网络上有没有人提供 DHCP 服务,一般来说,本机上是不用提供一个 DHCP 服务器的。
我们都是 DHCP 服务的使用者,只要启动 dhcpd 就行了 难道dhcpd不是dhcp的守护程序?起动了dhcpd就可以在一个局域网但中充当dhcp server了。想让网卡自动分配到一个IP,应该不用起动dhcpd吧。 dhcpd 就可以监听网络上有没有人提供 DHCP 服务?
不对阿。。dhcpd是提供DHCP服务的。
/sbin/dhclient 才是 监听网络上有没有人提供 DHCP 服务
不过你不做服务器的确不要配 /etc/dhcpd.conf
要配DNS因该加到cat /etc/resolv.conf里,再用chattr +i锁上就ok了 dhcpd是dhcp server
dhcpcd是dhcp client
昨天看到的,今天就用上了.呵呵 dhcpd是dhcp server
dhcpcd是dhcp client
昨天看到的,今天就用上了.呵呵
sorry,各位,是我记错了~~~
应该是 cheaper 说的那样
这几天老是犯错,郁闷啊:oops: dhcp 和 adsl 没关系吧? DHCP也可以顺带传送DNS服务器地址给客户
linux的DHCP客户守护进程是dhcpcd
dhcpcd只通过以太网接口或802.2 Token Ring进行.
[root@206studio ~]# dhcpcd -t 10 ppp0 ;echo $?
1
[root@206studio ~]# tail /var/log/errors.log
Sep 22 22:53:02 206studio dhcpcd[2976]: dhcpStart: interface ppp0 is not Ethernet or 802.2 Token Ring
[root@206studio ~]#
另外我这激活一个ethn接口并不一定非要有有效的IPV4的地址。
# ifconfig eth0
eth0 Link encap:EthernetHWaddr 00:E0:4C:80:7A:8C
UP BROADCAST MULTICASTMTU:1500Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)TX bytes:0 (0.0 b)
Interrupt:19 Base address:0x4000
可以看到eth0是UP但并没有分配IP地址。
我这里,网关是添加到路由表里的,由route添加,跟本没办法作为网络接口的属性进行设置。设置了ethn的网关也不影响PPP0的联接的建立,关键defaule的路由项的设置.
# route | grep default
default * 0.0.0.0 U 0 0 0 ppp0
# route | grep G
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 192.168.0.254 255.255.0.0 UG 0 0 0 eth0
#
我这里:
要联接pppoe 相应的 ethn 必须是UP
PPPOE(8) PPPOE(8)
NAME
pppoe - user-space PPPoE client.
SYNOPSIS
pppd pty 'pppoe '
pppoe -A
DESCRIPTION
pppoeisauser-space client for PPPoE (Point-to-Point Protocol over
Ethernet) for Linux and other UNIX systems. pppoeworksinconcert
withthe pppd PPP daemon to provide a PPP connection over Ethernet, as
is used by many DSL service providers.
OPTIONS
-I interface
The -I option specifies the Ethernet interfacetouse. Under
Linux,itistypically eth0 or eth1.The interface should be
"up" before you start pppoe. 对于我的系统:
今天详细看了 pppoe-connect
发现他是这样进行DNS的设置的:
# Jigger DNS if required...
if test "$DNSTYPE" = "SERVER" ; then
# Sorry, dude...
rm -f /etc/resolv.conf
ln -s /etc/ppp/resolv.conf /etc/resolv.conf
elif test "$DNSTYPE" = "SPECIFY" ; then
# Sorry, dude...
rm -f /etc/resolv.conf
echo "nameserver $DNS1" > /etc/resolv.conf
if test -n "$DNS2" ; then
echo "nameserver $DNS2" >> /etc/resolv.conf
fi
fi
也就是说如果pppoe.conf里面DNSTYPE设定的是SERVER(从服务器获取)
或SPECIFY(在pppoe.conf里指定),建立pppoe联接后都会使原来的静态的DNS设置永久丢失。
这对于笔记本,用时用adsl(在家)有时用 网卡直接连以太网(在单位)很不方便。
不知道magiclinux如何解决这个问题? 还好我不是用xDSL,ML的tips是关闭网卡, pppoe还自动寻找网卡,设置DNS。 我现在用的不是mgc,刻好的mgc的安装盘也被人要走了,想等2.1或3.0再下载ISO,
虽然自己把启动脚本改了,启动时加一个grub菜单项;或修改pppoe的脚本也能解决问题,但总觉得不如mgc的处理办法好。
现在想请有装的帮看一看。
谢谢先。
不需要详细的代码,只要提供一个方法的描述就行.
页:
[1]