? ~ ssh [email protected] -i ~/.ssh/authorized_keys

[root@ip-172-31-42-14 ~]# ip a

1: lo: & mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

2: eth0: & mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 06:4d:8a:ad:b1:ea brd ff:ff:ff:ff:ff:ff

inet 172.31.42.14/20 brd 172.31.47.255 scope global eth0

[root@ip-172-31-42-14 ~]#


有很多種可能性——

  • 由於將你的Private IP映射到了Public IP上,這意味著主機的Private IP是可以變的,某些方案/場景裏可能是有用的
  • 單從網路架構的角度來說,通常不會把Public IP直接配置到主機上,這樣需要依賴主機的iptabels來維護,雖然也不是沒有方法做自動化,但終歸不是太好的方案;NAT本身雖然沒有什麼安全意義,但是畢竟有那麼一個會話在,不能匹配到NAT會話的流量終究是無法穿透NAT的

最終還是取決於你的雲主機供應商怎麼考慮的,anyway,做一層映射,在幾乎不存在什麼性能損失的情況下,帶來的靈活性確實是更高的


因為ip地址相對雲計算資源來講,還是貴一些的

如果一個雲主機就配一個IP地址,相對來說成本會高很多(當然也有的主機商是這麼乾的)

於是一般是贈送給你一個IP地址,他後面可以接很多雲主機來組成一個小型區域網,但是對外只有那一個IP

如果需要更多,可以再*付費購買更多


有答主認為是SNAT,這個是不正確的。SNAT是為了雲主機訪問外網用的,但是外網是訪問不到雲主機的。

這裡應該是floating IP機制,對外呈現的是public IP,至於映射到哪個private IP,可以隨時變化,這樣你的雲主機可以很方便的遷移,對外確始終呈現同一個IP。

可以參考以下鏈接,https://ask.openstack.org/en/question/8770/why-floating-ip/


樓下都說了一對以NAT,安全性、SNAT問題等等,我說另外一種可能吧。

就是負載均衡。比如,突然有一天你需要再申請幾個雲主機,完成同一個任務,這時候雲廠商可以給你新的雲主機分配私有IP,但公網IP還是原來的那一個,不用再增加。對外提供業務時,還是原來的那個公網IP,沒有任何影響。


現在大部分雲廠商的public ip是彈性ip,可以靈活地綁定到雲主機上,彈性ip在雲主機內部不可見,主要是在雲基礎設施根據公私網ip映射關係進行NAT轉換。


首先這不是NAT。其次這種架構在IDC非常常見,靈活,節約資源,網路架構上也容易插入安全層。


推薦閱讀:
相關文章