banner
Alexeisie

AlexEisie

啊?
github

Oracle甲骨文實例多公網IP分配

目標為單台實例添加多個公網 IP 地址
實驗環境:
ARM (A1) 實例
ubuntu 22.04(Debian Based)

前言:注意不同實例類型的 VNIC 分配上限不同,公網 IP 數量似乎也有限制。
誤操作可能會導致機器失聯,在輸入命令時請保證參數正確且完整

1.OCI 添加 VNIC#

沒錯,一個 VNIC 能添加多個 IPv4 的 VCN 地址,但是卻只能綁定一個公網 IP,因此我們需要添加一個新的 VNIC(網卡)
為什麼不新建一個 VNC?添加新的 VNC 是沒有限制的,但是公共網關有,因此我們的新 VNIC 仍舊需要使用和主 VNIC 相同的 VCN 以使用相同網關

Compute/Instances/Instance details/Attached VNICs

1.1 新建 VNIC
點擊 Create VNIC
VCN:選擇和主 VNIC 相同的 VCN
Subnet:選擇和主 VNIC 相同的 Subnet
無特殊需求創建 VNIC 即可

1.2 配置 VNIC
點擊新建的 VNIC,選擇 IPv4 Addresses,註冊新 IPv4 地址
為新建的 IPv4 地址綁定一個公網 IP 地址,可以使用臨時 IP (Ephemeral public IP) 或保留 IP (Reserved public IP)

至此 OCI 操作結束,請記住新 VNIC 的 MAC 地址和 IPv4 內網地址供下一步操作使用

2. 實例網卡配置#

2.1 檢查網卡
OCI 中添加 VNIC 後,若無異常實例應當自動添加新的網絡接口
使用ifconfig來檢查網絡接口
對於 A1 實例,主 VNIC 應當對應 enp0s3,新 VNIC 應當對應 enp1s0,實際請依據 MAC 地址區分

2.2 為網絡接口添加 IPv4 地址
作者實驗時網絡接口並沒有自動添加新的 IPv4 地址,使用 dhclient 也無濟於事,因此我選擇手動添加,如果新的網絡接口中已經出現正確的 IPv4 地址請忽略此步
ip addr add <內網地址> dev <網絡接口名稱>
EXP.ip addr add 10.0.0.10/24 dev enp1s0
再次檢查網絡接口應當出現新的 IPv4 地址
為了便於內部網絡廣播以及 ARP 傳播,我們需要修改廣播地址,對於網絡 10.0.0.0/24 廣播地址應為 10.0.0.255
ifconfig enp1s0 <內網地址> netmask 255.255.255.0 broadcast <廣播地址>
EXP.ifconfig enp1s0 10.0.0.10 netmask 255.255.255.0 broadcast 10.0.0.255

2.3 為網絡接口添加默認網關
由於新 VNIC 和主 VNIC 處於相同 VCN,應當使用相同的網關,首先應當獲取網關地址。我們通過路由表檢查主 VNIC 的網關配置
route -n

_Kernel IP routing table
Destination  Gateway      Genmask         Flags Metric Ref    Use Iface
(略)
0.0.0.0      10.0.0.1     0.0.0.0         UG    100    0        0 enp0s3
(略)

由此可見對於網卡 enp0s3,其匹配 0.0.0.0/0 的目的地址都會路由到網關 10.0.0.1

我們可以使用新網卡來測試對該網關的訪問
ping 10.0.0.1 -I enp1s0

接著我們為新網卡配置默認網關
route add default gw <網關地址> <網絡接口名稱>
EXP.route add default gw 10.0.0.1 enp1s0

再次檢查路由表,我們會發現 enp1s0 擁有了一條新的路由信息

Kernel IP routing table
Destination  Gateway      Genmask         Flags Metric Ref    Use Iface
0.0.0.0      10.0.0.1     0.0.0.0         UG    0      0        0 enp1s0
0.0.0.0      10.0.0.1     0.0.0.0         UG    100    0        0 e
(略)

至此,公網 IP 地址添加完成

3.(可選) 測試網絡連通性#

實例通過新地址訪問外部網絡
ping google.com -4 -I enp1s0
外部網絡訪問實例的新地址
'ping <新公網地址>'

4.(可選) 修改網絡接口 MTU 與優先級#

主網卡使用的 MTU 為 9000,如果需要降低網絡層發包頻率,可以修改為相同的 MTU
ifconfig enp1s0 mtu 9000

如果需要修改網絡接口出口優先級,可以通過修改路由跳數來配置路由優先級
ifmetric enp1s0 0

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。