2011-08-25

IPv6 種子培訓 - Linux 筆記 (3)

2. 建置 Dual-Stack 網路環境 (IPv4/IPv6 共存)


要想駕馭 Linux 除了取得系統管理者權限(root)以外,還得要能上網才行,畢竟要是沒有套件庫伺服器在後面撐腰,要想額外裝些套件可是難上加難啊!這裡將以 Dual-Stack (IPv4/IPv6 共存) 的方案來建置網路環境,若找到支援 IPv6 的套件來源或許可省略此步驟

關於 setup。

網路環境設定的部份小麥老師早就很熱血的把相關步驟寫在 CF197: Linux上ipv6基本設定 一文,想當初尚未考取 RHCE 前凍仁也曾做過類似的動作,只是這樣一來容易出錯,二來必須得背更多的語法,關於直接編輯網路設定檔部份凍仁認為 Debian/Ubuntu 比較友善,其實在 RHEL/CentOS/Fedora 可以透過 setup 指令透過圖形化做些簡易的設定。

2.1 建置 IPv4 網路環境


請記得以下設定要與 Windows7(host) 同網段。
root@ipv6day:~$ setup [Enter]

1. 選擇 Network configuration (網路設定)。

2. 選擇 Edit Devices (編輯裝置)。

3. 選擇 eth0 (第一張有線網路的裝置代號)。

4. 預設使用 DHCP 的方式取得 IP。

5. 取消勾選後 DHCP 並設定 Static IP (靜態IP)、Netmask (子網路遮罩)以及 Default gateway IP (預設閘道IP)。

6. 重新啟動網路服務。
root@ipv6day:~$ /etc/init.d/networking restart [Enter]

7. 檢查是否取得 IPv4。
root@ipv6day:~$ ifconfig [Enter]
eth0 Link encap:Ethernet HWaddr 08:00:27:74:db:34
       inet addr:192.168.7.8 Bcast:192.168.7.255 Mask:255.255.255.0
...

2.2 建置 IPv6 網路環境


說穿了,凍仁是先透過 setup 先建立好 IPv4 環境之後再手動加入IPv6 的設定,相信少打個幾行可以減少些狀況。

1. 取得 IPv6 預設 Default Gateway 閘道位置。
# with traceroute6.
root@ipv6day:~$ traceroute6 ipv6.google.com [Enter]
traceroute to ipv6.google.com (2404:6800:8005::63), 30 hops max, 80 byte packets
  1   2001:288:5000:17::1   2001:288:5000:17::1   4.123 ms   4.234 ms   4.345 ms
...

2. 編輯網卡設定。
root@ipv6day:~$ vi /etc/sysconfig/network-scripts/ifcfg-eth0 [Enter]
# Intel Corporation 82540EM Gigabit Ethernet Controller.
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=08:00:27:74:db:34
NETMASK=255.255.255.0
IPADDR=192.168.7.8
GATEWAY=192.168.7.254
TYPE=Ethernet

# IPv6 Configure.
IPV6ADDR=2001:288:5000:17::26
IPV6_DEFAULTGW=2001:288:5000:17::1
IPV6INIT=yes

3. 啟用 IPv6。
root@ipv6day:~$ vi /etc/sysconfig/network [Enter]
NETWORKING=yes
NETWORKING_IPV6=yes # 預設為 no。
HOSTNAME=ipv6day

4. 重新啟動網路服務。
root@ipv6day:~$ /etc/init.d/networking restart [Enter]

5. 檢查是否取得 IPv6。
root@ipv6day:~$ ifconfig [Enter]
eth0 Link encap:Ethernet HWaddr 08:00:27:74:db:34
       inet addr:192.168.7.8 Bcast:192.168.7.255 Mask:255.255.255.0
       inet6 addr:2001:288:5000:17::26/64 Scope:Global
...

6. IPv6 測試。
root@ipv6day:~$ ping6 -c 3 ipv6.google.com [Enter]
PING 2404:6800:8005::63(2404:6800:8005::63) 56 data bytes
64 bytes from 2404:6800:8005::63: icmp_seq=1 ttl=128 time=24.025 ms
64 bytes from 2404:6800:8005::63: icmp_seq=2 ttl=128 time=24.047 ms
64 bytes from 2404:6800:8005::63: icmp_seq=3 ttl=128 time=24.039 ms

--- 2404:6800:8005::63 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 24.025/24.037/24.047/0.009 ms, pipe 2

站內連結:
IPv6 種子培訓 - Linux 筆記 (1)
IPv6 種子培訓 - Linux 筆記 (2)
IPv6 種子培訓 - Linux 筆記 (4)