linux下的dns设置详解
linux主机域名解析过程
在Linux主机中,域名解析是一个复杂的过程,涉及到多个系统和组件的协同工作。
以下是域名解析的主要步骤:
1.应用程序输入:当用户在应用程序中输入一个域名时,应用程序会将该域
名传递给操作系统进行解析。
2.本地解析:操作系统首先会检查本地的/etc/hosts文件,看是否存在对应
的域名和IP地址的映射关系。
如果存在映射,操作系统直接返回对应的IP 地址。
3.DNS缓存:如果在本地/etc/hosts文件中没有找到对应的映射关系,操作
系统会查询系统中的DNS缓存,看是否之前已经解析过这个域名。
如果缓存中有记录,操作系统直接返回缓存的IP地址。
4.递归查询:如果本地没有找到对应的记录,操作系统会向配置的DNS服务
器发送一个查询请求,进行递归查询。
首先查询根DNS服务器,然后查询顶级域名服务器,最终查询到具体的域名服务器,获取域名的IP地址。
5.响应与缓存:当接收到响应后,操作系统会将解析得到的IP地址和原始域
名一起存入DNS缓存中,以便下次快速查询和使用。
Linux下DNS配置文件详解
Linux下DNS配置文件祥解最近,为了配置DNS服务器我收集了不少有关配置DNS服务器方面的资料。
在这里我将这些资料加上我在配置DNS服务器时的一些经验进行一下整理。
希望能对和我一样在配置DNS服务器时遇到困难的朋友一些启示。
DNS服务器软件即BIND的安装应该说是比较容易的,正常情况下是不会出现什么问题的。
因此,本文在着重要讨论的是DNS服务器的几个配置文件的配置问题。
本文将以REDHA T8.0自带的BIND9.2.1为依据进行讨论。
以下是本人这次配置DNS服务器的几个配置文件:/etc/named.conf/在NAMED.CONF配置文件中使用//和/* */来进行注释,options { /*OPTIONS选项用来定义一些影响整个DNS服务器的环境,如这里的DI RECTORY用来指定在本文件指定的文件的路径,如这里的是将其指定到/var/named 下,在这里你还可以指定端口等等。
不指定则端口是53*/directory "/var/named";}; ////// a caching only nameserver config//controls {inet 127.0.0.1 allow { localhost; } keys { rndckey; };};zone "." IN { //在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区type hint;/*在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是:master:表示定义的是主域名服务器slave :表示定义的是辅助域名服务器hint:表示是互联网中根域名服务器*/file "named.ca"; //用来指定具体存放DNS记录的文件};zone "localhost" IN { //定义一具域名为localhost的正向区域type master;file "localhost.zone" ;allow-update { none; };};zone "" IN { //指定一个域名为的正向区域type master;file "”allow-update { none;};};zone "0.0.127.in-addr.arpa" IN { //定义一个IP为127.0.0.*的反向域区type master;file "named.local";allow-update { none; };};zone "0.192.168.in-addr.arpa" IN { //定义一个IP为168.192.0.*反向域区type master;file "168.192.0";/var/named/文件@ IN SOA . . ( SOA表示授权开始/*上面的IN表示后面的数据使用的是INTERNET标准。
Linux系统修改IP、网关、DNS的命令方法
Linux命令行修改IP、网关、DNS的方法/ e& p- v# ]3 p4 H" A) F+ @方式一:; X4 O( j% Z3 y1 g# Iifconfig eth0 192.168.1.18 netmask 255.255.255.0 ) y& ], i- W& x- h说明:该种方式可以使改变即时生效,重启后会恢复为原来的IP; y T6 ^8 }" J) K: ~, t方式二:6 s, e( [( z- }1 R+ _; `$ G% N( Evi /etc/sysconfig/network-scripts/ifcfg-eth0 - s2 v, @9 Z1 U( y; Y2 Q( X7 d说明:该方式要重启后生效,且是永久的1 y+ ]3 u; q5 t+ w7 C5 L8 M, ~( S如果要立即更改且永久生效,就只能以上两种方式同时使用了。
. ]' p5 m1 c/ c% z1 v以上是通过linux命令行修改IP的方法。
b! D9 }5 ~8 V4 O7 {. C* s- p& u9 x( P网卡eth0 IP修改为102.168.0.1; N# |7 r7 h2 cifconfig eth0 102.168.0.1 netmask 255.255.255.0 8 e' Z2 y$ F- X/ m网关修改为102.168.0.254 . U8 m9 J9 a8 j4 {; c5 N3 Aroute add default gw 102.168.0.2540 U0 I. {6 o: RLinux命令行修改dns* x; t: o; d$ j/ u$ n, f" vecho "nameserver 202.202.202.20 ">> /etc/resolv.conf ! w! z3 Z+ K5 v8 \$ {3 ^重启网络服务4 x4 _1 ~ d; e G3 l( t% j& M: B5 H/ z5 r9 `9 x例子:由原来的DHCP改固定IP1 Y& g' G- g# z$ m$ w: | DEVICE=eth0# {+ R0 L4 o1 r4 H. tHWADDR=00:0C:29:F7:EF:BF1 X, S' y( u0 y" \5 TONBOOT=yes! W3 }+ a( d) u: r" R YTYPE=Ethernet4 k6 `2 ^* y0 i$ w! O" t* I! GNETMASK=255.255.255.0. v6 @( a+ Q+ N/ P* BIPADDR=192.168.0.68$ L3 ~5 b4 g# p6 S1 A: |! s3 |# SGATEW AY=192.168.0.1: e% f: J& ?, w$ L; i, ?8 X% F加上红色即可- ]- Q0 T( H' f3 N: r5 Z, l+ s- k" E: Z+ t重启网卡:7 k* m, W4 g+ z- P$ H0 ^/etc/init.d/network restart6 h6 ]: _4 |# h* n% |+ [/ xifconfig eth0 新ip. |: ^% b3 j* o' y* d$ u! v, U1 Q然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip% ~$ E5 k* b" F7 M4 Y* G; K" B" r. E% _( @' X, l! q& s4 Z1 U! u" ~7 I[aeolus@db1 network-scripts]$ vi ifcfg-eth0 8 C, }& N% t! B; A& n. `) U4 W6 ?0 {6 K* O5 XDEVICE=eth0* Y& V, ?7 B. {# q/ ~8 D/ g b& NONBOOT=yes5 M2 d; |( J' o# N" D( O: NBOOTPROTO=static6 x6 F6 e* b2 p7 {/ cIPADDR=219.136.241.2110 Q2 E( C. u2 B& G' x+ kNETMASK=255.255.255.1284 [! z, n7 }! r# H: O' s; {GATEW AY=219.136.241.254& h7 k. e' F9 B( [2 m4 @$ a' ]4 C$ A% D. k0 _" T( _$ |: ?* J5 I% Q[aeolus@db1 etc]$ vi resolv.conf . n: T6 G1 r" {+ W) u& P0 Q* m! h) h' Qnameserver 202.96.128.68+ ?$ `" A) q7 S. Onameserver 219.136.241.206! X" a" A( G, W. {' F1 B/ p+ y: a: ]6 r# l-----------------------8 C5 r; c0 e: mLinux下修改网卡IP和网关: h) F" Y( \7 e7 M- D) O; D) l4 w; f* R' q" r) q" H6 A$ f |; Y7 b3 s8 g; t% _1 J建议通过终端字符方式下来修改( u* U3 ^0 k7 a4 U* K一修改IP地址5 x2 X. Z& R" Z$ b1 O4 kvi /etc/sysconfig/network-scripts/ifcfg-eth0% j/ Q$ e9 e# i" zDEVICE=eth05 l- X. i8 i# w! |9 eBOOTPROTO=none$ e3 w3 ~& O; Y3 ^% rBROADCAST=192.168.1.2556 V& Y; }( g& c8 N* N6 AIPADDR=192.168.1.33% o, {7 O# k7 ^0 o9 M NETMASK=255.255.255.07 i$ T( e' f8 Q4 [$ ZNETWORK=192.168.1.0# ]5 x* T# `9 Q8 F2 Y. oONBOOT=yes/ h0 A+ u2 [. s* M, ], jUSERCTL=no2 a2 t* i G( a5 q) G: L4 mPEERDNS=no+ t5 J2 n4 X* [, A$ h2 c4 @TYPE=Ethernet4 V6 O$ I6 r z3 o0 L" M1 N~( ^5 G" }; C C$ p( `& `1 F4 D# [$ V9 Q8 `+ c, k7 Gvi /etc/sysconfig/network-scripts/ifcfg-eth1. q) Y9 {' S1 o, E; v! |) B1 ^6 W7 D4 SDEVICE=eth17 z9 Y( F1 Z! a- E1 i6 HONBOOT=yes9 U% A5 t4 C# J @6 R" VBOOTPROTO=none' s; e1 T5 r! W0 h0 CIPADDR=192.168.2.34, O1 p# ]7 _, U5 g/ P4 KNETMASK=255.255.255.09 P% ~* p0 `4 i0 P+ Q% mUSERCTL=no9 S0 f4 s; [& {PEERDNS=no% e, b+ ]& ]0 S2 S+ g) L# E4 DTYPE=Ethernet3 O# r- O3 E9 i* f& e$ U/ Q6 W% ~NETWORK=192.168.2.0! c% `; h; A9 p2 M. D BROADCAST=192.168.2.255- F# z2 p4 d$ G/ x1 O' `! n. \二修改网关* o! @7 Y6 Z {) ?vi /etc/sysconfig/network$ u5 E& l+ p5 H/ ~( K7 K. c/ `# z" J; I! v& YNETWORKING=yes; R0 }+ |* f% F0 H4 B8 SHOSTNAME=Aaron8 Z _' \2 s* ]0 O5 [& pGA TEWAY=192.168.1.1 W, E" S) R7 v5 Rz4 j* ]4 V9 L5 D$ G三重新启动网络配置% E# f% s& n8 T% Y# U+ Y/etc/init.d/network restart- J; g( @% g) @. E0 g' k6 |; i, Y; k/ R" |' R$ N5 \! `( t7 i& r, i( r& }8 _" s, H6 f, C-----------------------------------------------------------------------------------p7 D8 B3 a- D5 Z Z0 T2 W+ j( C" v$ @# A修改配置文件% D/ J1 Q5 ^" k# ]# s' e) s8 y" T2 b, b0 t% x! g# j/etc/sysconfig/network-scripts/ 下有配置文件+ n( s; V, M6 ?& O( {! m- Z4 S' w' c5 {. ?7 o; y比如文件:ifcfg-eth0 代表是以太网实际网卡0的配置文件1 O4 e' X& H# X4 E) x% }+ B; ?8 k y3 I$ p7 _% G& u9 @比如文件:ifcfg-eth0:1 代表是以太网实际网卡0的配置文件: o* z2 e( S; t! k! Y5 K! r% I/ @6 {7 ~8 G+ a' {域名服务器配置文件:/etc/ resolv.conf+ G1 k; \. x3 _2 E) P% @* d7 x1 p, [5 u* K! E( }/ G* p修改ip地址5 F0 Q; y8 E& u$ N' j! b即时生效:: [$ c6 A$ f# `" i9 r# ifconfig eth0 192.168.0.20 netmask 255.255.255.01 r/ P" }3 G( u0 f- L启动生效:1 H K, a$ f8 w @* N修改/etc/sysconfig/network-scripts/ifcfg-eth05 ?! W8 @+ l7 `0 E/ N. F, _/ ]* {* w5 X |# z7 D9 ^9 |; g( h修改default gateway- j' c( o7 _& b! j! @1 o8 q( F即时生效:$ \- r; q6 { g$ k A& _# route add default gw 192.168.0.254' K3 V% @6 y2 | \; a启动生效:2 Q! E6 L D2 ^5 {) {- J修改/etc/sysconfig/network-scripts/ifcfg-eth0 } q, r# |* Q1 ?B8 N! ~! N( q3 f7 V0 g6 v h修改dns: p' a4 I, P& O8 k修改/etc/resolv.conf% x7 L$ X' r, M& W5 |修改后可即时生效,启动同样有效( ~# Z, b* k* A( S: m! f- C: X% B4 A/ e8 U修改host name9 e E$ u/ f& E0 |, @8 |0 p# {即时生效:$ V1 H) e& t9 }+ f P# hostname fc2* e2 n) ]1 L( k启动生效:- d) s ?. N- c2 k: D( r( {修改/etc/sysconfig/network( q7 j* s( O" O1 x- Q$ {/ G$ z+ Z" ~5 W9 k9 f& E( m. a, e! T. F( C2 i7 `# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+% S/ ?- z8 D" }2 RDEVICE=eth0 接口名称" z+ q) |" s8 \9 ?2 @; A9 yBOOTPROTO=none 静态配置,若该值为“dhcp”则为动态获得,另外static也是表示静态ip地址* A2 z9 A! U1 J8 }; FBROADCAST=192.168.10.255 广播地址,通过IP地址和子网掩码自动计算得到# X$ c) H+ {7 W+ lHW ADDR=00:133:27:9F:80: Q' f7 r* U1 v) PIPADDR=192.168.10.2384 F' g8 O5 w' @7 V' [0 vIPV6INIT=yes9 b- q- j, `7 o- ^% p8 u5 n' d* SIPV6_AUTOCONF=yes4 F) m7 E6 Z6 W4 ?& c& H' e NETMASK=255.255.255.0, i8 [$ v% T! F" t& nNETWORK=192.168.10.0 指定网络,通过IP地址和子网掩码自动计算得到+ n) n; t) H% P; O. bONBOOT=yes 开机时自动加载- b4 w `5 ~' B3 w9 t* k; ~GA TEWAY=192.168.10.1" |' H) ]) t5 [) M3 b2 JTYPE=Ethernet8 U9 P* T4 r* K" o* ]; h OPEERDNS=yes) ?. }+ D( M/ s! ^, U% }USERCTL=no. ~' F; V; m, r- N; ?! T( Q4 H- a: f( c3 eifdown eth0 关闭网络6 @* @$ V7 h+ o; G, H& @% Z$ ?ifconfig eth0 down 关闭网络, B) S( j5 O4 o1 I. Z/ {* d( `* ]) V% {7 k% U. A7 {9 k. lifup eth0 开启网络3 m0 F" u# h3 `, Y* Gifconfig eth0 up 开启网络2 y) J0 {5 |# V- e4 y7 n4 c$ N4 d3 d设置dns /etc/resolv.conf 1 K0 J }6 A) H9 O8 e, F3 b: N# J7 {5 xnameserver 61.144.56.1012 p6 G6 P Q. M0 c }6 cnameserver 202.96.128.166 W& V* d( X/ a5 g7 \: S& f1 _- J3 V0 z" U( m8 \3 W0 q[yeger@yeger ~]$ cat /etc/resolv.conf 4 a: R% v& w3 T$ y* o, ]# Generated by NetworkManager# x9 Y g1 g0 F( l4 p/ Fnameserver 202.96.128.86, E% ~, @: f/ d0 B8 nnameserver 202.96.128.1669 e5 \* K2 g' D2 a8 B. J* K" p* E- q2 n其他方面, u. j- A0 R, p8 v8 `service network start //启动网络服务' I3 e# Q, Z; u+ e" b, ` service network stop //停止网络服务/ G# t% |0 S$ j" z. |( K0 |; E) [service network restart //重启网络服务* |3 H1 A; c9 Q K* xservice network status //查看网络服务状态7 y8 R) ?5 B+ m8 b& e3 J# f) L6 s2 X6 | w* v0 ^/ d; R. Pifconfig eth0 192.168.10.222 netmask 255.255.255.0 //临时修改接口IP地址(无需重启接口)3 H7 L# P% W8 j% z0 [& A( P, i% `9 P9 N2 ?' ?) F/ V+ F- v[yeger@yeger ~]$ sudo ifconfig wlan0 192.168.21.199 netmask 255.255.255.0* ~1 Y& p% U( A$ ]3 `9 y- F* L[yeger@yeger ~]$ ifconfig wlan0/ l8 V: H) c$ H% G& t* j0 Swlan0 Link encap:Ethernet HWaddr 00:02:72:77:BB1 ! d1 i' O6 g5 C! [$ }inet addr:192.168.21.199 Bcast:192.168.21.255 Mask:255.255.255.0+ `8 _, R: O% t8 einet6 addr: fe80::202:72ff:fe77:bbd1/64 Scopeink/ h: _* A; j* o% h" u. `6 z) |3 S7 O' zUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1- c6 K' f# t+ S! ? Q2 F1 tRX packets:3246 errors:0 dropped:0 overruns:0 frame:03 N8 n7 k+ l" O2 b* d6 KTX packets:1947 errors:0 dropped:0 overruns:0 carrier:0# _% M' \) \& Y6 Z! E; u' rcollisions:0 txqueuelen:1000 8 ~5 d6 x! E/ P2 M; N& q, Q: m$ T2 ~RX bytes:4514869 (4.3 MiB) TX bytes:177732 (173.5 KiB): O9 W& D8 p/ a, y8 swlan0 表示第一块无线以太网卡' D8 f4 r0 u4 YLink encap 表示该网卡位于OSI物理层(Physical Layer)的名称2 y* g' r( A1 t, OHWaddr 表示网卡的MAC地址(Hardware Address)* G: T: S, z- U( a; oinet addr 表示该网卡在TCP/IP网络中的IP地址! I) ?$ G& D9 i. PBcast 表示广播地址(Broad Address): K2 Y8 p- p% p q9 DMask 表示子网掩码(Subnet Mask)' P) S7 V2 `; D$ Y6 IMTU 表示最大传送单元,不同局域网MTU值不一定相同,对以太网来说,MTU的默认设置是1500个字节8 F! m; x* n& gMetric 表示度量值,通常用于计算路由成本+ U* b/ y3 j/ x: b RX 表示接收的数据包5 ^# `8 p8 {( Q/ n& |' [- @% `( LTX 表示发送的数据包5 x. ^ f! E; m collisions 表示数据包冲突的次数+ Q3 z% ]; a$ M% ?, {txqueuelen 表示传送列队(Transfer Queue)长度+ [- I$ S5 t* `# xinterrupt 表示该网卡的IRQ中断号+ Y5 ^& ^- ~; S' \4 H) N8 b5 i/ {7 \Base address 表示I/O地址; D; m2 P) S4 f7 Z4 m6 O! y8 E! S9 U1 g8 L配置虚拟网卡IP 地址:网卡需要拥有多个IP地址命令格式:ifconfig 网卡名:虚拟网卡ID IP地址netmask 子网掩码c6 n/ o( }# [/ C8 ^0 ]7 F* M( I[yeger@yeger ~]$ sudo ifconfig wlan0:1 192.168.21.188 netmask 255.255.255.0更改网卡MAC 地址K+ B& |% U! M% ~ifconfig 网卡名hw ether MAC地址* I( W8 V+ Q# J+ t$ [[yeger@yeger ~]$ ifconfig wlan0 hw ether 00:11:22:33:44:55. X2 }. S. r' d: V" O& Y% P: R0 f0 X, b' C5 p! XSIOCSIFHWADDR: 不允许的操作3 T) r; F$ j& T. }[yeger@yeger ~]$ sudo ifconfig wlan0 hw ether 00:11:22:33:44:55( v) i2 s4 _2 ~* aSIOCSIFHWADDR: 设备或资源忙0 V6 L( ^& Y- M8 Z3 E- {% y[yeger@yeger ~]$ ifconfig wlan0 down9 J& i9 }9 K5 {' dSIOCSIFFLAGS: 权限不够, P# l$ [9 ?. G1 O6 H0 F6 L; t[yeger@yeger ~]$ sudo ifconfig wlan0 down& f& ~2 D6 }# n6 X5 h[yeger@yeger ~]$ sudo ifconfig wlan0 hw ether 00:11:22:33:44:555 E! A& q0 v; [8 B# d+ z0 b# s更改成功8 T! s1 \5 P0 U3 z; T. n! d5 ^8 ] C; B- o[yeger@yeger ~]$ netstat -ant 查看端口信息a 所有n数字显示t tcp协议u udp协议' g) M" X" z8 g" N) k6 TActive Internet connections (servers and established 已建立连接)0 m1 m4 z, r& V" HProto Recv-Q Send-Q Local Address Foreign Address State $ |* S! a+ h+ l3 u& K+ a" ?# L协议本地地址远程地址连接状态) h) m1 d) l0 I, R类型5 |, [, y" X4 Dtcp 0 0 0.0.0.0:57798 0.0.0.0:* LISTEN listen表示监听状态- N( v5 }0 n* y; A+ @$ [! }2 atcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1 P- N- Q0 k( _ [# Qtcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN - e7 W+ J( F( l) J# rtcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN $ X. v& K7 \* dtcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN & o3 ~ |, d6 I. ^' k( ktcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN " x/ A" P7 V4 T; G# @tcp 0 0 :::111 :::* LISTEN8 P( e$ y$ W$ B- `4 Ttcp 0 0 :::22 :::* LISTEN6 t7 X+ B% t+ \2 ~0 c6 Itcp 0 0 ::1:631 :::* LISTEN' N' F4 T1 Z$ X7 z4 Z4 \" g# r W& \4 k$ ]7 j& T[yeger@yeger ~]$ netstat -r 查看路由表5 ^# N3 ^* W4 r- WKernel IP routing table1 G# T9 @! w* I; A. h2 CDestination Gateway Genmask Flags MSS Window irtt Iface( @0 }+ Q, @! y2 v' o1 L192.168.21.0 * 255.255.255.0 U 0 0 0 wlan0; I9 }1 q& [5 i$ M* f; a3 H192.168.122.0 * 255.255.255.0 U 00 0 virbr0' i/ q" A5 ?' t* n' o; ^) Pdefault 192.168.21.1 0.0.0.0 UG 0 0 0 wlan0- @, ?+ L; J. v! _6 R. |9 P1 m2 T9 s' ~! l[yeger@yeger ~]$ netstat -i 查看网络接口状态: q( a# S) Y6 {: |# ?Kernel Interface table- n6 \; L0 i" eIface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ! |7 O H/ T+ i. R- B: weth0 1500 0 0 0 0 0 0 0 0 0 BMU, ^0 z G- M) V% ?lo 16436 0 230 0 0 0 230 0 0 0 LRU/ L0 F+ F, D. A4 B+ h. ?virbr0 1500 0 0 0 0 0 29 0 0 0 BMRU3 f l2 c4 H3 ywlan0 1500 0 10546 0 0 0 7060 0 0 0 BMRU9 `- u; b) R; E' K' B- ^wmaster0 0 0 0 0 0 0 0 0 0 0 RU0 j) Q4 Z2 G( O5 \4 U, t( v* j8 Q: Y! p[yeger@yeger ~]$MTU 字段:表示最大传输单元,即网络接口传输数据包的最大值。
Linux下搭建DNS服务器和配置文件(named.conf)祥解
Linux下搭建DNS服务器和配置文件(named.conf)祥解配置之前先了解一下bind DNS服务器软件:BIND是一种开源的DNS(Domain Name System)协议的实现,包含对域名的查询和响应所需的所有软件。
它是互联网上最广泛使用的一种DNS服务器,对于类UNIX系统来说,已经成为事实上的标准。
为了构架DNS服务器来解析域名或ip地址,我们得安装BIND和caching-nameserver。
为了TCP和UDP53数据包能通过,我们也有必要配置路由器。
安装 BIND 软件包1、安装# yum -y install bind caching-nameserver2、配置下面的例子是以公网IP(172.16.0.80/29),局域网IP (192.168.0.0/24),域名()作说明。
在配置你自己的服务器时,请使用你自己的IP和域名。
# vim /etc/named.confoptions {directory "/var/named";# query rangeallow-query { localhost; 192.168.0.0/24; };# transfer rangeallow-transfer { localhost; 192.168.0.0/24; };# recursion rangeallow-recursion { localhost; 192.168.0.0/24; };};controls {inet 127.0.0.1 allow { localhost; } keys { rndckey; };};# here is the section for internal informationsvimew "internal" {match-clients {localhost;192.168.0.0/24;};zone "." IN {type hint;file "named.ca";};# set zones for internalzone "" IN {type master;file "n";allow-update { none; };};# set zones for internalzone "0.168.192.in-addr.arpa" IN { type master;file "0.168.192.db";allow-update { none; };};zone "localdomain" IN {type master;file "localdomain.zone";allow-update { none; };};zone "localhost" IN {type master;file "localhost.zone";allow-update { none; };};zone "0.0.127.in-addr.arpa" IN { type master;file "named.local";allow-update { none; };};zone "255.in-addr.arpa" IN { type master;file "named.broadcast";allow-update { none; };};zone "0.in-addr.arpa" IN { type master;file "named.zero";allow-update { none; };};};vimew "external" {match-clients {any;};zone "." IN {type hint;file "named.ca";};# set zones for externalzone "" IN {type master;file ".wan";allow-update { none; };};# set zones for external *notezone "80.0.16.172.in-addr.arpa" IN {type master;file "80.0.16.172.db";allow-update { none; };};};include "/etc/rndc.key";# *note : For How to write for reverse resolvimng, Write network address reversely like below.the case for 192.168.0.0/24network address? 192.168.0.0range of network? 192.168.0.0 - 192.168.0.255how to write? 0.168.192.in-addr.arpacase of 172.16.0.80/29network address? 172.16.0.80range of network? 172.16.0.80 - 172.16.0.87how to write? 80.0.16.172.in-addr.arp设置Zones创建zone文件以便服务器能解析域名IP。
DNS服务器的详细配置
使用BIND搭建DNS服务器详解一、使用rpm包安装BIND时注意事项linux下搭建DNS服务器,安装bind包时所遇错误的解决方法(转载)2011-09-25 17:49在linux下搭建DNS服务器,安装系统时使用的安装镜像与目前使用的镜像不一致,目前的镜像版本较高。
1、挂载光盘进入mnt目录下,建立cdrom目录∙mkdir /mnt/cdrom∙mount -t iso9660 /dev/cdrom /mnt/cdrom2、挂载成功后进入/mnt/cdrom目录下Server目录,ls,可查看rpm文件3、在Server目录下安装搭建DNS服务器所需的bind服务rpm包4、需先安装bind-9.3.6-4.P1.el5.i386.rpm。
rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm安装该包时提示需要先安装bind-libs-9.3.6-4.P1.el5.i386.rpm5、安装rpm -ivh bind-libs-9.3.6-4.P1.el5.i386.rpm时报错,如下所示file /usr/lib/libbind.so.4 form install of bind-libs-9.36.4.P1.el5 conflicts with file from package bind-libs-9.3.3-7.el56、产生错误原因,是因为,目前光驱中的镜像比安装linux操作系统时版本高的原因?而目前系统中已经安装了 bind-libs...包,而现在又需要安装,因此引起了冲突。
那如何解决第5步中出现的问题呢?7、卸载目前系统已安装的bind-libs包查看目前系统中安装了那些的bind服务包rpm -qa|grep bind可以看到安装了bind-libs包卸载已安装的bind-libs包8、此时在运行安装rpm -ivh bind-libs-9.3.6-4.P1.el5.i386.rpm,则顺利安装9、然后再安装rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm则也成功安装二、使用yum安装时应注意的事项当我们的服务器已经连上互联网,我就可以使用yum直接安装我们所需要的安装包,yum工具给我带来很大的帮助。
linux下dns配置详解
linux下dns配置详解dns配置详解大全DNS简介在Linux中,域名服务(DNS)是由柏克莱网间名域(Berkeley Internet Name Domain——BIND)软件实现的。
BIND是一个客户/服务系统,它的客户方面称为转换程序(resolver),它产生域名信息的查询,将这类信息发送给服务器,DNS软件回答转换程序的查询。
BIND的服务方面是一个称为named (读作“name”“d”)的守护进程。
我们将讨论三种基本BIND配置任务:配置BIND转换程序。
配置BIND域名服务。
建立服务器数据库文件,称为“区文件(zone file)。
前面我们介绍过,术语“区(zone)”往往可以与单词“域(domain)”互换使用,但这里却有一些区别,“区”是指域数据库文件,而“域”则比较通用。
在本书中,域是用域名定义的域结构中的一部分,而区则是域数据库文件中包含域信息的集合,包含域信息的文件称为“区文件”。
DNS的作用是把IP地址转化为代表主机、网络和邮件别名的助记名。
它把整个Internet IP地址和名字空间分解为不同的逻辑组来做这项工作。
每个组对它所拥有的计算机和其他信息具有控制权。
DNS服务器的类型BIND可以配置成以几种不同的方法运行的DNS,常见的BIND配置是唯转换程序系统、唯高速缓存系统、主服务器和辅助服务器。
转换程序是一段要求域名服务器提供域信息的程序,在Linux系统中,它是作为一个库程序来实现的,不是一个单独的客户程序。
在唯转换程序系统中,仅使用转换程序,并不运行域名服务器。
这种系统是很容易配置的,最多只需要设置/etc/resolv.conf文件。
其它三个BIND配置选项都是用于named服务软件的。
唯高速缓存服务器唯高速缓存服务器(caching-only server)可运行域名服务器软件但是没有域名数据库软件。
它从某个远程服务器取得每次域名服务器查询的回答,一旦取得一个答案,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。
Linux下DNS配置方案
Linux下DNS服务器的配置1,安装DNS服务器安装DNS服务器Red Hat Linux 9 自带有版本号为9.2.1的BIND(即目前使用最广泛的域名服务器软件)。
在Red Hat Linux 9的第1张安装光盘中提供了与BIND服务相关的两个rpm包,bind-9.2.1-16.i386.rpm和bind-utils-9.2.1-16.i386.rpm。
另外一个相关的软件包caching-nameserver-7.2-7.noarch.rpm在第2张安装盘上。
1. 检查系统是否已安装了BIND软件包方法:rpm -q bind图1-1 检查BIND软件包是否已安装通过输出bind-9.2.1-16,说明当前系统已经安装了该软件包。
此外,还可检查BIND的样本配置文件(/etc/named.conf)和根域文件(/var/named/named.ca)是否存在,来判断BIND软件包的安装与否。
2. 安装BIND软件包如果BIND软件包并未安装,则用下述命令进行安装。
(注意,执行下述命令时要先将目录切换到rpm包所在的目录下)rpm -ivh bind-9.2.1-16.i386.rpmrpm -ivh bind-utils-9.2.1-16.i386.rpmrpm -ivh caching-nameserver-7.2-7.noarch.rpm图1-2 切换到BIND软件包所在的目录图1-3 安装BIND软件包BIND软件包安装后,还将创建名为named的用户和用户组,并自动设置相关目录的权属关系。
named守护进程默认使用named用户身份运行。
可以在passwd和group文件中查看named用户和用户组。
也可以看到DNS工作目录/var/named和/var/run/named目录的所有者和权限。
图1-4 查看named用户和用户组1.2.2配置DNS服务器BIND的配置文件包括:主配置文件/etc/named.conf,根域文件/var/named/named.ca,正向解析文件/var/named/localhost.zone,反向解析文件/var/named/named.loca,用于管理BIND守护进程的rndc程序的配置文件/etc/rndc.conf,用户自定义正向区域文件和用户自定义反向区域文件。
linux下ifconfig, DNS以及route配置
linux下ifconfig, DNS以及route配置分类: Linux技术应用 2010-02-03 09:09 3206人阅读评论(0) 收藏举报原文:/201/archive/2009/08/20/60887.html熟悉使用ifconfig 会非常方便。
ifconfig eth0 新ip然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip一、修改IP地址[aeolus@db1 network-scripts]$ vi ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=219.136.241.211NETMASK=255.255.255.128GATEWAY=219.136.241.254二、修改网关vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=AaronGATEWAY=192.168.1.1三、修改DNS[aeolus@db1 etc]$ vi resolv.confnameserver 202.96.128.68nameserver 219.136.241.206四、重新启动网络配置/etc/init.d/network restart修改ip地址即时生效:# ifconfig eth0 192.168.0.20 netmask 255.255.255.0启动生效:修改/etc/sysconfig/network-scripts/ifcfg-eth0修改default gateway即时生效:# route add default gw 192.168.0.254启动生效:修改/etc/sysconfig/network-scripts/ifcfg-eth0修改dns修改/etc/resolv.conf修改后可即时生效,启动同样有效修改host name即时生效:# hostname fc2启动生效:修改/etc/sysconfig/network一。
中标麒麟Linux系统DNS服务配置指南
正向查询
•dig
–首先试图递归,如输出中的 flags (标志)部分用 rd 表 示。如果名称服务器允许递归,那么服务器就会找到 答案,将请求的记录返回给客户端 –如果名称服务器不允许递归,那么服务器就推荐一个 dig 可以跟踪的上级域名 –观察
SOA rdata
•主名称服务器的 FQDN
–联系邮件地址 –系列号码 –在检查系列号码前刷新延迟时间 –从服务器的重试间隔 –当从服务器无法联系它的主服务器时,记录会过期 –否定性答复 (“no such host”,) 的 TTL 最小值
成为权威性服务器
•SOA 记录仅仅指出始发地址 (域) 的主服务器
其它观察结果
•在前一个跟踪中的答复使用资源记录 (resource records) 格式
–每个资源记录都有五个字段:
•domain - 被查询的域或子域 •ttl - 记录被保存在缓存中的时间,以秒为单位 •class - 记录类别 (通常是 IN) •type - 记录类型,例如A 或 NS •rdata - domain 映射的资源数据
•hosts: files dns •NIS 域名和 DNS 域名通常有所不同,这样会简化故障排 除,避免名称冲突
DNS 特有的解析程序
•host
–从不读取 /etc/nsswitch.conf 文件 –默认情况是在 /etc/resolv.conf 中查找 nameserver 和 search 行 –默认仅给出最少量的输出
LINUX在防火墙环境下DNS的安装与设置
经过几天的研究BIND,终于解决了我们单位的DNS问题。
在一般防火墙下,都是采用DMZ区内放服务器,外部访问DMZ区得到外部的IP,内部访问DMZ区时得到内部的IP。
如一个,内部IP地址<--->放在DMZ的web服务器的IP<----->外部IP地址从DNS上可以从以下四个方面解决:一.iptables应用1. 核心思想配置动态DNS服务器的核心思想是:在DNS服务器上运行多个BIND,每个BIND为来自不同区域的用户提供解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口。
在接到客户端DNS请求时,根据客户的ip地址将请求重定向不同的BIND 服务端口。
BIND响应时,再改写相应包的服务端口为标准的53端口。
这样就可以根据客户端的ip地址将不同的解析结果返回给客户端。
整个过程对于客户端来说都是透明的。
实现的关键在于运行不同的BIND及运用iptables进行ip地址及端口改写操作。
2 配置过程步骤1:配置内核netfilter要求内核版本不低于2.3.5,在编译新内核时,要求选择和netfilter相关的项目。
这些项目通常都是位于"Networking options"子项下。
以,我们应该选中的项目有:•Kernel/User netlink socket[ ] Routing messages<*>; Netlink device emulation•Network packet filtering (replaces ipchains).......然后,在"IP: Netfilter Configuration ---->;"选中:Connection tracking (required for masq/NAT)FTP protocol supportIP tables support (required for filtering/masq/NAT)limit match supportMAC address match supportNetfilter MARK match supportMultiple port match supportTOS match supportConnection state match supportPacket filteringREJECT target supportFull NATMASQUERADE target supportREDIRECT target supportPacket manglingTOS target supportMARK target supportLOG target supportipchains (2.2-style) supportipfwadm (2.0-style) support其中最后两个项目可以不选,但是如果你比较怀念ipchains或者ipfwadm,你也可以将其选中,以便在2.4内核中使用ipchians或ipfwadm。
linux dns 配置文件
通常Linux初学者会问:Linux 中有没有一个标准的配置文件格式?一句话,没有。
不熟悉Linux 的用户一定会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。
在Linux 中,每个网管员都可以自由选择自己喜欢的配置文件格式。
DNS就是Domain Name System,DNS服务器可以分为三种,高速存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。
DNS的详细原理、工作流程、术语、概念,限于篇幅,这里就不说了。
一、Linux 下主要DNS配置文件Linux 下主要DNS配置文件见表一、二、三:表-1 DNS主要配置文件文件名称中文名称作用/etc/hosts 主机的一个列表文件包含(本地网络中)已知主机的一个列表。
如果系统的IP不是动态生成,就可以使用它。
对于简单的主机名解析(点分表示法),在请求DNS或NIS网络名称服务器之前,/etc/hosts.conf通常会告诉解析程序先查看这里。
/etc/host.conf 转化程序控制文件告诉网络域名服务器如何查找主机名。
(通常是/etc/hosts,然后就是名称服务器;可通过netconf对其进行更改)/etc/resolv.conf 转化程序配置文件在配置程序请求BIND域名查询服务查询主机名称时必须告诉程序使用那个域名服务器和IP地址来完成这个任务。
Linux上的域名服务由named守护进程控制,该进程从主文件:/etc/named.conf中获取信息。
它包括一族将主机名称映射为IP地址的各种文件:下面是named配置文件族详细内容。
表-2 named配置文件族名称中文名作用/etc/named.conf主文件设置一般的name参数,指向该服务器使用的域数据库的信息源/var/named/named.ca 根域名配置服务器指向文件指向根域名配置服务器,用于唯告诉缓存服务器初始化。
LINUX系统的服务器的DNS相关配置
运行环境redhat 9.0 ,IP地址172.18.121.35,实现的域名为1.安装DNS所要的软件包.查看是否安装bind软件,在终端中输入代码如下:[root@localhost root]# rpm -qa|grep bindredhat-config-bind-1.9.0-13bind-9.2.1-16bind-utils-9.2.1-16ypbind-1.11-4若出现以上的文字则表示安装成功,若没有出现以上东西插入正确的光盘,进行安装.或者通过下载源代码进行安装。
2.设定好IP地址与DNS在终端中输入netconfig,回车,在第一行中输入IP,172.18.121.35.第二行输入子网掩码255.255.255.0第三行输入网关地址:172.18.121.1,最后一行输入DNS 172.18.121.35.再确定.再在终端中输入下面的命令代码如下:[root@localhost root]#service network reload[root@localhost root]#service network restart通过ifconfig查看IP信息3.配置DNS配置DNS正向搜索,配置文件如下:代码如下:[root@localhost root]#cp /var/named/localhost.zone /var/named/代码如下:[root@localhost root]# vi /var/named/$TTL 86400$ORIGIN .@ 1D IN SOA . . (42 ; serial (d. adams)3H ; refresh15M ; retry1W ; expiry1D ) ; minimum1D IN NS @1D IN MX 5 .www 1D IN A 172.18.121.35mail 1D IN A 172.18.121.35ftp 1D IN A 172.18.121.35pop3 IN CNAME .smtp IN CNAME .保存退出,先按ESC ,再:wq.配置DNS正向搜索,配置文件如下:代码如下:[root@localhost root]#cp /var/named/named.local /var/named/172.18.121.rev代码如下:[root@localhost root]# vi /var/named/172.18.121.rev$TTL 86400@ IN SOA . . (1997022700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Expire86400 ) ; MinimumIN NS .< p;35 IN PTR .35 IN PTR .35 IN PTR .配置本机DNS的一个主文件,安装好后它有一个模板,修改它,修改的部分是粗线表示代码如下:[root@localhost root]# vi /etc/named.conf// generated by named-bootconf.ploptions {directory /var/named;/** If there is a firewall between you and nameservers you want* to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked* questions using port 53, but BIND 8.1 uses an unprivileged * port by default.*/// query-source address * port 53;};//// a caching only nameserver config//controls {inet 127.0.0.1 allow { localhost; } keys { rndckey; };};zone . IN {type hint;file named.ca;};zone localhost IN {type master;file localhost.zone;allow-update { none; };};zone 0.0.127.in-addr.arpa IN {type master;file named.local;allow-update { none; };};zone IN{type master;file ;};zone 121.18.172.in-addr.arpaIN{type master;file 172.18.121.rev;};include /etc/rndc.key;/etc/named.conf [已转换] 45L, 894C配置本机的域名转换程序的顺序代码如下:[root@localhost root]# vi /etc/host.conf order bind,hostsmulti offtrim [root@localhost root]# vi /etc/resolv.confnameserver 218.196.42.2namedsever 218.196.42.2domain search option nochecknames rotate4.启动named服务.代码如下:[root@localhost root]#service named start5.检查配置是否成功代码如下:[root@localhost root]# nslookupNote: nslookup is deprecated and may be removed from future releases. Consider using the `dig' or `host' programs instead. Run nslookup with the `-sil[ent]' option to prevent this message from appearing.; Server: 172.18.121.35Address: 172.18.121.35#53Name: Address: 172.18.121.35; 172.18.121.35Server: 172.18.121.3535.121.18.172.in-addr.arpa name = .35.121.18.172.in-addr.arpa name = .35.121.18.172.in-addr.arpa name = .;ctrl +D退出若出现上面的情况的文字表示已经配置成功.6.其实在配置的过程中,查看自己是否配置正确可以通过named –g 进行查看你的配置文件到底错在那个地方,再进行修改PS:DNS相关配置文件说明. /etc/host.conf当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序。
Linux系统网络配置教程
Linux系统网络配置教程一、引言在现代信息技术时代,网络已经成为我们生活和工作中不可或缺的一部分。
而对于使用Linux操作系统的用户来说,正确配置网络是十分重要的。
本章将介绍Linux系统网络配置的基本步骤和常见问题解决方法。
二、网络配置概述网络配置是指将计算机与网络相连,并配置正确的网络参数,以实现与其他计算机之间的通信。
Linux系统的网络配置可分为两个方面,即物理连接和逻辑配置。
2.1 物理连接物理连接是指将计算机与网络相连的操作。
首先要确保计算机已经正确连接到局域网或因特网。
如果是有线连接,需要插入以太网线到计算机的网卡插槽和路由器的网络接口;如果是无线连接,需要确保无线网卡已经连接到正确的无线网络。
2.2 逻辑配置逻辑配置是指在物理连接完成后,需要对计算机进行相应的软件设置,以使其能够正确地与其他网络设备进行通信。
逻辑配置的主要内容包括IP地址的配置、网关的配置、DNS的配置以及防火墙的配置等。
三、IP地址配置IP地址是互联网中用于标识和定位计算机的一种地址。
在Linux系统中,可以通过以下两种方式来配置IP地址:3.1 动态IP地址配置动态IP地址配置是指使用DHCP服务器为计算机分配IP地址的方式。
DHCP是一种网络协议,它可以自动为计算机分配IP地址和其他网络配置信息。
要使用动态IP地址配置,在终端中输入以下命令:```shellsudo dhclient eth0```其中,eth0是计算机的网卡接口名,根据实际情况进行相应更改。
3.2 静态IP地址配置静态IP地址配置是指手动为计算机分配一个固定的IP地址。
这种方式适用于需要长期使用特定IP地址的情况。
要进行静态IP 地址配置,需要编辑网络配置文件。
在终端中输入以下命令:```shellsudo nano /etc/network/interfaces```在文件中添加以下配置信息:```shellauto eth0iface eth0 inet staticaddress 192.168.0.100netmask 255.255.255.0gateway 192.168.0.1```其中,eth0是计算机的网卡接口名,address是计算机的IP地址,netmask是子网掩码,gateway是网关地址。
Linux下源代码编译bind9.6安装和配置DNS服务器
Linux下源代码编译bind9.6安装和配置DNS服务器Linux下源代码编译bind9.6安装和配置DNS服务器/products/BIND/ 下载bind最新bind-9.6.1rc1.tar.gz#./configure --prefix=/usr/local/named --enable-threads #--enable-threads开启多线程处理能力#make#make install#cd /var/named这是bsd的一个简单配置文件:options {directory "/var/named";#我去哪找解析文件pid-file "/var/run/named/pid";进程文件放这吧dump-file "/var/dump/named_dump.db";statistics-file "/var/stats/named.stats";listen-on { 192.168.0.83; };监听notify yes;logging {channelquery_log {file "query.log";日志名severity info;级别和syslog差不多的那种print-time yes;print-category yes;};category queries {#分类Once a customized channel has been defined, a category option is used to categorize the channel and begin logging when named is restartedquery_log;};};forwarders {221.228.255.1;159.226.5.65;};#我解析不了就给他};include "acl.conf";view "test" {match-clients {xxx; }; #在acl.conf中定义recursion no;zone "." {type hint;file "named.root"; #dig >named.root或者这下:ftp:///domain/};全球的根域名服务器zone "0.0.127.IN-ADDR.ARPA" {type master;file "localhost.rev"; #sh make-localhost或:$TTL 86400 @ IN SOA @ root.localhost (1 ; serial28800 ; refresh 告诉某个区的辅域名服务器相隔多久检查该区的数据是否是最新的7200 ; retry 如果辅域名服务器超过刷新时间后无法访问主域名服务器那么就每隔一段重试时间就试着联系一次,重试时间通常比刷新时间要短604800 ; expire 如果期满时间内辅助域名服务器还是无法与主域名服务器联系上那么就宣布这个区失效,停止关于该区的任何查询应答86400 ; ttl否定缓存ttl值)官方推荐:刷新:24小时重试2小时期满30天默认ttl 4天IN NS localhost.@ IN A 127.0.0.1};zone ""{type master;file "fashionfree.fwd";};#zone "0.168.192.in-addr.arpa" {# type master;# file "master/test75.rev";#};使用rndc-confgen>rndc.conf生成key文件然后通过tail -n10 rndc.conf | head -n9 | sed -e s/#\ //g >>named.conf将key文件写入name.confkey "rndc-key" {algorithm hmac-md5;secret "YMVkQroow6D4rYGffjOkQw==";};controls {inet 127.0.0.1/* port 953allow { 127.0.0.1/any; } keys { "rndc-key"; };};这决定rndc用户要用什么加密密钥来验证身份才能给域名服务器发送控制消息rndc是bind 软件引进的远程控制通道,代替unix信号来控制named 进程,可以用来对配置进行重新载入#named -c named.confnotify — Controls whether named notifies the slave servers when a zone is updated. It accepts the following options:yes — Notifies slave servers.no — Does not notify slave servers.explicit — Only notifies slave servers specified in an also-notify list within a zone statement.allow-update — Specifies the hosts that are allowed to dynamically update information in their zone. The default is to deny all dynamic update requests.acl.conf:acl "CNC" {58.16.0.0/16;xx.xx.xx.xx/xx;}allow-recursion设定哪台主机可以进行递归查询。
Linux下配置DNS服务和ftp服务器
配置DNS服务一.DNS简介1.IP地址和主机名的转换方法主机名便于记忆类UNIX中有3种技术来实现主机名到IP地址的转换host解析:主要指本地/etc/host 例192.168.88.57 ping 在一个大型网络中Hosts文件较繁琐而又复杂,在DNS中起备份作用NIS,NetWork Information System网络信息服务系统,NIS将所有主机数据都保存在中央主机上,由中央主机将所需数据分配给所有的服务器,简单数据库适用于像局域网这样的中型网络DNS,Domain Name system它使用一种层次的树型结构的分布式数据库来处理Internet上的主机和IP地址的转换2.DNS 的组成:DNS是基于C/S模型设计的,每个服务器包含指向其他域名服务器的信息,DNS包括3个部分域名空间:标识一组主机并提供他的有关信息的树结构的详细说明,树上的每一个结点都有其控制下的主机的有关信息的数据库域名服务器:保持和维护域名空间中数据的程序,一个域名服务器拥有其控制范围(区域)内的完整信息解析器:解析器是简单的程序或子程序库,它从服务器中提取信息以获得对域名空间中主机的查询,用于DNS客户3.域名注册:例当子网需连接Internet并且需要由自己管理这个域时,InterNIC 会把相应信息放进.com域的服务器上,使其传播,DNS服务器周期性和其他DNS服务器上的各种数据库同步,并检查其他服务器上的新表项,一个新的域名大约会在3~4天完成传播二.DNS域名空间的分层结构FQDN(Full Qualified Domain Name),域名是层次的,位于右边,左边是主机名,"域"是DNS域名空间的基本单位1.根域(Root Domain):全世界的IP地址和DNS域名空间都是由位于美国的InterNIC负责管理或进行授权管理,全世界共有13台根域服务器,根域服务器中只保存着顶级域的DNS 服务器和IP地址的对应数据,根域是默认的不需要表示出来2.顶级域(top-level domain,TLD):顶级域由InterNIC统一管理,数目有限且不能轻易变动.顶级域有两种划分:地理域和机构域只包括顶级的服务器和IP地址负责解析顶级域的IP地址。
中标麒麟Linux系统DNS服务配置指南
到服务器的过渡
•中标麒麟 Linux 使用 BIND (Berkely Internet Name Domain,伯克利互联网域名)
–BIND 是互联网上使用最广泛的 DNS 服务器 –在一个稳定可靠的体系上建构域名和 IP 地址关联 –对 DNS RFC 的参考实现 –在 chroot 环境下运行
主机名解析
•某些名称服务提供将主机名转换成计算机能够用来沟 通的低级地址的机制
–例如:名称 --> MAC 地址 (链接层) –例如:名称 --> IP 地址 (网络层) --> MAC 地址 (链接层)
•常用主机名称服务
–文件 (/etc/hosts 和 /etc/sysconfig/network) –DNS –NIS –多重客户端解析程序: –“stub” (占位程序) –dig –host –nslookup
配置 Stub 解析程序
•在名称服务器上:
–编辑 /etc/resolv.conf 来指定 nameserver 127.0.0.1 –编辑 /etc/sysconfig/network-scripts/ifcfg-* 来指定 PEERDNS=no –优点:
•确保所有应用程序查询的一致性 •简化访问控制和故障排除
•dig
–从不读取 /etc/nsswitch.conf 文件 –默认情况是在 /etc/resolv.conf 文件中只查找 nameserver 行 –输出是 RFC 标准的区块文件格式。该格式被 DNS 服务器使用,从而使 dig对查看 DNS 解析情况特别有 用
使用 dig 来跟踪 DNS 查询
–除了 /etc/resolv.conf 以外,不具特权的用户还可以 在哪里看到 DHhroot 软件包
linux下DNS设置以及解析顺序
如果修改hosts文件后发现发现解析到的ip没有改变可以首先查看etcnsswitchconf文件确定优先解析的是hosts文件即hosts
linux下 DNS设置以及解析顺序
1、编辑/etc/resolv.conf文件,添加如下语句: nameserver dns_ip(例如nameserver 8.8.8.8) 2、如/etc/nsswitch.conf中未包含启用DNS的设置将不能正常解析域名,在host一行中增加dns,如:hosts: files dns
防火墙DNS配置详解(有图)
Linux服务器配置一、网卡配置Linux配置网络有两种方法:做好人力资源,企业无忧(1)鼠标配置:系统——首选项——网络连接——编辑——IPV4设置为自动——配置IP地址,例Ipaddress 202.206.90.129 NETMASK 255.255.255.0 GW 202.206.90.4DNS 202.206.80.33(2)用命令配置:按住Ctrl+Alt+F2进入命令编辑模式,键入以下代码:——cd /etc/sysconfig/network-scripts——vi ifcfg-eth0配置:ipaddress:202.206.90.129Netmask:255.255.255.0Gw: 202.206.90.4Dns: 202.206.80.33退出并保存(ESC+:+wq)二、DNS服务器网卡设置好后,可以访问校园网了,接着配置DNS服务器在命令行下:输入以下命令1、创建挂载点文件夹mkdir rong2、将文件挂起,以便安装包的使用mount /dev/cdrom rong3、进到rong里找到Packages服务安装包cd rong/Packages4、查看服务的安装情况,当前情况下是没有安装的ls –q dns5、找到安装包并进行安装ls bind*.*rmp –ivh bind-9.7.8-5.P2.e16.i686.rpm6、启动服务service named start三、对安装上的服务做配置1、对named.conf 文件编辑cd /etc vi named.conf2、对resolv.conf 文件编辑vi /etc/resolv.conf3、对正向区域文件name.rong 和反向区域文件name.ma 编辑4、重启服务测试service network restart和service named restart四、服务做好之后,把本地计算机上的DNS指向虚拟机里服务器的IP地址即202.206.90.1297、安装dns服务rmp –ivh bind-9.7.8-5.P2.e16.i686.rpm8、启动DNS服务service named start9、在ETC下找到named.conf文件并编辑(原文件与编辑后的文件)把默认IP地址该为虚拟机里的IP地址,允许的查询该为Any,再新建一个正向区域和一个反向区域保存并退出ESC + : +X!10、进入ETC 里编辑resolv.conf 文件11、反向测试12、建立反向区域13、编辑反向区域cd /var/nameVi name.ma。
DNSPODLinux动态IPdns客户端折腾乐园
DNSPODLinux动态IPdns客户端折腾乐园大家都知道ipv4 ip地址是稀缺的资源,我们家用的宽带一般都没有固定的IP,每隔一段时间IP地址又变了。
如果你想使用家用电脑来架建网站或其它web服务,你得时不时去更新域名绑定的IP(这里说当然是顶级域名了),不然过一会域名就解析不到正确的主机了。
在网上找了相关的教程,发现dnspod的dns解析服务可以解决此问题,参照dnspod的API自己写一个LINUX脚本,再配合cron定时任务来实现定时更新动态IP到dnspod解析服务器。
脚本在ubuntu,openwrt和centos上测试正常。
该脚本功能比较单一,只能更新一个主域名,如果需要更多的功能请参考另外一个dnspod脚本1.首先申请一个免费的dnspod帐号,添加一条记录,记录类型选A,记录值随便填个IP。
2.然后下载附件代码解压到~/bin或/usr/bin/下面,命名为dnspod并加上可执行权限3.在终端输入dnspod就可以进入初始配置,依次输入dnspod注册邮箱,登录密码,子域名(最好选@),和主域名。
也可以手动在~/下面创建一个名为.dnspodrc的配置文件,按照下面的格式手动输入以上的信息:email=********************password=secure password protection (为了不让你的密码赤裸裸的出现在文本中,真实密码两边加上了不相关的字母,把password 替换成你的密码就好了)subdomain=@domain=4.使用cron定时任务每二十分钟更新一次IP crontab -e×/20 × × × × /path/to/dnspod代码:#!/bin/sh#Authored by Benson Huang#More details at#for openwrt only. source the path variable set in /etc/profile is_openwrt=`uname -a | grep -o OpenWrt`if [ $is_openwrt ] && [ -f /etc/profile ]then. /etc/profilefi#import dnspod configuration file(DNSPOD login credentials, domain,subdomain,domain_id and record_id).T o prevent the passord visible to anyone who stumble across this file, the password is obscured using a string of meaningless letters and numbers.if [ -f ~/.dnspodrc ]then. ~/.dnspodrcelseread-p"email:(*****************)"emailread -p "password:" passwordread -p "sub_domain name:(e.g @, www, ftp, etc)" subdomainread -p "main domain: (e.g )" domainecho "$email" | sed 's/.*@.*\.com/email=&/' > ~/.dnspodrc echo "$password" | sed 's/.*/password=secure&protection/' >> ~/.dnspodrc echo "$subdomain" | sed 's/.*/subdomain=&/' >> ~/.dnspodrcecho "$domain" | sed 's/.*/domain=&/' >> ~/.dnspodrcfi#parse password from ~/.dnspodrc.password=$(sed -n '/password/{s/secure//s/protection//s/password=//p}' ~/.dnspodrc)pub_ip_addr=$(curl -s | sed -n 's/.*: \([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/p') #get the current public IP addresscert_file="/etc/ssl/cacert.pem" #specify the certificate file pathdns_url="" #DNSPOD API URLdata="login_email=$email&login_password=$password&fo rmat=json&lang=en&" #assign login credentials and other parameters to the variable dataupload_data () {curl -s -k -A "dnspod" -d $data$2 $dns_url/$1}# if domain_id and record_id have already been set in ~/.dnspodrc, the following codes will be skippedexist_id=`grep -o 'domain_id=[0-9]*' ~/.dnspodrc`if [ -z "$exist_id" ]thendomain_id=`upload_data domain=$domain | sed -rn 's/.*("domain":\{.[^}]+\}).*/\1/g;s/.*"id":"([0-9]+)".*/\1/p'` record_id=$(upload_data Record.List "domain_id=$domain_id" | sed -rn "s/.*(\"records\":\[.[^]]+\]).*/\1/g;s/.*\{\"id\":\"([0-9]+)\",\"name\":\"@\".*\"type\":\"A\".*/\1/p")cat >> ~/.dnspodrc domain_id=$domain_idrecord_id=$record_idEOFfi#update dns recordupload_data Record.Modify "domain_id=$domain_id&record_id=$record_id&record_type= A&record_line=默认&ttl=600&value=$pub_ip_addr"注意:复制代码时要保证保存的文件能正确显示‘默认’这个中文值,不然会出现record value invalid的错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux下的dns设置详解
①简介
DNS就是Domain Name System,它能够把形如这样的域名转换为211.152.50.35这样的IP地址;没有DNS,浏览这个网站时,就必须用211.152.50.35这么难记的数字来访问。
提供DNS服务的就是DNS服务器。
DNS 服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。
DNS的详细原理、工作流程、术语、概念,限于篇幅,这里就不说了。
可以阅读专门的文章,如DNS-HOWTO加以了解。
②配置主DNS服务器
首先我们做以下假设:A服务器为的主域名服务器,其IP地址为11.0.0.1,B服务器为的辅助域名服务器,其IP地址为11.0.0.2;
下面我们配置服务器11.0.0.1为的主DNS服务器
Linux下的dns功能是通过bind软件实现的。
bind软件安装后,会产生几个固有文件,分为两类,一类是配置文件在/etc目录下,一类是dns记录文件在/var/named目录下。
加上其他相关文件,共同设置dns服务器。
下面是所有和dns设置相关文件的列表与说明。
位于/etc目录下的有:hosts,host.conf,resolv.conf,named.boot,named.conf。
1、“hosts”文件,定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名。
内容:
127.0.0.1 localhost.localdomain localhost
2、“host.conf”文件[Boban注:原来误写成hosts.conf],"order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。
“multi on”则是允许一个主机名对应多个ip地址。
内容:
order hosts, bind
multi on
nospoof on
3、“resolv.conf”文件,“nameserver 10.0.0.211”指定了dns服务器的地址。
注意,这个文件对普通非dns服务器的电脑(非windows的系统;Windows系统是在“网络属性”中设置这项的)来说,是必不可少的。
你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。
你可以最多写上三个地址,作为前一个失败时的候选dns服务器。
“domain ”指定默认的域。
文件内容:
domain
nameserver 11.0.0.1
4、“named.boot”文件是早期版本的bind软件使用的配置文件,现在新版本中已经让位于“named.conf”。
named.conf是dns server配置的核心文件。
下面
我们一段一段的来解说。
# named.conf - configuration for bind
#
# Generated automatically by bindconf, alchemist et al.
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
include "/etc/rndc.key";options {
directory "/var/named/";
};
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa.zone";
};
zone "localhost" {
type master;
file "localhost.zone";
};
zone "" {
type master;
notify yes;
file "";
};
上文中#为注释符号,其他各行含义如下:
diretory /var/named
指定named从 /var/named 目录下读取DNS数据文件,这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下;
zone "." {
type hint;
file "named.ca";
};
指定named从 named.ca 文件中获得Internet的顶层“根”服务器地址。
zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa.zone";
};
指定named作为127.0.0网段地址转换主服务器,named.local文件中包含了127.0.0.*形式的地址到域名的转换数据(127.0.0网段地址是局域网接口的内部 loopback地址);
zone "localhost" {
type master;
file "localhost.zone";
};
指定包含localhost的DNS文件数据存放在/var/named/localhost.zone中;
zone "" {
type master;
notify yes;
file ".zone";
};
以上语句表明域的DNS数据存放在/var/named/目录下的.zone中;
我们可以用文本编辑器打开/var/named/.zone,其内容如下:
$TTL 86400 @ IN SOA @ root.localhost (
2 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)
@ IN NS localhost
www IN A 11.0.0.233
www2 IN A 11.0.0.23
forum IN A 11.0.0.10
@ IN MX 5 .
该文件的前部分是相应的参数设置,此部分不需要改动,后面的部分就是具体的DNS数据;
例如:
www IN A 11.0.0.233
将 解析到地址11.0.0.233;
www2 IN A 11.0.0.23
将 解析到地址11.0.0.23;
forum IN A 11.0.0.10
将 解析到地址11.0.0.10;
③配置辅助DNS服务器
配置服务器11.0.0.2为辅助dns服务器
辅助DNS服务器,可从主服务器中转移一整套域信息。
区文件是从主服务器中转移出来的,并作为本地磁盘文件存储在辅助服务器中。
在辅助服务器中有域信息的完整拷贝,所以也可以可以回答对该域的查询。
这部分的配置内容如下:zone "" IN {
type slave;
file ".zone";
masters { 11.0.0.1; };
};
可以看到,和主DNS服务器不同地方就是:“type”改为了“slave”,然后指明了主DNS服务器的地址“masters { 11.0.0.1; };”。
DNS服务启动时,就会自动连接11.0.0.1,读取域的信息,然后保存到本机的.zone 文件里。
④测试DNS服务器
改动过DNS的相应文件,用“ndc restart”命令重新启动服务,在redhat 7.1以上版本中使用命令:
/etc/rc.d/init.d/named restart
或者
/etc/rc.d/init.d/named reload
使改动生效。
要测试DNS,可以找一台客户机,把它的DNS地址设成新建立的DNS服务器地址,然后试试上网,收信,下载等。
也可以使用nslookup命令:运行nslookup,输入要查询的主机名,看是否返回正确的ip地址,在redhat 7.1以上版本中推荐使用dig命令。