Linux 網路的 IPv6 應用

來源:互聯網
上載者:User
作者:曹江華

IPv6(Internet Protocol Version 6)協議是取代 IPv4 的下一代網路通訊協定,它具有許多新的特性與功能。由 IP 位址危機產生和發展起來的 IPv6 作為下一代互連網協議已經得到了各方的公認,未來互連網的發展離不開IPv6的支援和應用。Ipv6 協議和 Ipv4 協議不論在結構上還是系統工具的使用上都不大相同。 Linux 是所有作業系統中最先支援 IPv6 的,這裡介紹一下 Linux 下的 IPv6 的地址、路由設定、防火牆配置、安全工具,使大家可以在 Linux 網路環境下從 IPv4 快速過渡到 IPv6。

配置 Ipv6 協議

下面筆者以 Mandrake 9.1 Linux 為例部署 Linux 下的 IPv6。

1、載入 IPv6 模組

和 Windows 系統相比 Linux 對 Ipv6 的支援更好,一般基於 2.4 核心的 Linux 發行版本都可以直接使用 Ipv6,使用前要看系統 IPv6 模組是否被載入,如果沒有的話可以使用命令手工載入,這需要超級使用者的許可權。然後使用命令檢測,圖 1 中第五行處顯示 IPv6 地址 ( inet6 addr:fe80::200:e8ff:fea0:2586/64 )證明 IPv6 已經載入。

# modprobe IPv6

#ifconfig -a

顯示如下內容:

圖 1 顯示 IPv6 地址已經載入

2、使用 Ping 命令檢測網卡的 IPv6 地址是否有效

和 IPv4 不一樣使用 Ping6 命令時必須指定一個網卡介面,否則系統將不知道將資料包發送到那個網路裝置,I表示 Interface、eth0 是第一個網卡、c 表示迴路,3 表示 Ping6 操作三次。結果見圖 2:

#ping6 -I eth0 -c 1 fe80::200:e8ff:fea0:2586

3、使用 IP 命令

IP 命令是 iproute2 軟體包裡面的一個強大的網路設定工具,它能夠替代一些傳統的網路管理工具。如:ifconfig、route 等。

(1)使用 "ip" 命令查看 IPv6 的路由表:

#/sbin/ip -6 route show dev eth0

(2)使用 "IP" 命令添加一個路由表:

#/sbin/route -A inet6 add 2000::/3 gw 3ffe:ffff:0:f101::1

(3)用 IP 命令設定 IPv6 的多點傳播 Neighbor Solicitation

IPv6 的 Neighbor Discovery 繼承了 IPv4 的 ARP(Address Resolution Protocol 位址解析通訊協定),可以重新得到近端分享的資訊,並且可以編輯/刪除它.使用IP命令可以知道近端分享的設定(其中,00:01:24:45:67:89 是網路裝置的資料連結層的 MAC 位址):

#ip -6 neigh show fe80::201:23ff:fe45:6789 dev eth0 ll addr 00:01:24:45:67:89

router nud reachable

Linux Ipv6 版本網路環境的防火牆

安裝:

基於 Linux 2.4 核心的防火牆的關鍵是 iptables。在 2.2 系列的時候它取代了 ipchains 和 2.0 系列之前的 ipfwadm。如果你想使用任何形式的防火牆都需要安裝iptables。

(1)下載 Ipv6 版本的 iptables,下載連結:ftp://ftp.uni-bayreuth.de/pub/ Linux /ark Linux /1.0-0.alpha8.2/i586/iptables-ipv6-1.2.7a-1ark.i586.rpm

(2) 安裝防火牆:

#rpm -ivh iptables-ipv6-1.2.7a-1ark.i586.rpm

配置 iptables

iptables 是與主流的 2.4.x 版本 Linux 核心整合的 IP 資訊包過濾系統。如果 Linux 系統串連到網際網路或 LAN、伺服器或串連 LAN 和網際網路的Proxy 伺服器,則該系統有利於在 Linux 系統上更好地控制 IP 資訊包過濾和防火牆配置。netfilter/iptables IP 資訊包過濾系統是一種功能強大的工具,可用於添加、編輯和除去規則,這些規則是在做資訊包過濾決定時,防火牆所遵循和組成的規則。這些規則儲存在專用的資訊包過濾表中,而這些表整合在 Linux 核心中。在資訊包過濾表中,規則被分組放在我們所謂的鏈(chain)中。下面馬上會詳細討論這些規則以及如何建立這些規則並將它們分組在鏈中。

(1) 清理舊規則:

#ip6tables [-FXZ]

參數說明:

-F :清除所有的已訂定的規則;

-X :殺掉所有使用者建立的表(table)。

-Z :將所有的鏈 (chain) 的計數與流量統計都歸零。

(2)建立政策

#ip6tables [-t tables] [-P] [INPUT,OUTPUT,FORWARD, PREROUTING,OUTPUT,POSTROUTING] [ACCEPT,DROP] [-p TCP,UDP] [-s IP/network] [--sport ports] [-d IP/network] [--dport ports] -j

參數說明:

-t :定義表( table)。

tables :table 表的名稱,

-P :定義政策( Policy )。

INPUT :資料包為輸入主機的方向;

OUTPUT :資料包為輸出主機的方向;

FORWARD :資料包為不進入主機而向外再傳輸出去的方向;

PREROUTING :在進入路由之前進行的工作;

OUTPUT :資料包為輸出主機的方向;

POSTROUTING :在進入路由之後進行的工作。

TCP :TCP 協議的資料包。

UDP :UDP 協議的資料包;

-s :來來源資料包的 IP 或者是網路。

--sport :來來源資料包的連接埠( port)號。

-d :目標主機的 IP 或者是網路。

--dport :目標主機連接埠的(port)號。

ACCEPT :接受該資料包。

DROP :丟棄資料包。

(3) 範例:

1、允許 ICMPv6 資料包進入主機(即允許 Ping 主機 Ipv6 地址):

#/sbin/ip6tables -A INPUT -i sit+ -p icmpv6 -j ACCEPT

2、允許 ICMPv6 資料包從主機輸出:

# ip6tables -A OUTPUT -o sit+ -p icmpv6 -j ACCEPT

3、允許使用 IP 位址是 3ffe:ffff:100::1/128 資料使用 SSH

# ip6tables -A INPUT -i sit+ -p tcp -s 3ffe:ffff:100::1/128 --sport 512:65535

? --dport 22 -j ACCEPT

SSH 的英文全稱是 Secure SHell。通過使用 SSH,你可以把所有傳輸的資料進行加密,這樣“中間伺服器”這種攻擊方式就不可能實現了,而且也能夠防止 DNS 和 IP 欺騙。還有一個額外的好處就是傳輸的資料是經過壓縮的,所以可以加快傳輸的速度。SSH 有很多功能,它既可以代替 telnet,又可以為 ftp、pop、甚至 ppp 提供一個安全的“通道”。SSH 綁定在連接埠 22 上,其串連採用協商方式使用 RSA 加密。身份鑒別完成之後,後面的所有流量都使用 IDEA 進行加密。SSH(Secure Shell)程式可以通過網路登入到遠程主機並執行命令。SSH 的加密隧道保護的只是中間傳輸的安全性,使得任何通常的嗅探工具軟體無法擷取發送的內容。

IPv6 網路的安全工具

Nmap 是在免費軟體基金會的 GNU General Public License (GPL) 下發布的,由 Fyodor 進行開發和維護,可從 www.insecure.org/nmap 網站上免費下載。nmap 是一款運行在單一主機和大型網路情況下的優秀連接埠掃描工具,具有高速、秘密、可以繞過防火牆等特點。它支援多種協議,如 TCP、UDP、ICMP 等。nmap 也具有很多高效能和可靠性的特點,如動態延時計算、包逾時重發、並行連接埠掃描、通過並行 ping6 探測主機是否當掉。它從 3.10 版本開始支援 IPv6。下載連結:http://gd.tuwien.ac.at/infosys/security/nmap/nmap-3.48.tgz

nmap 安裝編譯過程如下:

#tar zxvf nmap-3.48.tgz

#cd nmap-3.48

# ./configure;# make;#make install

nmap 掃描類型

nmap 的文法相當簡單:nmap 的不同選項和-s標誌組成了不同的掃描類型,Ipv6 版本的 nmap 支援兩種掃描方式:

-sT 即 Port Scanning,通常稱為連接埠掃描。

-sS 即 TCP SYN,通常稱為半開發掃描。

nmap 掃描連接埠執行個體:

# nmap -6 -sT ::1

Starting nmap 3.48 ( http://www.insecure.org/nmap/ ) at 2003-12-23 11:55 UTC

All 1657 scanned ports on ::1 are: closed

Nmap run completed -- 1 IP address (1 host up) scanned in 20.521 seconds

輸出的掃描報告顯示 Nmap 掃描了 1657 個連接埠,一個是開啟的其他是關閉的。

注意事項:如果你打算在 IPv6 網路下使用 Nmap,下面幾點經驗可能對你有協助:

● 避免誤解。不要隨意選擇測試 Nmap 的掃描目標。許多單位把連接埠掃描視為惡意行為,所以測試 Nmap 最好在內部網路進行。如有必要,應該告訴同事你正在實驗連接埠掃描,因為掃描可能引發IDS警報以及其他網路問題。

● 建立安全基準。在Nmap的協助下加固網路、搞清楚哪些系統和服務可能受到攻擊之後,下一步是從這些已知的系統和服務出發建立一個安全基準,以後如果要啟用新的服務或者伺服器,就可以方便地根據這個安全基準執行。

如果你想查看在 Ipv6 協議網路工作的 Linux 程式可以訪問:http://www.netcore.fi/pekkas/ Linux /ipv6/ 這裡能找到很多有 IPv6 支援的 RPM 包。

表1 Linux 網路 IPv4 和 IPv6 功能對照

IPv4

IPv4 的迴路地址為 127.0.0.1

來源位址和目的位址長度都為 32 位 (4 位元組)。IPv4 可提供 4294967296 個地址。

IPv4 使用 Internet 群組管理通訊協定 (IGMP) 管理本機子網路群組成員身份。

IPSec 支援是選擇性的。

在 IPv4 包頭中,路由器不識別用於 QoS 處理的 payload。

路由器和傳送主機均支援資料片段。

包頭包括檢查值。

包頭包括選項。

位址解析通訊協議 (ARP) 使用廣播 ARP Request 訊框,將 IPv4 位址解析為連結層地址。

使用 Internet 群組管理通訊協議 (IGMP) 管理本機子網路群組成員身份。

使用 ICMP Router Discovery 確定具有最佳預設網關的 IPv4 地址 (選擇性)。

使用廣播位址將傳輸傳送到子網路上的所有節點。

必須手動設定或使用 DHCP 配置。

使用網路網域名稱稱系統 (DNS) 中的主機地址 (A) 資源記錄,將主機名稱對應到 IPv4 地址。

使用 IN-ADDR.ARPA DNS 網域中的指標 (PTR) 資源記錄,將 IPv4 地址對應到主機名稱。

IPv6

IPv6 的迴路地址為 0000:0000:0000:0000:0000:0000:0000:0001 可以簡寫為 ::1。

來源位址和目的位址長度都為 128 位 (16 位元組)。IPv6 將原來的 32 位地址空間增大到 128 位,數目是 2 的 128 次方,能夠對地球上每平方米提供 6×1023 個網路地址。

IPv6 使用 Multicast Listener Discovery (MLD) 訊息取代 IGMP。

IPSec 支援是必需的。

在 IPv6 包頭中,路由器使用 Flow Label 欄位識別用於 QoS 處理的 payload。

路由器不支援資料片段。僅傳送主機支援資料片段。

包頭不包括檢查值。

所有選項資料均移到 IPv6 擴充包頭中。

用多點傳播 Neighbor Solicitation 訊息取代 ARP Request。

用 Multicast Listener Discovery (MLD) 訊息取代 IGMP。

用 ICMPv6 Router Solicitation 和 Router Advertisement 訊息取代 ICMPv4 Router Discovery,這是必需的。

沒有 IPv6 廣播位址。而是使用連結-本機領域所有節點多點傳播地址。

不需要手動設定或 DHCP。

使用網路網域名稱稱系統 (DNS) 中的主機地址 (AAAA) 資源記錄,將主機名稱對應到 IPv6 地址。

使用 IPv6.INT DNS 網域中的指標 (PTR) 資源記錄,將 IPv6 地址對應到主機名稱。

全文出自 : 賽迪網 - 網管員世界

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.