歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Linux 網絡的 IPv6 應用

  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 和因特網的代理服務器,則該系統有利於在 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




Copyright © Linux教程網 All Rights Reserved