阿里雲:專有網絡 VPC
在創建阿里雲服務之前,先去創建一個網絡,然後在這個自己獨有的網絡上添加需要的阿里雲產品,這就是阿里雲的 VPC (Virtual Private Cloud),直譯就是虛擬私有云,產品的中文名是 “專有網絡” 。
創建阿里雲產品的時候可以選擇自己的專有網絡,也可以是經典網絡。如果選擇經典網絡,你的產品跟同一區域的其他人的產品會在同一個網絡上。如果使用自己的專有網絡,你的服務跟其他人購買的阿里雲服務是完全隔離的,這樣會更安全一些。而且你也可以更好的控制自己的專有網絡,比如使用交換機劃分不同的網段,配置路由等等。
創建一個使用專有網絡的 ECS 雲服務器,流程大概是這樣的(視頻課程製作中 ... ):
創建一個專有網絡
在專有網絡下添加一個交換機
創建雲服務器,選擇所屬的專有網絡與交換機
如果你的雲服務器要面向互聯網提供服務,你還需要一個公網的 IP 地址,這樣你還需要:
申請彈性公網 IP
把申請的公網 IP 綁定到指定的雲服務器上
創建專有網絡
阿里雲用戶可以免費創建專有網絡,在創建其它服務的時候可以使用這個網絡,比如 ECS 雲服務器,RDS 數據庫等等。
登錄到阿里雲的控制檯
打開 產品與服務,找到 專有網絡 VPC
再打開 專有網絡 標籤,選擇一個地域,然後 創建專有網絡
配置一下要創建的專有網絡,輸入它的名字,描述,還有選擇網絡的網段
阿里雲的專有網絡支持三個網段,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8。它們之間的區別就是不同的網段可用的 IP 地址數量不一樣,隨便選擇一個就行,我選的是 10.0.0.0/8,因爲它看起來更簡潔,也好記。可以使用專有網絡的交換機繼續劃分網段。屬於這些網段的 IP 地址是內網的地址,也就是它們不能直接在互聯網上訪問到。
添加交換機
有了專有網絡以後,需要再給它添加一些交換機,它們可以劃分網段。在創建阿里雲服務的時候,如果你要使用自己的專有網絡,需要爲服務選擇專有網絡,還有它下面的某個交換機。
找到自己創建的專有網絡,管理一下
打開 交換機 標籤,點擊 創建交換機
配置一下交換機,輸入名字,選擇可用區,網段,還有描述
在創建交換機的時候需要選擇可用區,比如我的專有網絡是在 華南 1 這個地區,那在這個專有網絡下面的交換機也要選擇 華南 1 下面的某個更具體的可用區,比如 華南 1 可用區 A 或者 華南 1 可用區 B 。
交換機的網段要屬於它所屬的專有網絡,比如我的專有網絡的網段是 10.0.0.0/8,那我創建的這個交換機的網段必須要屬於這個網段,比如 10.1.0.0/16,10.2.0.0/16,10.3.1.0/24 等等。我用的是 10.1.0.0/16 作用這個交換機的網段,這樣創建的服務如果使用這個交換機的話,它的 IP 地址應該像這樣 10.1.0.1,10.1.0.2 ...
創建雲服務器
現在,創建的阿里雲服務就可以使用我們自己的專有網絡了,比如去創建兩臺按量付費的 ECS 雲服務器,地域要選擇專有網絡所在的地域。或者,可以直接找到專有網絡的交換機,點擊 創建實例,選擇 ECS 雲服務器,這樣會自動給我們選擇好要使用的專有網絡,交換機,還有地域。
如果雲服務器使用專有網絡,默認它不帶公網 IP ,只會包含一個專有網絡的交換機分配給它的一個內網的 IP 地址。想讓服務器有一個公網 IP ,可以在創建它的時候勾選一下 彈性公網 IP ,或者也可以單獨再去創建一個彈性公網 IP ,然後把它綁定到指定的服務器上使用。
先不要勾選 彈性公網 IP ,創建兩臺雲服務器。網絡類型選擇專有網絡,這樣會出現在服務器的地域下面創建的專有網絡,還有屬於這個網絡的交換機。完成以後,這兩臺服務器應該只會有內網的 IP 地址,分別是 10.1.0.1,10.1.0.2,因爲在創建這個服務器的時候,選擇的交換機的網段是 10.1.0.0/16 。
打開雲服務器 ECS 的管理界面,在服務器所在區域下面找到它們,然後重命名一下服務器,地址是 10.1.0.1 的服務器命名爲 node1,地址是 10.1.0.2 的服務器命名爲 node2 。
申請彈性公網 IP
屬於專有網絡的服務器不能訪問互聯網,也不能通過互聯網訪問到它們。給它們綁定彈性公網 IP,就可以訪問互聯網了。你可以只爲其中的一臺服務器綁定個公網 IP ,然後配置一下它,讓其它的服務器通過這臺有公網 IP 的服務器訪問互聯網。
打開 產品與服務,選擇 彈性公網 IP
選擇跟服務器相同的地域,點擊 申請彈性公網 IP
配置一下公網帶寬的類型與大小
完成以後,你會得到一個公網 IP,點擊 綁定,再選擇一下要綁定到的 ECS 實例。比如之前我們創建的 node1 這臺服務器。這樣 node1 就可以使用這個公網 IP 連接互聯網了。比如你可以通過這個公網 IP 地址 ssh 到 node1 這臺服務器。
SNAT 共享上網
現在 node1 已經綁定了彈性公網 IP,它可以上網。node2 這臺服務器還沒有上網的能力,但是 node2 可以訪問 node1,因爲它們屬於同一個專有網絡。現在我想讓 node2 通過 node1 去上網。可以配置一下 node1 的 SNAT,還有專有網絡的路由來實現這個功能。
使用 node1 的公網 IP,ssh 到 node1
編輯 node1 的配置文件:vi /etc/sysctl.conf
添加代碼:net.ipv4.ip_forward = 1
重啓 node1 的 network:systemctl restart network
配置 node1 的 iptables:iptables -t nat -I POSTROUTING -s 10.1.0.0/16 -j SNAT --to-source 10.1.0.1
如果服務器用的是 CentOS 系統,還需要停止它們的 FirewallD 服務。
停止 FirewallD:systemctl disable firewalld && systemctl stop firewalld
在 node1 的上面再 ssh 到 node2
然後停止 node2 的 FirewallD:systemctl disable firewalld && systemctl stop firewalld
再去配置一下專有網絡的路由。
找到創建的專有網絡,打開 路由器 標籤
點擊 添加路由,然後配置一下
目錄網段:0.0.0.0/0,下一跳類型:ECS 實例,下一跳 ECS 實例,選擇 node1(綁定了公網 IP 的服務器 )
測試一下 node2 的上網能力。可以執行一下 ping baidu.com ,如果能連通,說明 node2 已經可以通過 node1 上網了。
轉載地址:https://ninghao.net/blog/3938