Linux下的IPv6地址、路由以及隧道配置

來源:互聯網
上載者:User
    如今,幾乎所有的主流作業系統、嵌入式操作提供系統都提供了對IPv6協議棧的支援,在windows XP下面,使用ipv6 install命令便可以啟動IPv6協議棧,在預設安裝的linux下,利用modprobe ipv6便可以以模組的方式載入IPv6協議棧。本篇僅介紹linux下面的IPv6協議棧的配置命令,以後會陸續推出更為詳盡的linux及windows下的各種過渡機制,比如6to4,nat-pt,teredo等的配置執行個體。

  1 開啟或關閉介面

  1.1 使用“ip”

  用法:

  # ip link set dev up

  # ip link set dev down

  例子:

  # ip link set dev eth0 up

  # ip link set dev eth0 down

  1.2 使用“ifconfig”

  用法:

  # /sbin/ifconfig up

  # /sbin/ifconfig down

  例子:

  # /sbin/ifconfig eth0 up

  # /sbin/ifconfig eth0 down

  2 配置IPv6地址

  2.1 顯示現有IPv6地址

  (1)使用“ip”

  用法:

  # /sbin/ip -6 addr show dev

  (2)使用“ifconfig”

  用法:

  #/sbin/ifconfig

  2.2 添加或刪除一個IPv6地址

  (1)使用“ip”

  用法:

  # /sbin/ip -6 addr /

dev

  例子:

  # /sbin/ip -6 addr add 3ffe:ffff:0:f101::1/64 dev eth0

  (2)使用“ifconfig”

  用法:

  # /sbin/ifconfig inet6 [add/del] /

  例子:

  # /sbin/ifconfig eth0 inet6 add 3ffe:ffff:0:f101::1/64

  3 配置IPv6路由

  3.1 顯示現有路由

  (1)使用“ip”

  用法:

  # /sbin/ip -6 route show [dev ]

  例子:

  # /sbin/ip -6 route show dev eth0

  3ffe:ffff:0:f101::/64 proto kernel metric 256 mtu 1500 advmss 1440

  fe80::/10 proto kernel metric 256 mtu 1500 advmss 1440

  ff00::/8 proto kernel metric 256 mtu 1500 advmss 1440

  default proto kernel metric 256 mtu 1500 advmss 1440

  (2)使用“route”

  用法:

  # /sbin/route -A inet6

  例子:

  # /sbin/route -A inet6 |grep -w "eth0"

  3ffe:ffff:0:f101 ::/64 :: UA 256 0 0 eth0 <- Interface route for global address

  fe80::/10 :: UA 256 0 0 eth0 <- Interface route for link-local address

  ff00::/8 :: UA 256 0 0 eth0 <- Interface route for all multicast addresses

  ::/0 :: UDA 256 0 0 eth0 <- Automatic default route

  3.2 增加或刪除到一個網關的路由

  (1)使用“ip”

  用法:

  # /sbin/ip -6 route /

via [dev ]

  例子:

  # /sbin/ip -6 route 2000::/3 via 3ffe:ffff:0:f101::1

  (2)使用“route”

  用法:

  # /sbin/route -A inet6 add /

gw [dev ]

  如果網關的IPv6地址是一個鏈路地址,則需要加上dev 參數。

  4 配置IPv6-in-IPv4隧道

  4.1 隧道類型

  (1)靜態點到點隧道:6bone

  點到點的隧道是一個終端(endpoint)的專用隧道。配置這樣的隧道需要知道:

  你的本地隧道終端的IPv4地址必須是靜態、全球唯一,並且外部隧道終端可以到達的地址。

  分配給你的全球IPv6首碼

  外部隧道終端能夠將你的IPv6首碼路由到你的本地隧道終端

  (2)自動隧道

  自動產生的隧道,這發生在本節點和另外一個具有IPv4地址的節點有直接的連結時。

  (3)6to4隧道

  4.2 顯示現有隧道

  (1)使用“ip”

  用法:

  # /sbin/ip -6 tunnel show []

  例子:

  # /sbin/ip -6 tunnel show

  sit0: ipv6/ip remote any local any ttl 64 nopmtudisc

  sit1: ipv6/ip remote 195.226.187.50 local any ttl 64

  (2)使用“route”

  用法:

  # /sbin/route -A inet6

  例子:

  # /sbin/route -A inet6 | grep "/Wsit0/W*$"

  ::/96 :: U 256 2 0 sit0

  2002::/16 :: UA 256 0 0 sit0

  2000::/3 ::193.113.58.75 UG 1 0 0 sit0

  fe80::/10 :: UA 256 0 0 sit0

  ff00::/8 :: UA 256 0 0 sit0

  4.3 建立點到點隧道

  共有3種可能的方法增加或刪除點到點隧道的方法。

  增加點到點隧道

  (1)使用“ip”和“route”

  建立少量隧道的通用方法。

  建立一個隧道裝置的用法(此後要讓配置立刻生效,同時由於TTL的預設值為0,我們還要指定TTL的值):

  # /sbin/ip tunnel add mode sit ttl remote local

  三個通用的例子:

  # /sbin/ip tunnel add sit1 mode sit ttl remote local

  # /sbin/ifconfig sit1 up

  # /sbin/route -A inet6 add

dev sit1

  # /sbin/ip tunnel add sit2 mode sit ttl local

  # /sbin/ifconfig sit2 up

  # /sbin/route -A inet6 add

dev sit2

  # /sbin/ip tunnel add sit3 mode sit ttl local

  # /sbin/ifconfig sit3 up

  # /sbin/route -A inet6 add

dev sit3

  (2)使用“ifconfig”和“route”(不推薦使用)
在只增加一個隧道時,沒有任何問題,但當你建立多個隧道時,問題便出現了。這時,你不能夠輕鬆的關閉前一個隧道,而同時讓其它的隧道運行。
用法:(三個隧道的通用例子)

  # /sbin/ifconfig sit0 up

  # /sbin/ifconfig sit0 tunnel

  # /sbin/ifconfig sit1 up

  # /sbin/route -A inet6 add

dev sit1

  # /sbin/ifconfig sit0 tunnel

  # /sbin/ifconfig sit2 up

  # /sbin/route -A inet6 add

dev sit2

  # /sbin/ifconfig sit0 tunnel

  # /sbin/ifconfig sit3 up

  # /sbin/route -A inet6 add

dev sit3

  (3)只使用“route”

  用法:(3個通用的例子)

  # /sbin/ifconfig sit0 up

  # /sbin/route -A inet6 add

gw :: dev sit0

  # /sbin/route -A inet6 add

gw :: dev sit0

  # /sbin/route -A inet6 add

gw :: dev sit0

  刪除點到點的隧道

  (1)使用“ip”和“route”

  用法:

  # /sbin/ip tunnel del

  舉三個通用的用法:

  # /sbin/route -A inet6 del

dev sit1

  # /sbin/ifconfig sit1 down

  # /sbin/ip tunnel del sit1

  # /sbin/route -A inet6 del

dev sit2

  # /sbin/ifconfig sit2 down

  # /sbin/ip tunnel del sit2

  # /sbin/route -A inet6 del

dev sit3

  # /sbin/ifconfig sit3 down

  # /sbin/ip tunnel del sit3

  (2)使用“ifconfig”和“route”(現在不推薦使用)

  和建立隧道的命令一樣,刪除隧道的方式也令人很費解。最後建立的隧道必須最先刪除。

  用法:(3個常用例子)

  # /sbin/route -A inet6 del

dev sit3

  # /sbin/ifconfig sit3 down

  # /sbin/route -A inet6 del

dev sit2

  # /sbin/ifconfig sit2 down

  # /sbin/route -A inet6 add

dev sit1

  # /sbin/ifconfig sit1 down

  # /sbin/ifconfig sit0 down

  (3)使用“route”

  這有點像刪除通常的IPv6路由。

  用法:(3個常用例子)

  # /sbin/route -A inet6 del

gw :: dev sit0

  # /sbin/route -A inet6 del

gw :: dev sit0

  # /sbin/route -A inet6 del

gw :: dev sit0

  # /sbin/ifconfig sit0 down

  5.4.4 建立6to4隧道

  增加6to4隧道

  (1)使用“ip”和一個專用的隧道裝置(推薦採用方式)

  建立一個新的隧道裝置:

  # /sbin/ip tunnel add tun6to4 mode sit remote any local

  啟用此隧道介面:

  # /sbin/ip link set dev tun6to4 up

  給隧道介面增加本地6to4地址

  # /sbin/ip -6 addr add /16 dev tun6to4

  使用全6to4路由器IPv4任播地址向全球IPv6網路增加一個(預設的)路由器:

  # /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1

  (2)使用“ifconfig”和“route”以及通常的(generic)隧道裝置“sit0”(不推薦使用)

  缺點:使用“sit0”不允許每個裝置的特定的過濾。

  啟用通常隧道介面“sit0”:

  # /sbin/ifconfig sit0 up

  給介面增加本地6to4地址:

  # /sbin/ifconfig sit0 add /16

  使用全6to4路由器IPv4任播地址向全球IPv6網路增加一個(預設的)路由器:

  # /sbin/route -A inet6 add 2000::/3 gw ::192.88.99.1 dev sit0

  刪除6to4隧道

  (1)使用“ip”和一個專用隧道裝置

  刪除到專用隧道裝置的所有路由:

  # /sbin/ip -6 route flush dev tun6to4

  關閉介面:

  # /sbin/ip link set dev tun6to4 down

  刪除建立的隧道裝置:

  # /sbin/ip tunnel del tun6to4

  (2)使用“ifconfig”和“route”和通常隧道裝置“sit0”(不推薦使用)

  刪除預設到6to4隧道介面的路由:

  # /sbin/route -A inet6 del 2000::/3 gw ::192.88.99.1 dev sit0

  刪除到介面的本地6to4地址:

  # /sbin/ifconfig sit0 del /16
關閉“sit0”:(此步驟要注意,因為sit0有可能還在使用)

  # /sbin/ifconfig sit0 down
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.