iT邦幫忙

0

如何讓Server上的虛擬機擁有實體IP (Bridge)

  • 分享至 

  • xImage

環境:Ubuntu Server
虛擬機:libvirt + Ubuntu Desktop

目前ifconfig配置大約長這樣:

 # 以下只是Example非真正IP
 auto br0
 iface br0 inet static
         address (實體IP)
         netmask 255.255.255.0
         broadcast 192.168.2.255
         gateway 192.168.2.2
         bridge_ports eth0
         bridge_stp on
         bridge_maxwait 0

這樣確認可以做到 先跳到Server再跳192.168.xxx.xxx. (從VM裏面看ip)
不過這樣是bridge跳兩次 而不是直接外往直接連進來(實體IP)
所以想問問,
要怎麼做Bridge設定可以達到 多VM 透過 Bridge 直接拿實體IP與外網溝通
若過程很長可以大概講解即可,或是有沒有參考網站可以做參考
大部份都是只做一台...或者GUI設定...

另外也有個問題
前輩說可以做到多VM都拿到實體IP -- 不過我不清楚為何不會搞混
假設我們Server是 123.123.1.40,VM拿了123.123.1.41、123.123.1.42
那如果也有其他Server 剛好是123.123.1.41 .42怎麼辦?
我們在做ssh user@hostname 的時候,hostname的重疊不會出問題?

先感謝各位幫忙

回答你的第二個問題,幫VM訂實體IP時,要先確定VM拿到的實體IP沒有其他server在用,不然就是會搶IP
小魚 iT邦大師 1 級 ‧ 2017-08-06 13:02:59 檢舉
不管是實體IP還是內部虛擬IP,搶IP這種東西內部要先講好,有可能造成另一個IP不能使用(總之會有一個IP不能用),萬一搶了重要的IP可能會被罵死。
有沒有聽過 埠對應,沒有人把一個實體IP所有的服務埠1對1的指向 某一台主機的
因為這樣 IP 會不夠用,簡單說 SSH 可以指定 埠,服務端設定好,假如內部 是 192.168.1.1 三台分別給他 41 42 43 端口
那外部是 123.123.1.41,那麼 41:41 就是機器 A 41:42 就是機器B 同樣的 41:43 就是機器 C 了
至於 HOSTNAME,要看你們是不是跑 DNS ,那個基本上 NAME 不同,但是IP 是可以一樣的
後面的服務就看 PORT 去指定而已
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
牛哥
iT邦好手 1 級 ‧ 2017-08-07 11:44:46
最佳解答

如果你的配置是驗證過可行的!?
那你第二個VM就是複製這套設定值內容,把 br0 改一下......
br0 給第一個VM。
br1 給第二個VM。
br2 給第三個VM。
br3 給第四個VM。
......
...
以此類推!

至於你的問題二?
簡單來說,要設置哪些IP值,你得先去調查目前己被使用的IP有哪些?
比如:

  1. PING看看有沒有正在被使用?
  2. 登入UTM去檢視目前的連線IP表?
  3. 利用Lay3 Switch去訪查己有活動的IP有哪些?
    /images/emoticon/emoticon28.gif
ekids1234 iT邦新手 5 級 ‧ 2017-08-13 20:23:50 檢舉

感謝提點,無其他人回應,就選您為最佳解答了!
不過不知道是不是設定上的不同,br0複製好像似懂非懂

這邊幫自己補充一下 實際成功的操作 :
1.Server主機 做好 bridge
2.libvirt把之前建立好的主機從network改成bridge的type(重要)
3.進去VM裡面edit /etc/network/interface 加入IP
(如同Server剛創的時候做的設定,只是IP可以隨意指定---前提沒人用)

我要發表回答

立即登入回答