2010年7月28日 星期三

網路線路相關知識

以下資料來源:http://www.study-area.org/network/networkfr.htm

1.線路分類分為
    雙絞線(Twisted Pair Cable)
        雙絞線還分為屏蔽雙絞線(STP﹐Shielded Twisted Pair) 和非屏蔽雙絞線(UTP﹐Unshielded Twisted Pair),STP 有一層導           電金屬膜將每對雙絞線包裹
    同軸網線(Coaxial Cable)
    ----------------------以上兩種網路線會受電波干擾 (RFI﹐ Radio Frequency Interference)-->即是"串音" (Cross Talk)-----
    光纖網線(Fiber Optic Cable)(對Cross Talk天生免疫)
2.網路接頭種類:BNC、RJ-45

如果只是兩台電腦之間的連線﹐可以不要 HUB﹐但得將RJ-45 接頭一端的第 1 線接到另一端的第 3 線﹑一端的第 2 線接到另一端的第 6 線。方向是網線在接頭左邊﹐RJ-45的銅線向自己﹐從上到下數

3.傳輸速率注意事項:1Mbps為每秒1Mbits  與 1MBps為每秒1MBytes不同(差八倍!)

4.網路線與貓咪!?(Cat線的型號)


Elecrtonics
Industry Association (EIA), Telecommunications Industry Association
(TIA), 和 National Electrical Manufacturers Association (NEMA) 等機構對雙絞線建立 5
個標準等級。按照等級高低﹐級數越高﹐其每英尺的絞接數目也越多﹐抗干擾能力也越強。分列如下﹕

 


CATEGORY-1﹐這是一種從 1983 年就被廣泛使用的老式電話線﹐它不適合於任何高速數據傳輸﹐只不過其得名於將線絞接起來而已。
CATEGORY-2﹐此種線可以傳輸達 4Mbps 的數據﹐它擁有兩個特徵﹕在一英尺直線距離最少有 3 個絞接。沒有任何兩對線是相同的絞接色樣﹐這可以降低線線之間的串音(crosstalk)。比如其中一對線在每英尺之內使用了 3 個絞接﹐而另外一對則使用 31/8 個絞接。
      (注意﹕其後的 3 個等級也具備這兩個特性﹐只是要求更嚴格而已。)
CATEGORY-3﹐這是您能夠由來做 LAN 網線的最低等級了﹐它可以最高傳輸 10Mbps 的數據﹐同時構造上面也要比 CAT1 和 CAT2 要好。
CATEGORY-4﹐可以用來給 16Mbps 的 Token Ring 網路使用的最低等級﹐實際上﹐對 LAN 而言﹐最好將此等級作為最低等級了﹐而非 CAT3。
CATEGORY-5
﹐無論在速度上和抗干擾能力上﹐這個才是現役仍有在使用的等級﹐其最高傳輸速度可以達到 100Mbps。CATEGORY-5e / CATEGORY-6 ﹐比 CAT5 更高的等級,其要求及工藝更為嚴格。依線材材質不同理論傳輸速度可超過 300~1000Mbps,Cat6應是目前網路佈線要求佈線的基礎等級。

CAT5 等級以上的網線被指定可以使用在 FDDI (Fiber Distributed Data Interface) 網路上面﹐定義了如何將銅線和光纖在同一網路環境的整合。它被設計成為配合光纖導線而提供更好的多媒體(語音和影像)承載網路方案。

網路線規格速覽表格:


























































網線類型
傳輸速度
傳輸距離
接頭類型
BNC RG58
10 Mbps
185 m
BNC
CAT3 UTP
10 Mbps
91 m
RJ-45 /
Token Ring

CAT4 UTP
16 Mbps
91 m
RJ-45 /
Token Ring

CAT5 UTP
100
Mbps

91 m
RJ-45 /
Token Ring

CAT3 STP
10 Mbps
91 m
RJ-45 /
Token Ring

CAT4 STP
16 Mbps
91 m
RJ-45 /
Token Ring

CAT5 STP
100
Mbps

91 m
RJ-45 /
Token Ring

Fiber Optic
155
Mbps

4827 m
ST


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
接下來,我們來看網路拓樸(別緊張,就是網路線佈建型態):

星狀拓樸(Star Topology):最常見的一種樣式,就是層層機器層層疊。
總線拓樸(Bus Topology):一條線通到底,所有機器沿線分出頻寬,好處只有省了一點錢....囧
環狀拓樸(Ring Topology):兩條線對通串起來,就像JR環狀線一樣,大型網路骨幹架設才會看到。

再來是網路封包傳送的方式:broadcast,俗稱的網路廣播封包

作原理很簡單,在沒有抑止廣播風暴的環境下,網路傳訊就是把一個封包丟出去,每一台同樣Hub的電腦都會收到該訊息,查核完Header後,符合的電腦會
把封包留下,其他不符合的電腦會將該封包丟棄。(所以,如果一百台電腦都用沒有抑制廣播風暴的Hub串在一起,裡面就充滿了.....嗯,垃圾。)

*CSMA/CD (Carrier-Sensing Multiple Access with Collision Detection)

解決封包碰撞(collision)所使用的技術,可避免網路長時間被封包塞住的問題。(也就是在延遲時間內給予優先權不等的傳送機會,如果延遲時間的協
調都失敗了,那就都不要送封包好了...)

*網路設備裡最簡單的Hub又分為passive和active兩種,只有active才有增益(延長連接線路距離)的功能喔!除此之外,Hub的
Uplink port是用來連接上一層機器的,沒事不要亂插!



下一個,Ethernet 的 Data Link Layer Frame,請看圖說故事:





















序言
(Preamble)

目的地
硬體位址
(Destination)

來源
硬體位址
(Source)

信息類型
(Message
Type)

數據
(Data)

封包監測資料
(Frame
check sequence)

8 bytes
6 bytes
6 bytes
2 bytes
46-1500 bytes
4 bytes

這個Frame是出現在OSI第二層的,看懂了吧?
至於IPv6的frame又跟這有所不同了,參見http://www.zytrax.com/tech/protocols/ipv6.html#frame
咳,英文不好,簡單一句話來解釋,IPv6的Header之類的東東都有比較彈性的定義了.


呃,底下是兩種不同的傳輸方式比較表,老百姓平常用的就是IEEE 802.3 broadcast的方法,我覺得IEEE 802.5看看就好...




























































特性類項
IEEE 802.3
IEEE 802.5
邏輯形態
Bus
Single
Ring

物理形態
Star,
Bus

Star
介質
Optic
fiber, Twisted Pair,
Coaxial Cable

Twisted
Pair

頻寬
10 Mbps
4 or 16
Mbps

連接形式
CSMA/CD
Token
Passing

過載信息
Single
1(4
Mbps)或
Multiple(16 Mbps)

最大封包體積
1518
bytes

4500 (4
Mbps)
18000 (16 Mbps)

節點數目
1024
260
節點間隔
2.8m
(minimum)

100m
(maximum)

最長網路距離
2.8km
不等



還有一個不得不提的就是MAC Address
(Meida Access Control Address),這個位址被分兩部份,共六組數字,第一部份的三組是Manufacture
ID﹐也就是廠商 ID﹔而後面的三組是 Card ID。如果我們見到一張卡的 MAC
位址是:02-60-8C-67-CD-54,那麼我們可以知道這張卡是 3Com 的﹐因為 02-60-8C 就是 3Com 的ID。透過這兩組
ID,我們可以在實體上區分各自的網路卡。理論上來說,全世界沒有兩張卡的 MAC Address 是相同的,而且我們也不應去修改它。


OSI與DoD、還有layer3與layer2的差別

OSI(Open Systems Interconncetion)七層,直接看圖吧,圖片來源:http://www.compu-art.de/mars_nwe/bilder/osi.gif




簡單來說
    1. Physical layer 包含接頭、介質、資料實體化
    2. Data Link 包含同步、偵錯(CRC)、MAC(Media Access Control)
    3. Network 包含定址與路徑
    4. Transport 包含封裝與資料流控制(Control Data Flow)
    ----------------在本地端以上四層即為Interface溝通--------------------------
    5. Session 定義溝通傳輸模式
    6. Presentation 內碼轉換(ASCII與早期的EBCDIC)、加解密、壓縮等
    7. Application 應用程式

實做在資料傳輸時一層層的加上Header和Trailer,送到遠端後再一層層解開,所以每一層都可以得到相對應的資訊.
TCP/IP則是應用DoD(Department of Defense)模型的實做,基本上與OSI差別不大,只是一個四層(Link、Network、Transport、Application)然後一個七層.


好,瞭解了OSI,Layer 2和Layer 3就可以直接對應數字啦~~

以下來源為:http://redhat.ecenter.idv.tw/bbs/printthread.php?s=c7242edc00bde9c5d3ef37c73d636ee6&threadid=43803


Layer 3
Switch (第三層交換器)



Layer 3 Switch
又稱為IP Switch 或Switch Router,
意即其工作於第三層網路層的通信協定(如IP),並藉由解析第三層表頭(Header)將封包傳至目的地,有別於傳統的路由器以軟體的方式來執行路由運算
與傳送,Layer 3 Switch是以硬體的方式(通常由專屬ASIC構成)來加速路由運算與封包傳送率並結合Layer 2
的彈性設定,因此其效能通常可達每秒數百萬封包(Million packet per
second)的傳送率,並具備數十個至上百個以上的高速乙太網路(Fast Ethernet)連接埠,或數個至數十個超高速乙太網路(Gigabit
Ethernet)連接埠之容量。




傳統路由器通常可處理Multiprotocal 多重協定路由運算(如IP,IPX AppleTalk,DEC Net...etc)但Layer 3
Switch 通常只處理IP
及IPX,此乃為簡化設計,降低路由運算與軟體的複雜性以提昇效能,並配合網路協定發展的單純化(多重協定慢慢簡化至IP一種協定)趨勢所致。




由於Layer 2 的Switch 並無法有效的阻絕廣播域(Broadcast Domain)如ARP (Address Resolution
Protocol)及Win95/98 中大量使用的NetBEUI協定均大量使用廣播封包,因此就算Layer 2 Switch 以VLAN
(Virtual LAN)的方式(虛擬網路)將經常要通訊的群組構成一廣播域(Broadcast
Domain)來試圖降低broadcast封包對網路層的影響,但仍無法完全避免廣播風暴問題(同一個VLAN間仍會產生廣播風暴),再加上現今網路
(尤其是Campus內部間流量及對外的Internet/Intranet流量)已不是80/20規則(80%流量在本地,20%是外地),而是漸漸成
為20/80規則,且加上Client/Server 及Distributor Server之運用,因此單靠Layer 2
Switch或傳統Router路由器便無法符合對效能(傳統路由器變成瓶頸)及Intranet上對安全顧忌(Layer 2 Broadcast
Domain,對因廣播而使資訊傳送被盜取的安全疑慮)之要求,因此Layer 3
Switch便大量興起,初期只運用Core端(骨幹),現在的趨勢已漸漸走向桌面(Layer 3 down to desktop)。




如同傳統路由器(Router),Layer 3
Switch的每一個連接埠(port)都是一個子網路(Subnet),而一個子網路就單獨是一個Broadcast
Domain廣播域,因此每一個port的廣播封包並不會流竄到另一個port,其僅負責傳送要跨越子網路的封包(Routing
Forward),並以目的地的IP位址(目的地子網路的網路號碼)來決定封包要轉送至哪一個port,並以Routing
Protocol(如RIP或OSPF)來交換Routing Table並學習網路拓蹼,其通常存放於Layer 3 Switch的Routing
Forward Data-Base(FDB),並以硬體及Route Cache的方式來加速IP table
lookup並予以定址與更新(目前大多以ASICIC來執行),因此才得以提昇運算效能達成Wiring Speed Forward之目的。




Layer 3 Switch通常提供較大頻寬的交換核心(Switch Fabric)以提供較大的容量(Port
Capacity)與較高的交換效能,近來各廠家並不斷附以Layer 3 Switch更強大的支援能力,如Class of
Service(服務等級優先權),Quality of Service(服務品質保證),Policy
Management(策略分級品質與頻寬管制與管理),Multicast
Routing(群組廣播路由傳送)等功能,以符合網路環境的快速變化與應用。


2010年7月27日 星期二

網路線路相關知識

網路線路相關知識


以下資料來源:http://www.study-area.org/network/networkfr.htm

1.線路分類分為
    雙絞線(Twisted Pair Cable)
        雙絞線還分為屏蔽雙絞線(STP﹐Shielded Twisted Pair) 和非屏蔽雙絞線(UTP﹐Unshielded Twisted Pair),STP 有一層導           電金屬膜將每對雙絞線包裹
    同軸網線(Coaxial Cable)
    ----------------------以上兩種網路線會受電波干擾 (RFI﹐ Radio Frequency Interference)-->即是"串音" (Cross Talk)-----
    光纖網線(Fiber Optic Cable)(對Cross Talk天生免疫)
2.網路接頭種類:BNC、RJ-45

如果只是兩台電腦之間的連線﹐可以不要 HUB﹐但得將RJ-45 接頭一端的第 1 線接到另一端的第 3 線﹑一端的第 2 線接到另一端的第 6 線。方向是網線在接頭左邊﹐RJ-45的銅線向自己﹐從上到下數

3.傳輸速率注意事項:1Mbps為每秒1Mbits  與 1MBps為每秒1MBytes不同(差八倍!)

4.網路線與貓咪!?(Cat線的型號)

Elecrtonics Industry Association (EIA), Telecommunications Industry Association (TIA), 和 National Electrical Manufacturers Association (NEMA) 等機構對雙絞線建立 5 個標準等級。按照等級高低﹐級數越高﹐其每英尺的絞接數目也越多﹐抗干擾能力也越強。分列如下﹕

CATEGORY-1﹐這是一種從 1983 年就被廣泛使用的老式電話線﹐它不適合於任何高速數據傳輸﹐只不過其得名於將線絞接起來而已。
CATEGORY-2﹐此種線可以傳輸達 4Mbps 的數據﹐它擁有兩個特徵﹕在一英尺直線距離最少有 3 個絞接。沒有任何兩對線是相同的絞接色樣﹐這可以降低線線之間的串音(crosstalk)。比如其中一對線在每英尺之內使用了 3 個絞接﹐而另外一對則使用 31/8 個絞接。
      (注意﹕其後的 3 個等級也具備這兩個特性﹐只是要求更嚴格而已。)
CATEGORY-3﹐這是您能夠由來做 LAN 網線的最低等級了﹐它可以最高傳輸 10Mbps 的數據﹐同時構造上面也要比 CAT1 和 CAT2 要好。
CATEGORY-4﹐可以用來給 16Mbps 的 Token Ring 網路使用的最低等級﹐實際上﹐對 LAN 而言﹐最好將此等級作為最低等級了﹐而非 CAT3。
CATEGORY-5
﹐無論在速度上和抗干擾能力上﹐這個才是現役仍有在使用的等級﹐其最高傳輸速度可以達到 100Mbps。CATEGORY-5e / CATEGORY-6 ﹐比 CAT5 更高的等級,其要求及工藝更為嚴格。依線材材質不同理論傳輸速度可超過 300~1000Mbps,Cat6應是目前網路佈線要求佈線的基礎等級。

CAT5 等級以上的網線被指定可以使用在 FDDI (Fiber Distributed Data Interface) 網路上面﹐定義了如何將銅線和光纖在同一網路環境的整合。它被設計成為配合光纖導線而提供更好的多媒體(語音和影像)承載網路方案。

網路線規格速覽表格:
網線類型傳輸速度傳輸距離接頭類型
BNC RG5810 Mbps185 mBNC
CAT3 UTP10 Mbps91 mRJ-45 / Token Ring
CAT4 UTP16 Mbps91 mRJ-45 / Token Ring
CAT5 UTP100 Mbps91 mRJ-45 / Token Ring
CAT3 STP10 Mbps91 mRJ-45 / Token Ring
CAT4 STP16 Mbps91 mRJ-45 / Token Ring
CAT5 STP100 Mbps91 mRJ-45 / Token Ring
Fiber Optic155 Mbps4827 mST
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
接下來,我們來看網路拓樸(別緊張,就是網路線佈建型態):

星狀拓樸(Star Topology):最常見的一種樣式,就是層層機器層層疊。
總線拓樸(Bus Topology):一條線通到底,所有機器沿線分出頻寬,好處只有省了一點錢....囧
環狀拓樸(Ring Topology):兩條線對通串起來,就像JR環狀線一樣,大型網路骨幹架設才會看到。

再來是網路封包傳送的方式:broadcast,俗稱的網路廣播封包
運作原理很簡單,在沒有抑止廣播風暴的環境下,網路傳訊就是把一個封包丟出去,每一台同樣Hub的電腦都會收到該訊息,查核完Header後,符合的電腦會把封包留下,其他不符合的電腦會將該封包丟棄。(所以,如果一百台電腦都用沒有抑制廣播風暴的Hub串在一起,裡面就充滿了.....嗯,垃圾。)

*CSMA/CD (Carrier-Sensing Multiple Access with Collision Detection)
解決封包碰撞(collision)所使用的技術,可避免網路長時間被封包塞住的問題。(也就是在延遲時間內給予優先權不等的傳送機會,如果延遲時間的協 調都失敗了,那就都不要送封包好了...)
*網路設備裡最簡單的Hub又分為passive和active兩種,只有active才有增益(延長連接線路距離)的功能喔!除此之外,Hub的 Uplink port是用來連接上一層機器的,沒事不要亂插!



下一個,Ethernet 的 Data Link Layer Frame,請看圖說故事:
序言
(Preamble)
目的地
硬體位址
(Destination)
來源
硬體位址
(Source)
信息類型
(Message Type)
數據
(Data)
封包監測資料
(Frame check sequence)
8 bytes6 bytes6 bytes2 bytes46-1500 bytes4 bytes
這個Frame是出現在OSI第二層的,看懂了吧?
至於IPv6的frame又跟這有所不同了,參見http://www.zytrax.com/tech/protocols/ipv6.html#frame
咳,英文不好,簡單一句話來解釋,IPv6的Header之類的東東都有比較彈性的定義了.


呃,底下是兩種不同的傳輸方式比較表,老百姓平常用的就是IEEE 802.3 broadcast的方法,我覺得IEEE 802.5看看就好...
特性類項IEEE 802.3IEEE 802.5
邏輯形態BusSingle Ring
物理形態Star, BusStar
介質Optic fiber, Twisted Pair,
Coaxial Cable
Twisted Pair
頻寬10 Mbps4 or 16 Mbps
連接形式CSMA/CDToken Passing
過載信息Single1(4 Mbps)或
Multiple(16 Mbps)
最大封包體積1518 bytes4500 (4 Mbps)
18000 (16 Mbps)
節點數目1024260
節點間隔2.8m (minimum)100m (maximum)
最長網路距離2.8km不等


還有一個不得不提的就是MAC Address (Meida Access Control Address),這個位址被分兩部份,共六組數字,第一部份的三組是Manufacture ID﹐也就是廠商 ID﹔而後面的三組是 Card ID。如果我們見到一張卡的 MAC 位址是:02-60-8C-67-CD-54,那麼我們可以知道這張卡是 3Com 的﹐因為 02-60-8C 就是 3Com 的ID。透過這兩組 ID,我們可以在實體上區分各自的網路卡。理論上來說,全世界沒有兩張卡的 MAC Address 是相同的,而且我們也不應去修改它。

2010年7月19日 星期一

ubuntu使用dhcp的簡單設定

第一步,進行interfaces設定


vi /etc/network/interfaces

加入以下內容

auto ethx        <===視網卡決定x的數字,0是第一張,1是第二張...依此類推.

iface ethx inet dhcp              <===如果是靜態IP,將DHCP改成static  後面加上類似下面幾行這樣的位址:

#address 192.168.0.1


#network 192.168.0.0


#netmask 255.255.255.0


#broadcast 192.168.0.255


#gateway 192.168.0.1


第二步,進行dns設定
vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 163.19.163.1
domain
search


2010年7月9日 星期五

麻煩的DNS設定~"~,詳細理解請點內文前二行的連結

很久以前有發一篇,這一篇是後來學得更詳細的版本,請參照使用.

鳥哥的私房菜 http://linux.vbird.org/linux_server/0350dns.php#DNS_Zones
對了,除了鳥哥,還有個地方可以去看看:TWNIC的dns教學計畫 http://dns-learning.twnic.net.tw/
以下整理內容僅獻給健忘症的自己~
2010.10.19後記:剛好學校的dns server掛掉,結果上網google關鍵字centos dns,赫然發現自己很久以前寫下的那篇居然比鳥哥還前面!真是太神奇了! 所以,也把那篇連結放進來這裡囉,呵呵! http://blog.xuite.net/zoro00000/blog/20712222
還有還有,這篇寫得真好! http://blog.weithenn.org/2009/04/centosbind9-domain-nameip.html
----------------------------------------------------------1.
預設環境
----------------------------------------------------------------------

確定電腦能上網了後,如果是要弄內部虛擬機器互連之類的,記得先進入/etc/resolv.conf 修改nameserver的IP變成你準備設置Dns主機的位置喔!這個檔案一般來說剛把主機設定好就會順帶寫好,如果忘記了就自己快點加上吧~

vi /etc/resolv.conf


nameserver 163.19.1.1
nameserver 168.95.1.1
domain jges.edu.tw
search  jges.edu.tw


簡單說明一下:
nameserver就是上層單位的Dns位置,最多三個,從上而下進行逐層的搜尋,都找不到就不能dns啦~要設對才能上網喔!
domain則是當輸入的名稱例如www無法被解析時,自動會被加入後面字串再嘗試解析,也就是在這邊會變成www.jges.edu.tw
search的功能基本上和domain相似,不過domain是本地端有優先權,其他想自動加入的就都可以掛在search底下發揮囉.
-----------------------------------------------------------------------------------------------------------------------------------
還有還有,像ubuntu之類沒有預設開啟DNS的機器上記得要先輸入service bind9 start開啟bind的功能啦~(bind後的數字自己看看版本吧,建議使用Bind9,bind的維護網站:http://www.isc.org/software/bind )

1.設定檔傳統上是/etc/named.conf ,CentOS現在為了安全性放在/var/named/chroot


2.一般來說, CentOS 的預設目錄是這樣的:
    * /var/named/chroot/etc/named.conf :這就是我們的設定檔啦!

    * /etc/named.conf :這也是我們的設定檔啦!

    * /etc/sysconfig/named :是否啟動 chroot 及額外的參數,就由這個檔案控制;

    * /var/named/ :資料庫檔案預設放置在這個目錄

    * /var/run/named :named 這支程式執行時預設放置 pid-file 在此目錄內。
    順帶一提,ubuntu底下的檔案都是放在/etc/bind喔~

3. DNS 伺服器的架設需要上層 DNS 的授權才可以成為合法的 DNS 伺服器。

4. named 是否啟動成功務必要查閱 /var/log/messages 內的資訊!


一個完整的DNS設定案例內容需包含六個檔案,例如dns1位於163.19.1.1的整個class c領域jges.edu.tw:



 

  1. named.conf       :設定檔

  2. jges.fwd       :jges.edu.tw 的正解

  3. jges.rev  :163.19.1.0/24 的反解

  4. named.root       :root (.) 的資料庫

  5. localhost.fwd  :localhost 的正解

  6. localhost.rev    :127.0.0.1/24 的反解

可對應的主機名稱可能有www.jges、dns.jges、www1.jges、www2.jges、server.jges、ftp.jges、ftp2.jges、...

底下預設幾台主機來對應:
163.19.1.1    163.19.1.2    dns1和dns2


163.19.1.3    163.19.1.4     www.jges dns.jges linux.jges
163.19.1.30   mail
163.19.1.31  imap(第二台mail主機)
163.19.1.50  dept1.jges.edu.tw網域的第一台dns
163.19.1.51  dept1.jges.edu.tw網域的第二台dns

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bind這個DNS程式的設定檔named.conf 主要的作用在於定義
named的功能項目
內容可包含4個部分,分別為:
*options
*關於 .(root) 的內容
*關於 localhost 的正反解
*關於其他 domain 的正反解
然後,在named.conf當中,可設定的伺服器型態有5種: (也就是等一下會看到的type)

master: 主要伺服器,在網域中負責名稱解析。
slave: 避免master發生故障時影響網路上的名稱解析工作,可以安裝其他的DNS伺服器,並會定期複製master中的資料。
stub: 與slave類似,但只會複製master的NS紀錄,而非所有區域(zone)資訊。
hint: 表示為root伺服器。
forward: 可將來自用戶端的名稱解析要求代為轉送至其他伺服器。 (本文未提,流量大時比較好用喔!)


vi /var/named/chroot/named.conf                      
 (這個檔案中註解寫法是//)(;代表到此為止,每行都要加喔!)




options {
        directory       "/var/named";                                    //指定Server中有關的zone file的設定檔儲存路徑

        dump-file       "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        pid-file        "/var/run/named/named.pid";           //代表dns服務的pid名稱,通常用預設

        forwarders     { 163.19.1.1;168.95.1.1; };

        allow-query    { any; };  // 是否允許被查詢?當然要可以被查詢;

        allow-transfer { none; }; // 一定要寫,定義哪些IP可與此DNS做AXFR,是否允許傳送 zone ,預設為none,不寫就是被看光啦~

};


include "/etc/rndc.key";  // 關於 DNS 伺服器的一些加密資料,看不懂就先忽略!


// 關於 root (.) 的設定喔:

zone "." {

        type hint;                // 特殊的類別!專給 root (.) 用的,表示如果沒有資料就可以到根伺服器查詢

        file "named.root";        // 就是檔名的定義啦!

};


// 關於本機 localhost 的正反解

zone "localhost" {

        type master;

        file "localhost.fwd";

};

zone "0.0.127.in-addr.arpa" {

        type master;

        file "localhost.rev";

};


// 這裡規範出我們的 jges.edu.tw 領域名正反解,in-addr.arpa是固定的反解格式,不可改

zone "jges.edu.tw" {

        type master;

        file "jges.fwd";
        allow-transfer {163.19.1.2/32;};   //可加可不加,看有沒有slave的需求.

};

zone "1.19.163.in-addr.arpa" {

        type master;

        file "jges.rev";        allow-transfer {163.19.1.2/32;};

};
zone "jges.edu.tw" {                    //這串字只是為了做slave的例子才加入的,請寫入在163.19.1.2這第二台dns上
       type slave;             masters { 163.19.1.1; };             
       file "slave.jges.fwd";                    //這邊是指slave這台電腦的dns備份檔要放哪邊
       allow-transfer {none;};};                                zone "1.19.163.in-addr.arpa" {       //這串字只是為了做slave的例子才
加入的,請寫
入在
163.19.1.2這第二台dns上

    
type slave;     

    masters { 163.19.1.1; };
             
    
file "slave.jges.rev";                   

       allow-transfer {none;};};                        

 allow-transfer參數可以在單一的zone內設定定義喔!



還有上面的file"檔名"當中的檔名都可以自己亂取,不過要記得就一定要做好相對名稱的檔案就是啦~
反解的例子:163.19.1.xx這個區段的反解寫法就一定是1.19.163.in-addr.arpa,不能亂改喔!
arpa 是美國國防部計畫的縮寫,in-addr是Internet Address的意思,如果是用於ipv6的反解,請將in-addr改成ip6

-----------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------
接下來是named.root這個檔,大家都用一樣的就好了,下載網址:ftp://rs.internic.net/domain/named.root ,這個檔很重要,DNS解析查詢都會先到這個檔案裡!
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------

呃,底下會看到一個萬惡的@符號,這其實就是您自己在named.conf當中定義的那個領域啦!就是$ORIGIN後面接的東西,也就是說在這裡是zone"xxxx"當中那個xxxx的意思!
這個符號花了我很久很久很久的時間我才看懂..........奇怪了...除了自己笨之外,可能都要怪鳥哥沒有寫$ORIGIN.......冏
還有IN,代表的是internet類別的意思.(目前除了IN,也別無其他類型囉)

------------------------------------------------------------分隔線上面是重要的說明-------------------------------------------------
典型的SOA RR如下:
xxx.edu.tw 1D IN SOA ns1.xxx.edu.tw
HostMaster.xxx.edu.tw
-------------------------------------------------------------------------------

vi /var/named/chroot/var/named/jges.fwd             (這種檔案中註解寫法是;)


$TTL    86400                          ;整個程式的宣告時間,以秒為單位的資源記錄時間喔
$ORIGIN jges.edu.tw.               ;整個程式的宣告開頭網域,也可以不用設定,說明底下沒有使用.而省略的網域為何,可以在不同段落改變宣告成自己需要的子網域,沒設定就以named.conf中的zone為準.建議一定加上.
;下面這行請照抄,翻譯成文字也就是 jges.edu.tw. IN SOA jges.edu.tw. 後面接上root的email位址.(據說SOA後面接的jges.edu.tw.是給做slave dns的機器看的,所以在這邊應該改成dns1.jges.edu.tw.或更偷懶的dns1

@    IN   SOA  dns1.jges.edu.tw.  root.jges.edu.tw.  
;這邊有個該死的 " .,這東西一定要加喔!如果忘記加後面會自動加上zone的名稱!例如localhost忘記加.就自動被變成 了localhost.localhos.啦!當然,底下可以看到例如www之類後面不加點的也是這個.的妙用~請參照前幾行寫的$ORIGIN
              (                  


                20100705001  ;Serial  , 僅作為序號而已,不過一更新請記得就要做調整,不然slave可是不會來抓的喔!
               28800       ; Refresh slave 伺服器的更新時間

               14400       ; Retry   當 slave 主機更新失敗,多久再重新更新一次

               720000      ; Expire  重複 retry 多久後就宣告不治....不再更新

               86400 )     ; Minimum 可視為 TTL ,尤其是你沒有設定 $TTL 時



@           IN   NS   localhost.  ;這邊看@不順眼可以改成localhost.或想寫成 @ IN NS @ 也行!

localhost. IN   A    127.0.0.1

;(這邊的意思是此zone的DNS伺服器主機名稱與 IP 的相互對應,確保localhost可以正確解出127.0.0.1)
應該要有的對應模式如下(有NS就有A)

jges.edu.tw. IN NS dns1.jges.edu.tw. ;<==這邊的dns1.jges.edu.tw.就是您用來登記在上層單位DNS的名字喔!不能亂改
jges.edu.tw. IN
NS dns2.jges.edu.tw.
dns1.jges.edu.tw. IN A 163.19.1.1
dns2.jges.edu.tw.
IN A 163.19.1.2
;-----------循序負載分攤功能(round robin),可以用來減輕單一server被查詢到的負擔,也可以做多個異地備援喔!---------
www        IN    A    163.19.1.3
www        IN    A    163.19.1.4
www        IN    A    140.113.40.35       ;<====這邊假設是放到交大做備援
;------------------別名CNAME的用法(盡量用
A來代替CNAME),這邊的3600是獨立的TTL的意思--------------------

www2.jges.edu.tw.
3600 IN A 163.19.1.1
ftp.jges.edu.tw.
3600 IN CNAME www2.jges.edu.tw.
;--Mail
Server的用法,不加也可以,不過寄信查詢一定會先查MX,再查A,
所以可以用來過濾信件,而不掛MX也會影響效能---

    IN    MX    10
 mail  ;<====這邊的10和20是收寄信順位喔~數字小的會先收到信,如果數字相同就二選一收到
@     
IN    MX    20    imap
mail  
IN    A    163.19.1.30
imap 
IN    A    163.19.1.31

;-----------------------底下是加上子網域dns伺服器的寫法,這邊的子網域是dep1.jges.edu.tw-------------------
$ORIGIN dep1.jges.edu.tw.
                IN NS dns1
                IN NS dns2
dns1         IN A 163.19.1.50
dns2         IN A 163.19.1.51






;*正解檔裡面好多個A,後面的IP到底能不能重覆呢?根據老師的說法是可以的,不過聽說最好不要.

------以上就是基本正解常用的囉,非寫反解檔不可的請看底下直接依樣畫葫蘆囉,差別最大的是PTR和ORIGIN後面接的東東------
vi /var/named/chroot/var/named/jges.rev
$TTL    86400
$ORIGIN 1.19.163.in-addr.apra.
@       IN      SOA     dns1.jges.edu.tw. root.jges.edu.tw.
                                    (                        
                                      2010072901 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
         IN      NS      dns1.jges.edu.tw.
1       IN      PTR     dns1.jges.edu.tw.         ;這裡有個"1"  也有個PTR ,都是這個反解檔必備的,自己想想為什麼要用1..(提示:反推回來,想想之前那該死的點)
*還有,如果沒有開起來的機器請不要亂弄正反解....會抓不到...冏
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------


呃,上面的說明太長了,簡單來說,正解寫出來會變成底下這樣:
vi /var/named/chroot/var/named/jges.fwd



$TTL    86400
$ORIGIN jges.edu.tw.

@ IN SOA dns1 root ( 2010072901 28800 14400 720000 86400 )

; 本領域的 DNS 伺服器的主機名稱與 IP 的對應

@          IN   NS     dns1

@          IN   NS     dns2

dns1      IN   A      163.19.1.1

dns2      IN   A      163.19.1.2         
www        IN    A    163.19.1.3
www
     IN    A    163.19.1.4
$ORIGIN dep1.jges.edu.tw.
             
IN NS dns1
             
IN NS dns2
dns1         IN
A 163.19.1.50
dns2         IN A
163.19.1.51
www2 3600 IN A 163.19.1.1

ftp
3600 IN CNAME www2
   
    IN    MX    10

 mail
        
IN    MX    20    imap
mail  

IN    A    163.19.1.30
imap 

IN    A    163.19.1.31
$ORIGIN dep1.jges.edu.tw.
             
IN NS dns1
             
IN NS dns2
dns1         IN
A 163.19.1.50
dns2         IN A
163.19.1.51


 

 換句話說,只有一台主機自己身兼dns、www、mail、ftp等功能,實際可以這樣寫:
vi /var/named/chroot/var/named/jges.fwd
$TTL    86400
$ORIGIN jges.edu.tw.

@ IN SOA dns root ( 2010072901 28800 14400 720000 86400 )
           IN NS    dns
dns      IN A 163.19.1.1
www     IN CNAME    dns
mail      IN CNAME    dns
ftp        IN CNAME    dns   



------------底下是樣品的例子,加不加就看情況啦------- 


sun        IN   A      192.168.1.200

sun        IN   TXT    "The sun solaris OS"

sun        IN   HINFO  "Celeron 1G""Solaris 10"



----------------------------------------------------------------------------------------------------------------
特別加映!



關於SOA


Start of Authority。
這個標誌代表著 master/slave 相關的認證、授權資料。 不論你的 DNS 系統有沒有設定 master/slave 的架構,都需要含有這個設定才好。 SOA 後面共帶有三個參數,所以該行為:


      [zone] IN SOA [主機名] [管理員 email] ([五組更新時間參數])


每個設定項目可以這樣看:


    * 主機名:就是 master DNS 的主機名稱,通常填寫本身主機名即可。還是要注意那個小數點的存在與否喔!非常重要!

    * 管理員 email:本來應該是 "root@localhost." 的,不過因為 @ 已經被作為特殊代號 (zone), 所以就用小數點來取代,因此 email 就成為 "root.localhost." 囉!

    * (五組數字):這五個數字分別代表 serial, refresh, retry, expire, ttl。


至於那五個數字的意義是這樣的:


   1. Serial :是一個序號,但這個序號可被用來作為 slave 與 master 更新的依據。 舉例來說, master
序號為 100 但 slave 序號為 90 時,那麼這個 zone file 的資料就會被傳送到 slave 來更新了。
由於這個序號代表新舊資料,通常建議可以利用日期來設定!

   2. Refresh :除了根據 Serial 來判斷新舊之外,我們可以利用這個 refresh(更新) 命令 slave 多久進行一次主動更新;

   3. Retry :如果到了 Refresh 的時間,但是 slave 卻無法連接到 master 時, 那麼在多久之後,slave 會再次的主動嘗試與主機連線;

   4. Expire :如果 slave 一直無法與 master 連接上,那麼經過多久的時間之後, 則命令 slave
不要再連接 master 了! 也就是說,此時我們假設 master DNS 可能遇到重大問題而無法上線,則等待系統管理員處理完畢後,
再重新來到 slave DNS 重新啟動 bind 吧!

   5. Minimun :這個就像是 TTL 啦!


另外,這幾個數字的大小是有限制的!要瞭解:


    * Serial <= 2^32 = 4294967296

    * Refresh >= Retry * 2

    * Refresh + Retry < Expire

    * Expire >= Retry * 10

    * Expire >= 7Days

-------------------------------------------------------------------------------------------------------------------------------

其他符號一覽表:

































 NSname server 的縮寫,這個標誌的參數是:
      [zone] IN NS [主機名稱]

注意, NS 後面接的一定是主機名稱!代表的意思是說:『這個 zone 的查詢請向後面這部主機要求』的意思。 所以,如果這個 zone
有兩部以上的 DNS 伺服器負責時,那就需要寫兩個 NS 了!而 NS 後面接的主機名稱要有 IP 的對應啊!因此就需要 A 這個標誌了!

 Aaddress,參數是:
      [hostname] IN A [IP]

意思是說該部主機的 IP 對應之意!也是最常用的一個標誌!

 MXmail exchanger的簡寫,參數是:
      [hostname] IN MX [順序] [主機名稱]

注意,這個 MX 與 mail server 有關,沒有 mail server 的朋友可以省略這個標誌,但是如果你的領域內有
mail server 時,就必需要設定這個 MX 才好。MX 的用途是在於『郵件轉遞』或者是經由上層郵件主機備份的一個機制,
後面設定的那個主機名稱通常是你的上游郵件主機, 設定區域中擔任郵件伺服器的主機,所有要送往那部機器的 mail 都要經過 mail
exchanger
轉送。而數字則是該主機郵件傳遞時的優先次序,此值越低表示有越高的郵件處理優先權。

如果不知道如何設定,通常建議直接設定成 mail server 主機名稱即可

 CNAMEcanonical name,別名. 顧名思義,這個標誌在建立『主機別名』的啦!參數為:
      [hostname] IN CNAME [主機名稱]

注意一下, CNAME 後面接的是主機名稱。因為有好幾部主機名稱都對應到同一個 IP 上頭, 你當然可以針對每個主機名稱給予一個 A ,不過如果未來要改 IP 時,你就得改好幾個啦! 此時改為 CNAME 來處理就很簡單。

 PTR pointer,定義某個 IP 對應的 domain name,即將 IP 位址轉換成主機的FQDN。
 TXT 這個東西在進行『說明』而已!亦即是前面那部主機的一些資訊。
特別注意的是,沒事的話,『資訊不要寫得太詳細,有的時候甚至應該要寫些錯誤的訊息!』
為什麼呢?cracker沒事做嗎?呃,不過這東西有另一個信件上的安全應用,請看底下DNS其他應用,SPF的說明。
 AAAA 不要懷疑!用法和上面的A相同,不過是傳說中的 IPv6 啊啊阿啊啊!

------------------------------------------------------------------------------------------------------------------------------------------

寫在最後面,一般單位到這裡就做完正解了,反解就丟給上層單位那些領更多錢或更厲害的人去做吧!(攤手)
呃,當然,如果很不幸的網管人員,還是有空弄一下反解比較好囉~


啟動DNS很簡單,輸入

/etc/init.d/named start  (或restart)

但是這個啟動可不見得是成功的!因為dns的上層更新速度和設定的TTL有極大關係,所以可能真要等半天一天的才能看到實際的後果!還有,我們除了用nslookup和dig指令可以檢測外,鳥哥說:『務必』要去 /var/log/messages 觀察過才行!



dig 網址 any       <===追蹤,找出與該網址查詢結果有關的dns紀錄都丟出來
dig +trace 網址   <===追蹤,找出與該dns查詢經過的路徑
dig @網址 網址   <===指定在第二個網址上查詢第一個網址的dns紀錄
traceroute 網址   <===追蹤,找出經過路徑,並顯示正反解(只寫出IP卻沒名字就是沒設反解啦~)

呃,還有一個很棒的套件叫做「dnstop」,長得很像內建用來觀察系統流量的「top」,可以用來做出多種不同的觀測喔!要裝!網址:http://dns.measurement-factory.com/tools/


--------------------------DNS其他的應用,SPF(需要重新編譯),請參考http://phorum.study-area.org/viewtopic.php?t=18000------------
SPF(Sender Policy Framework):
主要使用dns的TXT記錄說明此網域的發信來源有哪些
詳情請查閱RFC 4408

2010年7月8日 星期四

改換IPV6的先備條件

改換IPV6的先備條件


1.所有內部網路設備(firewall、switch、hub等等)都要有支援IPv6
2.從內部僅支援IPv6的設備要去存取外部僅支援IPv4的伺服器時,必須要有IPv6-to-IPv4轉換器。
3.需要跟外部IPv4伺服器通訊的伺服器,例如:回覆DNS的查詢和傳送電子郵件,就必須同時擁有IPv4/6的組態設定,否則電子郵件將無法傳送到外部的IPv4伺服器。(設定IPV4/IPV6 Dual Stack)
4.會被外部存取的伺服器也必須同時擁有IPv4/6的組態設定,否則外部僅使用IPv4的客戶端將無法與你的網路通訊。
 
*以上來源為http://www.ipv6.org.tw/網站

  5.你可愛的系統核心必須要支援啦~例如Linux下請找找 /proc/net/if_inet6 , 沒有的話就囧很大啦~

Windows底下的IPv6協定安裝方法


1.Windows2000安裝IPv6的方法:
下載tpipv6-001205
網址:
解壓縮後不同的安裝方法:
根據sp1/sp2/sp3/sp4選擇的值分別為256/512/768/1024
sp1-直接執行目錄下的setup.exe即可.
sp2-
步驟一:在目錄下執行setup –x 解壓,然後到該目錄下找到hotfix.ini,把﹝Version﹞下的NTServicePackVersion=256改成512。
步驟二:執行hotfix.exe,重新開機即可。
sp3-仿照sp2的方式,數字改成768。
sp4-仿照sp2的方式,數字改成1024。
改完之後,到﹝網路連線﹞新增﹝通訊協定﹞,選IPV6即可。
2.Windows XP/server 2003版本:
非看圖解不可的請點選http://www.rd.ipv6.org.tw/?p=911,依照一般點選網際網路的服務安裝方式或是直接到cmd底下輸入ipv6 install就裝好了。
3.Windows Vista及7已內建,不須設定安裝。
4.安裝完成之後,設定ipv6在cmd底下可使用以下指令:
1.ping6     --->ipv6的ping指令        (ping6 ::1 可以先用來測試服務正不正常)
2.tracert6 -->ipv6版的tracert
3.ipv6 rt -->顯示ipv6的路由表
4.ipv6 if -->類似ipv6的ipconfig
5.net stop tcpip6-->停止ipv6
6.net start tcpip6
7.nslookup -q=aaaa xxxx.xxxx.xxx  <---測DNS正不正常
Address手動設定輸入:
1.netsh增加
2.或是使用ipv6 adu ﹝interface編號﹞/2001:xxxx:xxxx:... 進行設定。
3.ipv6 rtu ::/0 4/2001:xxxx:xxxx:.....   設定路由
*ipconfig為IPv4/IPv6之共通指令

所有跟電腦有相關的教學文章,請移駕到右手邊的 zoro的碎碎唸~

如題,因為google協作平台寫教學文章方便多了,所以就一直在那邊寫了,可以說是跟電腦有關的東西統統搬過去囉^^"

有需要的來賓請點選連結


----------------------------------------
2014.12.31更新,經過長期的使用,還是覺得統一搬回部落格簡單多了....,主要是要轉移平台的時候,協作平台沒辦法支援常見的MT格式備份,這對於愛把資料轉來轉去的人來說真的是不太方便啊啊啊T.T

IPv6的DNS設定

和IPv4同樣的需要有正反解,比較複雜一些,請發揮耐心與嘗試錯誤的勇氣吧!


 


喔,不過如果你搞懂了ipv4的dns,IPv6設定其實簡單的要死,


因為IPv6只是把A變成AAAA而已...


 


1.    首先,先進行本機/etc/hosts的設定:
vi /etc/hosts,加入以下內容:
    ::1    localhost6.localdomain6 localhost6                           <----本機的正反解
    2001:288:4677::225      www.ipv6.jges.mlc.edu.tw www   <-----主機名稱的正反解紀錄,請輸入自己的IP位址與DNS解析名稱


 


2.找到你的IPv4的設定檔,把要解析的位址加進去吧!


例如:


www     IN   AAAA   2001:288:4677::225


 


 


沒了,有沒有夠簡單?


2010年7月6日 星期二

Ubuntu 下的Wireshark執行找不到interfaces?!

別緊張,請直接執行sudo wireshark以root身份進入就可以找到了.

當然,這是以root身份進行抓取,封包的儲存都是個問題
要解決的方法嗎?請點選http://chunchaichang.blogspot.com/2010/03/sudo-non-root-wireshark.html
建議採用第二種方法,也就是:

改進的方式就是只開放給特定 group 的人以 root 身份執行
"dumpcap":

1. 執行 "sudo vi /etc/group" 並新增一個 group (建議叫做 "wireshark"),然後將自己加入此
group
2. 執行 "sudo chgrp wireshark
/usr/bin/dumpcap
",將 dumpcap 改為
wireshark group
3. 執行 "sudo chmod 4754
/usr/bin/dumpcap
",只讓屬於
wireshark group 的人可以 root 身份執行 dumpcap

完成上述動作之後,重新登入讓 group
所屬生效。這樣你就可以用原本的身份抓封包了,封包存檔的所有也都屬於原本的身份。

附加說明:
抓區域內的封包別天真的以為裝了Wireshark就好了,想要找到正確的封包,現在的環境都是switch,請愛用dumb hub或mirror port,到達所有封包的集中點才行呀!
常用指令:Filter的空白處輸入ip.addr == 192.168.x.x   <---你想抓取的位置