Posts by Derek
一、 DNS介紹
網域名稱系統DNS(Domain Name System)是網際網路的一項核心服務,它作為可以將域名和IP位址相互對映的
一個分布式資料庫,能夠使人更方便的存取網際網路,而不用去記住能夠被機器直接讀取的IP數串。
DNS 使用TCP和UDP埠53。
二、 系統配置
主機環境 :
Centos 5.6 32位元
Master Dns:192.168.1.122
Slave Dns:192.168.1.123
設定項目 :
Master Dns
Slave Dns
三、 DNS (BIND)設定方式
1. 安裝套件:
1.1 在開始設定DNS之前要先確認是否有以下套件
bind-utils、bind-chroot、bind、bind-libs
[root@localhost ~]# rpm -qa | grep '^bind' bind-libs-9.3.6-16.P1.el5 #給 bind 與相關指令使用的函式庫 bind-9.3.6-16.P1.el5 #這個是用戶端搜尋主機名稱的相關指令 bind-chroot-9.3.6-16.P1.el5 #就是 bind 主程式所需軟體 bind-utils-9.3.6-16.P1.el5 #將 bind 主程式限制在/var/named/chroot裡 |
基本上在安裝Linux時就會把以上四樣所需的安裝好
若是沒有安裝的話請自行先行安裝
安裝方式一: [root@localhost ~]# yum -y install bind bind-chroot bind-utils bind-libs 安裝方式二: [root@localhost ~]# yum -y install bind* |
1.2 安裝caching-nameserver相關套件(一定要安裝)
[root@localhost ~]# yum -y install caching-nameserver |
安裝lrzsz
[root@localhost ~]# cd /tmp [root@localhost ~]# mkdir tools [root@localhost ~]# cd tools/ [root@localhost ~]# wget http://willion0736.myweb.hinet.net/lrzsz-0.12.20.tar.gz [root@localhost ~]# tar -zxvpf lrzsz-0.12.20.tar.gz [root@localhost ~]# cd lrzsz-0.12.20 [root@localhost ~]# ./configure [root@localhost ~]# make [root@localhost ~]# make install [root@localhost ~]# cd /usr/bin [root@localhost ~]# ln -s /usr/local/lrzsz/bin/lrz rz [root@localhost ~]# ln -s /usr/local/lrzsz/bin/lsz sz |
使用Yum安裝
[root@localhost ~]# yum install lrzsz |
就現在來說,DNS真的是越來越重要了。通常在設定DNS都會設定兩組,以避免當主要的掛掉時,還有備用的可以使用。或許有人會問說,那同時設兩台DNS的話,在網路上會先搜尋那一個呢?這個並沒有一定的答案,因為在網路上是採用隨機的方式來做查詢的。因此這兩部DNS也就必須要設定的一樣。才不會有資料上的錯誤。
要解決資料同步的問題,因此除了hint類型的資料庫檔案外,還可區分兩種基本類型,master(主要)資料庫和slave(次要)資料庫。
Master :
此種DNS資料庫,在資料方面全部都要管裡者自行輸入設定或修改。設定完成後需要重新啟動DNS服務,讓DNS服務重新讀取正確的資料內容。一般在架設的DNS大多是屬於此種類型的。另外,這種資料庫還能提供資料內容給slave的DNS伺服器。
Slave :
在架設DNS時,通常不會指架設一台DNS Server。就如同GOOGLE來說他就有5台的DNS Server,但若是都是用Master的方式來架設的話,一旦當有要修改資料的時候,一筆資料就得做5次。如此一來不就增加了設定錯誤的風險。所以在這個時後,就要使用Slave類型的方式來架設DNS Server。
簡單來說,總和以上所說的,Slave必須要和Master相互搭配,就拿google來說,當google使用5台DNS Server時,他一定會指定一台server做為Master,然後其他的4台DNS Server都設定為Master的Slave Server,如此一來當修改一筆資料時,只需要手動在Master Server上的設定檔做修改,後重新啟動BIND此服務,之後其他4台Slave也就會自動被通知更新。
主機名稱就是此台電腦、伺服器的名字。在網路上很多地方都會使用到主機名稱來做判別。
因此來說明一下,怎麼修改主機名稱
主要有三個地方要做修改。(hostname、network、hosts)
以下就讓來說明一下吧。
hostname :
先查看該主機名稱 [root@localhost ~]# hostname faqtest #此台主機的名稱 修改主機名稱 [root@localhost ~]# hostname blog.faq-book.com (新主機名) 修改後 [root@localhost ~]# hostname blog.faq-book.com |
network :
修改network [root@localhost ~]# vim /etc/sysconfig/network 修改前 NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME= faqtest GATEWAY=192.168.1.1 修改後 NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME= blog.faq-book.com #修改為新主機名 GATEWAY=192.168.1.1 |
在設定sshd的時,若想要關閉sshd登入的認證,請修改sshd_config
[root@localhost ~]# vim /etc/ssh/sshd_config 57 # To disable tunneled clear text passwords, change to no here! 58 #PasswordAuthentication yes 59 #PermitEmptyPasswords no 60 PasswordAuthentication no #請把PasswordAuthentication yes 改為no [root@localhost ~]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] |
設定完成後在登入就會出現下面的訊息了。
Git 新增檔案
- git add . # 將資料先暫存到 staging area, add 之後再新增的資料, 於此次 commit 不會含在裡面.
- git add filename
- git add modify-file # 修改過的檔案, 也要 add. (不然 commit 要加上 -a 的參數)
- git add -u # 只加修改過的檔案, 新增的檔案不加入.
- git add -i # 進入互動模式
Git 刪除檔案
- git rm filename
Git 修改檔名、搬移目錄
- git mv filename new-filename
- 繼續閱讀 »
在用來解析DNS的程式和指令有很多。今天就來介紹幾個比較常用的指令吧。
host、 nslookup、dig
host :
[root@localhost ~]# host blog.faq-book.com blog.faq-book.com has address 118.169.212.29 ç 此為IP |
[root@localhost ~]# host -a blog.faq-book.com #-a :代表列出該主機所有的相關資訊,包括 IP、TTL 與除錯訊息 #-l :若後面接的domain 設定允許 allow-transfer 時,則列出該 domain 所管理的 所有主機名稱對應資料 #server:這個參數可有可無,當想要利用非 /etc/resolv.conf 內的 DNS 主機 來查詢主機名稱與 IP 的對應時,就可以利用這個參數了
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64139 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;blog.faq-book.com. IN ANY ;; ANSWER SECTION: blog.faq-book.com. 913 IN A 118.169.212.29 Received 51 bytes from 8.8.8.8#53 in 9 ms ç 從8.8.8.8解析過來的 |
近期迴響