126
IPv6 IPv6 作業系統與應用服務建置實習 作業系統與應用服務建置實習 Linux (Cent OS 5.6) 講師 講師 講師 講師: :麥毅廷 麥毅廷 麥毅廷 麥毅廷(修平科大資網系 修平科大資網系 修平科大資網系 修平科大資網系) 日期 日期 日期 日期: 2011/08/03 revised Slide製作:陳建宏 (宜蘭區網中心技術師) Mail[email protected] http://www.wkb.idv.tw/moodle/course/view.php?id=100

TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 IPv6 作業系統與應用服務建置實習作業系統與應用服務建置實習

Linux (Cent OS 5.6)

講師講師講師講師::::麥毅廷麥毅廷麥毅廷麥毅廷(修平科大資網系修平科大資網系修平科大資網系修平科大資網系)日期日期日期日期::::2011/08/03 revised原Slide製作:陳建宏 (宜蘭區網中心技術師)Mail::::[email protected]

http://www.wkb.idv.tw/moodle/course/view.php?id=100

Page 2: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPV6 IPV6 快覽快覽快覽快覽快覽快覽快覽快覽

2011/08/03 2新一代網際網路協定教育訓練課程

Page 3: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

�簡介

�路由協定

�連接 IPv6�設定 IPv6�測試 IPv6� IPv6 網站

新一代網際網路協定教育訓練課程 3

Page 4: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

簡介簡介

�原有 IPv4 網路空間不足� IPv6 標準 (RFC 2460)�常見轉換技術◦ Dual Stack◦ Tunnel

2011/06/22 新一代網際網路協定教育訓練課程 4

Page 5: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

簡介簡介((續續))

� IPv6 與 IPv4 的差異

2011/06/22 新一代網際網路協定教育訓練課程 5

Page 6: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

路由協定路由協定

� RIPng◦ 距離向量(Distance Vector)方式◦ UDP埠號521

� OSPFv3◦ 鏈路狀態(Link State)方式◦ 用來克服RIP所產生的問題

� BGP-4◦ 在多個自治系統間交換網路可到達的資訊◦ 強化路由的政策及避免路由迴圈◦ 使用TCP作為傳輸協定,並以埠號179來建立連線

2011/06/22 新一代網際網路協定教育訓練課程 6

Page 7: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

路由協定路由協定((續續))� 路由器設定 (以 RIPng 設定在 cisco 2600 為例)

2011/06/22 新一代網際網路協定教育訓練課程 7

Page 8: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

連接連接 IPv6IPv6

� Native IP◦ 網路環境中已具備 IPv6 能力, 電腦可透過路由器或DHCPv6 主機取得 IPv6 的 IP 的位址◦ 作業系統須支援 IPv6 協定

� Tunnel Broker◦ 既有的 IPv4 網路環境中, 在兩端建立一條

Tunnel 來連接兩端之後的 IPv6 網路環境。◦ 需要另外安裝 Tunnel Broker Client 軟體

2011/06/22 新一代網際網路協定教育訓練課程 8

Page 9: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

設定設定 IPv6IPv6

�透過 RA/DHCPv6 取得 IP◦ 在路由器上設定 Router Advertisement 後, 透過該介面所連接的電腦, 可以藉由Router Advertisement 與 Router Solicitation 取得 IPv6 網路位址。◦ 如果電腦不是直接與路由器連接, 則可以利用有提供 DHCPv6 服務的主機來派送 IP給電腦

2011/06/22 新一代網際網路協定教育訓練課程 9

Page 10: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

設定設定 IPv6 (IPv6 (續續))

�手動設定 IPv6◦ Windows� Windows Vista� Windows 7/2008

◦ Linux� Fedora/CentOS� Ubuntu/Debian

2011/06/22 新一代網際網路協定教育訓練課程 10

Page 11: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

測試測試 IPv6IPv6

� nslookup (AAAA)◦ Set type=AAAA

2011/06/22 新一代網際網路協定教育訓練課程 11

Page 12: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

測試測試 IPv6(IPv6(續續))

� dig (UNIX Like)

2011/06/22 新一代網際網路協定教育訓練課程 12

Page 13: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

測試測試 IPv6(IPv6(續續))

� ping, tracert (Windows)

2011/06/22 新一代網際網路協定教育訓練課程 13

Page 14: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

測試測試 IPv6(IPv6(續續))

� ping6, traceroute6 (UNIX Like)

2011/06/22 新一代網際網路協定教育訓練課程 14

Page 15: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 IPv6 網站網站� 日本 Kame 網站◦ http://www.kame.net

� IPv6 Ready Logo◦ http://www.ipv6ready.org/

� 中華電信研究所IPv6測試實驗室◦ http://interop.ipv6.org.tw/

� IPv6 影音網 (HiNet)◦ http://ipv6.taco.hinet.net/taco_ipv6/index.jsp

2011/06/22 新一代網際網路協定教育訓練課程 15

Page 16: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

LINUX LINUX 與與與與與與與與 WINDOWS WINDOWS 的的的的的的的的IPV6 IPV6 基礎基礎基礎基礎基礎基礎基礎基礎

Chapter 01

2011/06/22 16新一代網際網路協定教育訓練課程

Page 17: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

�系統環境� IPv6 on Linux� IPv6 on Windows� Windows XP Ping測試� Linux Ping測試(使用固定位址)

2011/06/22 新一代網際網路協定教育訓練課程 17

Page 18: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

系統環境:系統環境:

� IPv6 Host:安裝 Windows XP� IPv6 Server:安裝 CentOS 5.x� Switch:D-Link DES-1005D

2011/06/22 新一代網際網路協定教育訓練課程 18

Page 19: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 on LinuxIPv6 on Linux� Linux Kernel 在 2.1.8 即加入IPv6的部份功能,現今的Linux Kernel 2.6.x 中,IPv6已經是被完整地支援。在2008年12月1日,Linux Foundation(Linux基金會)宣佈IPv6在Linux主要的Distribution(發行版)中已經相容美國國防部的標準(連結)。

� 現在只要下載任何一個常見的Distribution,都可以支援IPv6。本文件教學以 CentOS 5.x 作為示範的作業系統。

2011/06/22 新一代網際網路協定教育訓練課程 19

Page 20: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 on LinuxIPv6 on Linux

�在安裝的時候,系統已經是預設啟動IPv6,如圖:

2011/06/22 新一代網際網路協定教育訓練課程 20

Page 21: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 on LinuxIPv6 on Linux

�安裝完CentOS之後,我們可以下ifconfig 指令,會發現 eth0 這個interface 已經有了 fe80 開頭的 Link-local IPv6 位址

2011/06/22 新一代網際網路協定教育訓練課程 21

Page 22: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 on WindowsIPv6 on Windows

� IPv6 在 WindowsXP之後,已經開始支援 IPv6。不過在WindowsXP下,我們還必須在命令提示字元下輸入”ipv6 install”才能夠啟用IPv6網路

� IPv6啟動前執行ipconfig:

2011/06/22 新一代網際網路協定教育訓練課程 22

Page 23: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 on WindowsIPv6 on Windows

�執行ipv6 install 指令:

2011/06/22 新一代網際網路協定教育訓練課程 23

Page 24: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 on WindowsIPv6 on Windows

�之後再執行 ipconfig ,我們會發現多了fe80 開頭的 IPv6 位址

這樣子就可以使用 IPv6 的位址來做通訊了!

2011/06/22 新一代網際網路協定教育訓練課程 24

Page 25: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Windows XP PingWindows XP Ping測試測試� 在這邊我們讓Host和Server利用ping來做一個測試,驗證設定是否正確

� 位址設定如下:◦ Server: fe80::a00:27ff:fe84:a767◦ Host: fe80::21b:fcff:fec0:8e97

� 在使用 ping6 時,我們必須指定用哪一個interface 去做 Ping 的動作◦ 從上頁圖的 ipconfig 我們看到最後面的是

%5,所以等一下 Host 輸入 Server 位址的時候都加上 %5

2011/06/22 新一代網際網路協定教育訓練課程 25

Page 26: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Windows XP PingWindows XP Ping測試測試

� Host to Server◦ 輸入 ping6 fe80::a00:27ff:fe84:a767%5

◦ Host已經成功地Ping到Server了!

2011/06/22 新一代網際網路協定教育訓練課程 26

Page 27: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Windows XP PingWindows XP Ping測試測試

� Server to Host ◦ 輸入 ping6 -I eth0 -c 5 fe80::21b:fcff:fec0:8e97

Server 也可以成功地Ping到Host,所以整個網路環境順利的架設起來了!

2011/06/22 新一代網際網路協定教育訓練課程 27

Page 28: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))

�使用兩台Linux主機進行Ping測試,讓兩台電腦能夠透過IPv6來進行連線。

�系統架構圖:

2011/06/22 新一代網際網路協定教育訓練課程 28

Page 29: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))

� Host1設定◦ 先使用ifconfig查詢Host1是否有IPv6位址

2011/06/22 新一代網際網路協定教育訓練課程 29

已取得IPv6位址,表示支援IPv6

Page 30: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))◦ 修改/etc/sysconfig/network-scripts/ifcfg-eth0

◦ #vim /etc/sysconfig/network-scripts/ifcfg-eth0

2011/06/22 新一代網際網路協定教育訓練課程 30

檔案原始設定

Page 31: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))

◦ 加入下列三行IPv6設定,並存檔離開

2011/06/22 新一代網際網路協定教育訓練課程 31

IPv6位址設定

Page 32: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))◦ 將network重新啟動,套用剛才輸入的位址設定◦ /etc/init.d/network restart

◦ 用ifconfig查詢eth0,如下圖Host1的位址設定已經生效

2011/06/22 新一代網際網路協定教育訓練課程 32

Page 33: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))

� Host2設定

2011/06/22 新一代網際網路協定教育訓練課程 33

Page 34: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))◦ #vim /etc/sysconfig/network-scripts/ifcfg-eth0

◦ 加入下列三行IPv6設定,並存檔離開

2011/06/22 新一代網際網路協定教育訓練課程 34

IPv6位址設定

Page 35: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))◦ 將network重新啟動,套用剛才輸入的位址設定

◦ 用ifconfig查詢eth0,如下圖Host2的位址設定已經生效

2011/06/22 新一代網際網路協定教育訓練課程 35

Page 36: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Linux PingLinux Ping測試測試((使用固定位址使用固定位址))

�最後Host1與Host2互相執行Ping指令即可◦ Host1: � #ping6 2222::2

◦ Host2: � #ping6 2222::1

2011/06/22 新一代網際網路協定教育訓練課程 36

Page 37: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

DNS SERVER (BIND)DNS SERVER (BIND)Chapter 02

2011/06/22 37新一代網際網路協定教育訓練課程

Page 38: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

� Bind 簡介�系統環境� Bind 安裝� Bind 設定檔� Bind IPv6 驗證�參考資料

2011/06/22 新一代網際網路協定教育訓練課程 38

Page 39: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

BindBind簡介簡介

� Bind 是我們常用的 DNS Server,現在已經支援了IPv6的位址解析。

�本篇將介紹如何在 CentOS 安裝 DNS Server 並且能夠對 IPv6 做監聽。

2011/06/22 新一代網際網路協定教育訓練課程 39

Page 40: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

系統環境系統環境

�系統環境:◦ IPv6 DNS Server: CentOS 5.x◦ IPv6 Host: Windows XP◦ Switch:D-Link DES-1005D

�系統架構圖:

2011/06/22 新一代網際網路協定教育訓練課程 40

Page 41: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind Bind 安裝安裝

�透過 yum 安裝 Bind 與其設定檔範本◦ #yum install bind system-config-bind bind-

chroot

◦ 安裝完成之畫面

2011/06/22 新一代網際網路協定教育訓練課程 41

Page 42: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind Bind 設定檔設定檔

� 設定檔位置:/var/named/chroot/◦ 由於安全性考量,安裝完 bind-chroot 套件後,bind 的設定檔位置會改到 /var/named/chroot 下◦ system-config-bind 套件則是安裝bind預設的設定檔,位置在/usr/share/system-config-bind/profiles/default 下

� 設定檔放置步驟◦ 1. named.conf

� 先到 /usr/share/system-config-bind/profiles/default 將named.conf 複製到 /var/named/chroot/etc

� # cd /usr/share/system-conf-bind/profiles/default

� # cp named.conf /var/named/chroot/etc/

2011/06/22 新一代網際網路協定教育訓練課程 42

Page 43: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind Bind 設定檔設定檔◦ 2. 正反解檔案

� 到 /usr/share/system-config-bind/profiles/default/named 去複製系統預設的正反解檔案(zone)

� # cd /usr/share/system-config-bind/profiles/default/named� # cp *.* /var/named/chroot/var/named/

2011/06/22 新一代網際網路協定教育訓練課程 43

Page 44: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind Bind 設定檔設定檔◦ 3. named.root

� 到 /usr/share/doc/bind-9.3.4/sample/var/named 複製named.root 到 /var/named/chroot/var/named/

� # cd /usr/share/doc/bind-9.3.4/sample/var/named� # cp named.root /var/named/chroot/var/named/

� 啟動 bind◦ /etc/init.d/named start

2011/06/22 新一代網際網路協定教育訓練課程 44

Page 45: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind Bind 設定檔設定檔

�增加 AAAA 記錄◦ IPv4 -> A 記錄◦ IPv6 -> AAAA 記錄◦ 編輯正解檔

◦ 編輯反解檔

2011/06/22 新一代網際網路協定教育訓練課程 45

Page 46: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind IPv6 Bind IPv6 驗證驗證

�利用netstat 檢查 Bind 是否同時監聽IPv4 與 IPv6 的 53 port◦ #netstat -antlp | grep ':53'◦ 可以看到已經啟動IPv4 和 IPv6的服務了

� 沒有看到上面的v6 port時,請修改/var/named/chroot/etc/named.conf在 options 區段內有些 Bind 版本需加入以下內容:

� listen-on-v6 { any; };

2011/06/22 新一代網際網路協定教育訓練課程 46

Page 47: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind IPv6 Bind IPv6 驗證驗證

� DNS解析驗證

2011/06/22 新一代網際網路協定教育訓練課程 47

Page 48: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Bind IPv6 Bind IPv6 驗證驗證

�瀏覽網頁驗證

2011/06/22 新一代網際網路協定教育訓練課程 48

Page 49: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

MAIL SERVER(POSTFIX)MAIL SERVER(POSTFIX)Chapter 03

2011/06/22 49新一代網際網路協定教育訓練課程

Page 50: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

� Postfix 簡介�系統環境� Postfix 安裝� Postfix 設定檔�用戶端設定� Postfix IPv6 驗證�參考資料

2011/06/22 新一代網際網路協定教育訓練課程 50

Page 51: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

PostfixPostfix簡介簡介

�在 Unix-like 系統上,Sendmail 一直是個很常見的 Mail Server,不過在早期有安全性和使用門檻的問題,Postfix 就開始開發,目標是在相容 Sendmail的條件下發展,近年來也成為一個相當廣泛使用的 Mail Server。

�以下就以 Postfix 來示範如何建立一個支援 IPv6 的 Mail Server

2011/06/22 新一代網際網路協定教育訓練課程 51

Page 52: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

系統環境系統環境

�系統環境:◦ IPv6 Mail Server: CentOS 5.x◦ IPv6 Host: Windows XP◦ Switch:D-Link DES-1005D

�系統架構圖:

2011/06/22 新一代網際網路協定教育訓練課程 52

Page 53: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

PostfixPostfix安裝安裝

�在命令列使用yum安裝Postfix◦ #yum install postfix

�安裝成功後將Sendmail移除,避免與Postfix衝突◦ #yum remove sendmail

2011/06/22 新一代網際網路協定教育訓練課程 53

Page 54: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

PostfixPostfix安裝安裝

◦ 完成移除之畫面

2011/06/22 新一代網際網路協定教育訓練課程 54

Page 55: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Postfix Postfix 設定檔設定檔

�位置:/etc/postfix/main.cf�修改設定檔:◦ #vim /etc/postfix/main.cf◦ 將 #inet_interfaces=all 去除#符號做反註解◦ 之後將 inet_interfaces=localhost 做註解◦ 加入 inet_protocols=all 同時監聽 IPv4、

IPv6◦ 如下頁圖

2011/06/22 新一代網際網路協定教育訓練課程 55

Page 56: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Postfix Postfix 設定檔設定檔

◦ 設定畫面

2011/06/22 新一代網際網路協定教育訓練課程 56

Page 57: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Postfix Postfix 設定檔設定檔

◦ 重新啟動Postfix◦ #/etc/init.d/postfix start

2011/06/22 新一代網際網路協定教育訓練課程 57

Page 58: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Postfix Postfix 設定檔設定檔

◦ 安裝 dovecot 以提供 POP3 服務◦ # yum install dovecot◦ 編輯 dovecot.conf 設定檔◦ # vim /etc/dovecot.conf

◦ 將 POP3 服務寫入設定檔

2011/06/22 新一代網際網路協定教育訓練課程 58

Page 59: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Postfix Postfix 設定檔設定檔

◦ 啟動 dovecot◦ #/etc/init.d/dovecot start

2011/06/22 新一代網際網路協定教育訓練課程 59

Page 60: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

用戶端設定用戶端設定

�以 Microsoft Mail 為例

2011/06/22 新一代網際網路協定教育訓練課程 60

Page 61: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Postfix IPv6 Postfix IPv6 驗證驗證

�利用netstat 檢查 postfix是否同時監聽IPv4 與 IPv6 ◦ #netstat -tlunp | grep :25 ◦ 可以看到已經啟動IPv4 和 IPv6的服務了

2011/06/22 新一代網際網路協定教育訓練課程 61

Page 62: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Postfix IPv6 Postfix IPv6 驗證驗證

�使用Microsoft Mail 收信後, 以記事本軟體打開信件檔觀看標頭資訊

2011/06/22 新一代網際網路協定教育訓練課程 62

Page 63: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

2011/06/22 63新一代網際網路協定教育訓練課程

Page 64: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

WEB SERVER (APACHE)WEB SERVER (APACHE)

Chapter 04

2011/06/22 64新一代網際網路協定教育訓練課程

Page 65: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

� Apache 簡介�系統環境� Apache Server 安裝� Apache Server 設定檔� IPv6 Web Server 測試�參考資料

2011/06/22 新一代網際網路協定教育訓練課程 65

Page 66: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Apache Apache 簡介簡介

� Apache 是 Unix-like OS中最常見的Web Server,目前 Apache2 已經直接預設支援 IPv6/IPv4 的 Dual Stack 運作,在 CentOS5.x 的Apache 2.2.3-22 也是如此

�以下示範如何安裝一個支援 IPv6 的Web Server

2011/06/22 新一代網際網路協定教育訓練課程 66

Page 67: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

系統環境系統環境

�系統環境:◦ IPv6 Web Server: CentOS 5.x◦ IPv6 Host: Windows XP◦ Switch:D-Link DES-1005D◦ Browser: Internet Explorer 8.0

�系統架構圖:

2011/06/22 新一代網際網路協定教育訓練課程 67

Page 68: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Apache ServerApache Server 安裝安裝

�在命令列使用yum安裝Apache◦ #yum install httpd

2011/06/22 新一代網際網路協定教育訓練課程 68

Page 69: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Apache ServerApache Server 安裝安裝

2011/06/22 新一代網際網路協定教育訓練課程 69

安裝完成

Page 70: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Apache ServerApache Server 設定檔設定檔

�位置:/etc/httpd/conf/httpd.conf� Apache 預設已支援IPv4/IPv6雙協定運行

2011/06/22 新一代網際網路協定教育訓練課程 70

設定檔畫面

Page 71: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 Web Server IPv6 Web Server 測試測試

�位址設定◦ Server: fe80::a00:27ff:fe84:a767

◦ Host: fe80::21b:fcff:fec0:8e97

� Host端介面◦ 使用ipconfig得知介面為%11

2011/06/22 新一代網際網路協定教育訓練課程 71

Page 72: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 Web Server IPv6 Web Server 測試測試

�如下圖,成功以IPv6位址連接到Server

2011/06/22 新一代網際網路協定教育訓練課程 72

Page 73: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

FTP SERVER(VSFTPD)FTP SERVER(VSFTPD)Chapter 05

2011/06/22 73新一代網際網路協定教育訓練課程

Page 74: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

� vsftpd 簡介�系統環境� vsftpd Server 安裝� vsftpd Server 設定檔�建立FTP 使用者� IPv6 FTP Server 測試�參考資料

2011/06/22 新一代網際網路協定教育訓練課程 74

Page 75: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

vsftpdvsftpd 簡介簡介

� vsftpd全名為 Very Secure FTP Daemon,是以安全性的角度去設計的一個 FTP Server。

�提供了完善的安全性,容易上手的特性也它逐漸成為一個常用的 FTP Server。

�以下將示範如何架起一個 IPv6 的 FTP Server。

2011/06/22 新一代網際網路協定教育訓練課程 75

Page 76: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

系統環境系統環境

�系統環境:◦ IPv6 FTP Server: CentOS 5.x◦ IPv6 Host: Windows XP◦ Switch:D-Link DES-1005D

�系統架構圖:

2011/06/22 新一代網際網路協定教育訓練課程 76

Page 77: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

vsftpdvsftpd Server Server 安裝安裝

�在命令列使用yum安裝vsftpd◦ #yum install vsftpd

2011/06/22 新一代網際網路協定教育訓練課程 77

Page 78: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

vsftpdvsftpd Server Server 安裝安裝

� 安裝完成之畫面

2011/06/22 新一代網際網路協定教育訓練課程 78

Page 79: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

vsftpdvsftpd Server Server 設定檔設定檔

�位置:/etc/vsftpd/vsftpd.conf�修改設定檔◦ #vim /etc/vsftpd/vsftpd.conf

2011/06/22 新一代網際網路協定教育訓練課程 79

Page 80: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

vsftpdvsftpd Server Server 設定檔設定檔

�將裡面的 listen=YES 註解、#listen_ipv6=YES 反註解,如下圖

2011/06/22 新一代網際網路協定教育訓練課程 80

設定檔畫面

Page 81: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

vsftpdvsftpd Server Server 設定檔設定檔

�重新啟動vsftpd以便生效◦ #/etc/init.d/vsftpd restart

2011/06/22 新一代網際網路協定教育訓練課程 81

Page 82: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

建立建立FTPFTP使用者使用者

�建立一個新的 user:ftpuser,並設定其密碼◦ #adduser ftpuser

�將該使用者之家目錄加上x(執行)權限◦ #chmod u+x /home/ftpuser

2011/06/22 新一代網際網路協定教育訓練課程 82

Page 83: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

建立建立FTPFTP使用者使用者

�利用 ls –al 指令查詢權限設定前後的變化

使用者的權限從 drw------- 變成了 drwx------

2011/06/22 新一代網際網路協定教育訓練課程 83

Page 84: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

IPv6 FTP Server IPv6 FTP Server 測試測試

�利用 XP 內建的 ftp 程式直接連線到Server 端的 port 21 做測試

2011/06/22 新一代網際網路協定教育訓練課程 84

順利透過IPv6連線到FTP Server

Page 85: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

2011/06/22 85新一代網際網路協定教育訓練課程

Page 86: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

DHCPV6 SERVER DHCPV6 SERVER (DIBBLER)(DIBBLER)

Chapter 06

2011/06/22 86新一代網際網路協定教育訓練課程

Page 87: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

� Dibbler 簡介�系統環境� Dibbler Server 端安裝與設定� Dibbler Client 端安裝與設定(Windows)� Dibbler Client 端安裝與設定(Linux)�參考資料

2011/06/22 新一代網際網路協定教育訓練課程 87

Page 88: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

DibblerDibbler簡介簡介

� Dibbler 是一個跨平台的 DHCPv6 Server ,在 Linux、WindowsXP、Windows2003 下都有支援,只要在Client 端安裝 Dibbler 的 Client 程式,就可以獲取從 Dibbler – Server 配發的位址。

�以下以 CentOS5.x 作為 Dibbler 的Server,分別以 Windows XP、Linux 作為 Dibbler 的 Client做DHCPv6分配IP的實做。

2011/06/22 新一代網際網路協定教育訓練課程 88

Page 89: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

系統環境系統環境

�系統環境:◦ IPv6 DHCP Server: CentOS 5.x◦ IPv6 Host: Windows XP◦ Switch:D-Link DES-1005D

�系統架構圖:

2011/06/22 新一代網際網路協定教育訓練課程 89

Page 90: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

�由於 Dibbler 並沒有被列入 CentOS 的套件庫中,所以這邊不能用yum來安裝,先到 Dibbler 的網站下載原始檔,在命令列進行安裝◦ #wget http://klub.com.pl/dhcpv6/dibbler/dibbler-0.7.3-

src.tar.gz

2011/06/22 新一代網際網路協定教育訓練課程 90

Page 91: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ 下載完成後,用tar指令將其解壓縮� #tar zxvf dibbler-0.7.3-src.tar.gz

◦ 解壓縮完成畫面

2011/06/22 新一代網際網路協定教育訓練課程 91

Page 92: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ 解壓縮後使用ls查詢檔案,會發現多了一個dibbler-0.7.3資料夾� #ls

◦ 進入資料夾內查看檔案� #cd dibbler-0.7.3� #ls

2011/06/22 新一代網際網路協定教育訓練課程 92

Page 93: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ dibbler-0.7.3資料夾的檔案列表,裡面有個Makefile◦ 代表可以直接做 make 和 make install 安裝到系統中

2011/06/22 新一代網際網路協定教育訓練課程 93

Page 94: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ 編譯 Dibbler � #make� 系統顯示缺少g++(gcc-c++)套件

� 利用yum將其裝上� #yum install gcc-c++

2011/06/22 新一代網際網路協定教育訓練課程 94

Page 95: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ g++(gcc-c++)安裝完成

2011/06/22 新一代網際網路協定教育訓練課程 95

Page 96: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ 再次進行make,就可以順利編譯了� #make

2011/06/22 新一代網際網路協定教育訓練課程 96

Page 97: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ Make完成後直接進行make install將程式安裝進去� #make install

2011/06/22 新一代網際網路協定教育訓練課程 97

Page 98: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ 安裝完成的畫面

2011/06/22 新一代網際網路協定教育訓練課程 98

Page 99: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

�設定Dibbler-Server◦ 位置: /etc/dibbler/server.conf◦ #vim /etc/dibbler/server.conf

2011/06/22 新一代網際網路協定教育訓練課程 99

Page 100: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

◦ 設定檔內容:� T1與T2 :是 Client 重新取得位址的時間的代碼� prefered-lifetime:是位址的存活時間� vaild-lifetime:位址的有效時間� pool:實際希望進行位址分配的範圍

2011/06/22 新一代網際網路協定教育訓練課程 100

Page 101: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

� class { pool 2000:00/64 }:位址的範圍

2011/06/22 新一代網際網路協定教育訓練課程 101

Page 102: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

� 其他設定,例如FQDN、NTP、MIS等

2011/06/22 新一代網際網路協定教育訓練課程 102

Page 103: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Server Dibbler Server 端安裝與設定端安裝與設定

�啟動 dibbler-server◦ #dibbler-server start

◦ 使用 netstat 查詢dibbler是否開始監聽� #netstat -anutl | grep ::� 查詢到 port 547 已被監聽,dibbler-server 順利啟動

2011/06/22 新一代網際網路協定教育訓練課程 103

Page 104: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

�在 Windows XP 下,系統必須安裝一個特定的DHCPv6 Client才能抓取到DHCPv6 Server 配發的IPv6 Address

� Windows Dibbler-Client下載點◦ http://klub.com.pl/dhcpv6/#DOWNLOAD◦ 抓取目前最新的 0.72版來安裝。

2011/06/22 新一代網際網路協定教育訓練課程 104

Page 105: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

�安裝流程◦ 起始畫面

2011/06/22 新一代網際網路協定教育訓練課程 105

Page 106: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

◦ 在元件選擇這邊,只把 DHCPv6 client 選項打勾即可

2011/06/22 新一代網際網路協定教育訓練課程 106

Page 107: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

◦ 安裝完成畫面

2011/06/22 新一代網際網路協定教育訓練課程 107

Page 108: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

�修改Dibbler Client設定檔

◦ 開始 –> 程式集 –> Dibbler –> Client Run in the console –> Client Edit config file

◦ 將裡面的 #inactive-mode 反註解,讓Dibbler-Client對所有的 interface 做掃描(也可以只針對單一interface)

2011/06/22 新一代網際網路協定教育訓練課程 108

Page 109: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

◦ 設定畫面

2011/06/22 新一代網際網路協定教育訓練課程 109

Page 110: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

�啟動Dibbler-Client◦ 開始 –> 所有程式 –> Dibbler –> Client Run in the console

◦ 區域連線是已取得2000::9435:4306:5eae:c7ab 這個位址了

2011/06/22 新一代網際網路協定教育訓練課程 110

Page 111: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Windows)(Windows)

◦ 利用ipconfig再查詢一下◦ 也有顯示取得 2000::9435:4306:5eae:c7ab 位址了

2011/06/22 新一代網際網路協定教育訓練課程 111

Page 112: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler ClientDibbler Client端安裝與設定端安裝與設定(Windows)(Windows)

�將Dibbler-Client設為系統服務◦ 開始 –> 所有程式 –> Dibbler –> Client

Install as service◦ 開機就會自動執行取得位址

2011/06/22 新一代網際網路協定教育訓練課程 112

Page 113: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Linux)(Linux)

� Linux 的 Dibbler-Client 在我們安裝 Dibbler 原始檔時,就已經被安裝進來了

� 設定Client設定檔◦ 位置:/etc/dibbler/client.conf

◦ 直接用預設值即可使用

� 啟動Dibbler-Client◦ 先用 ifconfig 查詢網卡eth0位址◦ ifconfig eth0

2011/06/22 新一代網際網路協定教育訓練課程 113

Page 114: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

Dibbler Client Dibbler Client 端安裝與設定端安裝與設定(Linux)(Linux)

◦ 執行dibbler-client◦ #dibbler-client start

◦ 再查詢一下eth0位址,已取得Server所配發的位址◦ #ifconfig eth0

2011/06/22 新一代網際網路協定教育訓練課程 114

Page 115: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

FIREWALL(IP6TABLES)FIREWALL(IP6TABLES)Chapter 07

2011/06/22 115新一代網際網路協定教育訓練課程

Page 116: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

大綱大綱

� iptables與ip6tables 簡介�系統環境� iptables/ip6tables 查詢與清除規則�阻擋ipv6 web連線�參考資料

2011/06/22 新一代網際網路協定教育訓練課程 116

Page 117: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

iptablesiptables與與ip6tables ip6tables 簡介簡介� 從 Kernel 2.4 開始,iptables 一直是

Linux 系統中內建的防火牆,不但可以寫入各式各樣的規則,也可以讓我們建立NAT(Network Address Translation) 網路,實現多台電腦共用一個實體IP上網的模式。

� 在 IPv6 網路中,同樣有一套 ip6tables 可以作為我們電腦的防火牆。

� ip6tables 與 iptables 最大的不同是在於ip6tables 可以支援 IPv6 的Address/Prefix 設定,而其他大多數的用法都與iptables 相同,所以對於熟悉iptables 的用戶,ip6tables 一定可以輕鬆上手。 2011/06/22 新一代網際網路協定教育訓練課程 117

Page 118: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

系統環境系統環境

�系統環境:◦ IPv6 Server with Firewall : CentOS 5.x◦ IPv6 Host: Windows XP◦ Switch:D-Link DES-1005D

�系統架構圖:

2011/06/22 新一代網際網路協定教育訓練課程 118

Page 119: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

iptables/ip6tables iptables/ip6tables 查詢與清除規查詢與清除規則則�查詢防火牆規則◦ #ip6tables -L◦ 目前防火牆沒有任何規則,預設也都是ACCEPT

2011/06/22 新一代網際網路協定教育訓練課程 119

Page 120: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

iptables/ip6tables iptables/ip6tables 查詢與清除規查詢與清除規則則�清除v6與v4的防火牆規則◦ #ip6tables -F◦ #ip6tables –X◦ #ip6tables –Z◦ #iptables –F◦ #iptables –X◦ #iptables -Z

2011/06/22 新一代網際網路協定教育訓練課程 120

Page 121: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

iptables/ip6tables iptables/ip6tables 查詢與清除規查詢與清除規則則�查詢v6規則◦ #ip6tables -L

�查詢v4原則◦ #iptables -L

2011/06/22 新一代網際網路協定教育訓練課程 121

Page 122: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

阻擋阻擋ipv6 webipv6 web連線連線

� 在清除完IPv4與IPv6的防火牆規則後,以下示範如何鎖定IPv6的網頁瀏覽◦ 先確認 IPv4 與 IPv6 皆可瀏覽網頁

2011/06/22 新一代網際網路協定教育訓練課程 122

Page 123: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

阻擋阻擋ipv6 webipv6 web連線連線

◦ 在確認都可以正常連線後,在ip6tables加入一條規則� #ip6tables -A INPUT -i eth0 -p tcp --dport 80 -j

DROP� -A 代表新增一條規則� INPUT 代表要設定的chain� -i 代表輸入的介面� -p 代表通訊協定� --dport 為目的端 port� -j 則是符合規則所採取的行動

2011/06/22 新一代網際網路協定教育訓練課程 123

Page 124: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

阻擋阻擋ipv6 webipv6 web連線連線◦ 設定完成後,再次以IE瀏覽器連接IPv4與IPv6的頁面◦ IPv4還是可以正常連線

2011/06/22 新一代網際網路協定教育訓練課程 124

Page 125: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

阻擋阻擋ipv6 webipv6 web連線連線◦ 而IPv6則無法連線了,確認防火牆已生效

2011/06/22 新一代網際網路協定教育訓練課程 125

Page 126: TWNIC IPv6 Linux 100 20110803€¦ · Linux Kernel 在2.1.8 即加入IPv6的部份 功能,現今的Linux Kernel 2.6.x 中, IPv6已經是被完整地支援。在2008年12 月1日,Linux

感謝您們的參與感謝您們的參與感謝您們的參與感謝您們的參與!!有緣再相會有緣再相會有緣再相會有緣再相會~

2011/06/22 126新一代網際網路協定教育訓練課程