ECS實戰之IPv6隧道配置
引言:新華社北京11月26日電 近日,中共中央辦公廳、國務院辦公廳印發了《推進網際網路協議第六版(IPv6)規模部署行動計劃》,併發出通知,要求各地區各部門結合實際認真貫徹落實。計劃指出到2018年末國內IPv6活躍使用者數要達到2億,2020年末達到5億,2025年末中國IPv6規模要達到世界第一。
簡介
網際協議第6版(英文:Internet Protocol version 6,縮寫:IPv6)是網際協議(IP)的最新版本,用作網際網路的網路層協議,用它來取代IPv4主要是為了解決IPv4地址枯竭問題,不過它也在其他很多方面對IPv4有所改進。IPv6誕生於1999年,設計目的是取代IPv4。其最大的優點就是設計地址長度達128bit,可以提供2的128次方個IP地址,近乎無窮的IP地址讓IPv6能容得下海量裝置,這將與5G等技術一起,支撐移動網際網路、物聯網、工業網際網路、雲端計算、大資料、人工智慧等新興業態的快速發展。
入門
好了好了,不扯淡了。總結起來就是一個字:多。2011年2月3日,全球網際網路數字分配機構(IANA)宣佈 ,全球IPv4地址池已經耗盡。隨著雲端計算、大資料、工業4.0、物聯網的發展,原有的IPV4地址遠遠不夠各大領域的大拿瓜分,所以IPv6應運而生。
目前IPv6的過渡方案有四種(不要問我怎麼知道,我就是網上找的),今天我們主要來講下使用Tunnel(隧道)將IPv6資料包進行封裝,通過現有的IPv4網路進行傳輸,從而達到接入IPv6網路的目的。國內大部分IDC提供商不支援IPv6,據我所知國內提供IPv6的主機商只有景安,這裡不做過多介紹。
## 開始
網上一般推薦的都是Hurricane Electric(免費,而且支援的OS多)。本文以Hurricane Electric為例,展開實踐。雖然說雲棲社群已經有發文說阿里雲要支援IPv6但是等出來還是會有一個漫長的週期。比如說迫於IOS應用上架,迫於想折騰體驗下IPv6的快感。
系統:CentOS Linux release 7.2.1511 (Core)
核心:Linux g3p-net 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
網路環境:阿里雲VPC
Tunnel提供商:Hurricane Electric
註冊
IPV6隧道代理註冊地址:Hurricane Electric
註冊完後需要登入郵箱驗證下郵件資訊,我這裡用的是Gmail和GV,沒發現有異常的地方。
建立
點選Create Regular Tunnel建立Tunnel,IPv4 Endpoint填寫ECS外網IPv4地址,選擇一個Tunnel Servers進行愉快的下一步,懷著對香港這片土地的熱愛,我選擇了Tokyo,JP(其實是因為Ping值)。
下圖可知,其實選擇的餘地挺大的,根據自己的實際情況選擇相對應的Servers
出現下圖時,說明建立成功接下來我們就開始在ECS上進行相對應的配置
配置
開啟Example Configurations檢視對應相關OS的例項命令,我這裡因為是Centos所以採用的是Linux-net-tools
支援的系統
#修改核心引數
[root@g3p.net~]# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.sit0.disable_ipv6 = 0
net.ipv6.conf.sit1.disable_ipv6 = 0
[root@g3p-net ~]# ifconfig sit0 up
[root@g3p-net ~]# ifconfig sit0 inet6 tunnel ::74.82.46.6
[root@g3p-net ~]# ifconfig sit1 up
[root@g3p-net ~]# ifconfig sit1 inet6 add 2001:470:23:130f::2/64
[root@g3p-net ~]# route -A inet6 add ::/0 dev sit1
[root@g3p-net ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:16:3e:02:b1:5b brd ff:ff:ff:ff:ff:ff
inet 172.19.151.94/20 brd 172.19.159.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe02:b15b/64 scope link
valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN qlen 1
link/sit 0.0.0.0 brd 0.0.0.0
inet6 ::172.19.151.94/96 scope global
valid_lft forever preferred_lft forever
inet6 ::127.0.0.1/96 scope host
valid_lft forever preferred_lft forever
8: sit1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN qlen 1
link/sit 0.0.0.0 peer 74.82.46.6
inet6 2001:470:23:130f::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ac13:975e/64 scope link
valid_lft forever preferred_lft forever
驗證
[root@g3p-net ~]# ping -6 ipv6.google.com
PING ipv6.google.com(tsa03s02-in-x0e.1e100.net (2404:6800:4008:803::200e)) 56 data bytes
64 bytes from tsa03s02-in-x0e.1e100.net (2404:6800:4008:803::200e): icmp_seq=1 ttl=54 time=331 ms
64 bytes from tsa03s02-in-x0e.1e100.net (2404:6800:4008:803::200e): icmp_seq=2 ttl=54 time=331 ms
^C
--- ipv6.google.com ping statistics ---
3 packets transmitted, 2 received, 33% packet loss, time 2002ms
rtt min/avg/max/mdev = 331.613/331.707/331.801/0.094 ms
支援的系統
Apple Airport
Check Point R77 GAiA
Cisco IOS
CoyotePoint Equalizer
Debian/Ubuntu
Fortigate 4.x-5.x
FreeBSD < 4.4
FreeBSD >= 4.4
JunOS
JunOS ES
Linux-net-tools
Linux-route2
Mac OS X
Mikrotik
NetBSD
OpenBSD
OpenWRT Backfire 10.03.1
OpenWRT Barrier Breaker
pfSense
ScreenOS 6.2.0r1.0
Solaris
Vyatta / Ubiquiti EdgeMAX
Windows 10
Windows 2000/XP
Windows Vista/2008/7/8
錯誤
[root@g3p.net~]# ifconfig sit1 inet6 add 2001:470:23:130f::2/64
SIOCSIFADDR: Permission denied
[root@g3p.net~]# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.sit0.disable_ipv6 = 1
net.ipv6.conf.sit1.disable_ipv6 = 1
修改/etc/sysctl.conf中的disable_ipv6 引數為0
[root@g3p.net~]# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.sit0.disable_ipv6 = 0
net.ipv6.conf.sit1.disable_ipv6 = 0
思考
如果用Linux-net-tools、Linux-route2的話有一個問題,那就是重啟會丟失相關配置,暫時沒考慮這麼多,所以這篇文章暫時就到這裡啦!
參考
~~這是不起眼的分割線~~~~
簡單的介紹就到這裡了,如果你有什麼疑問可以直接聯絡我。文章中如有錯誤之處還請多多指教。
相關文章
- IPv6過渡技術之隧道技術
- IPv6改造方案:隧道技術
- 設定 SSH 隧道(埠轉發)實戰
- BIOS實戰之Memory配置iOS
- 透過IPv6隧道實現天翼云云主機IPv4和IPv6雙棧接入
- WebGL 3D 工業隧道監控實戰Web3D
- ECS彈性網路卡+彈性公網IP配置最佳實踐之策略路由路由
- 【面試實戰】# 併發程式設計之執行緒池配置實戰面試程式設計執行緒
- 實戰:Linux 系統如何禁用 IPV6Linux
- 用Iproute2配置隧道(轉)
- “大地主”IPv6的地址實驗配置
- 外掛化之VirtualApk實戰一:專案配置APK
- Docker 實戰之 CentOS7 系統環境配置DockerCentOS
- OpenvSwitch系列之八 vxlan隧道
- 計算網路之IPv6配置DHCP服務及acl
- 冬季實戰營 動手實戰-最佳應用實踐,使用PolarDB和ECS搭建入口網站網站
- 淺談RASP技術攻防之實戰[環境配置篇]
- 【GNU/Linux實戰手記之安裝配置篇】 (轉)Linux
- 雲伺服器ECS安全:ECS安全組實踐(一)伺服器
- 阿里雲伺服器ECS配置LNMP阿里伺服器LNMP
- 雲伺服器ECS安全>ECS資料安全最佳實踐伺服器
- Storm實戰之WordCountORM
- Storm實戰之TopNORM
- 計算機網路之隧道技術計算機網路
- Nuxt.js實戰和配置UXJS
- Linux Quota的配置實戰Linux
- 使用shadowtunnel為proxy代理配置多級隧道
- OpenWrt之關閉IPv6
- 冬季實戰營 動手實戰-雲上多產品學習,使用ECS伺服器部署MySQL資料庫伺服器MySql資料庫
- "ssh 反向隧道 實現內網穿透內網穿透
- go語言實現ssh打隧道Go
- ECS運維神器之阿里云云助手運維阿里
- Flink實戰(102):配置(一)管理配置
- ECS例項RAM角色實踐
- shiro實戰系列(二)之入門實戰續
- kubebuilder實戰之七:webhookUIWebHook
- Django之MTV實戰(2)Django
- golang實戰之flag包Golang