Networking

讓 virtualbox 獲得與我的筆記型電腦不同的 IP 地址

  • January 23, 2016

我正在嘗試設置一個 2 節點 Hadoop 集群(遵循本指南),其中主機將是我的 Ubuntu 筆記型電腦,從機將是執行 ubuntu 的虛擬機。

我還閱讀了有關virtualbox 中的網路的資訊,但我仍然有問題。

但是,兩者都有相同的 IP 地址,我現在在主節點中,我有這個/etc/hosts文件:

127.0.0.1   localhost
127.0.1.1   gsamaras
127.0.1.1   master
127.0.1.1   slave-1

這對我來說似乎一團糟,因此我想給 virtualbox 的 Ubuntu 另一個 IP。我確實檢查了這個問題Change IP address of a Virtual Machine running linux ubuntu on windows 8? ,但在virtualbox中找不到所提出的答案。我在那裡選擇的是:

設備 -> 網路 -> 橋接適配器(名稱 wlan0)

預設為NAT。但是/etc/hosts那裡的文件具有相同的IP。在進行 Ubuntu 的安裝過程之前,我也在 virtualbox 中創建了一個新的 Ubuntu,但它/etc/hosts與 virtualbox 中的另一個 Ubuntu 相同,即:

127.0.0.1   localhost
127.0.1.1   gsamaras-VirtualBox
127.0.1.1   master
127.0.1.1   slave-1

如何讓 virtualbox 的 Ubuntu 和我的 Ubuntu 擁有不同的 IP?


編輯:

在主節點上(即我的筆記型電腦)

hadoopuser@gsamaras:/home$ /sbin/ifconfig -a
eth0      Link encap:Ethernet  HWaddr e8:40:f2:d8:76:ca  
         UP BROADCAST MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:38796 errors:0 dropped:0 overruns:0 frame:0
         TX packets:38796 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:6705515 (6.7 MB)  TX bytes:6705515 (6.7 MB)

wlan0     Link encap:Ethernet  HWaddr 00:08:ca:bd:cf:22  
         inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::208:caff:febd:cf22/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:654899 errors:0 dropped:0 overruns:0 frame:0
         TX packets:442294 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:746284872 (746.2 MB)  TX bytes:121215609 (121.2 MB)

在從節點(即 virtualbox)上:

gsamaras@gsamaras-VirtualBox:~$ /sbin/ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:a3:40:f1  
         inet addr:192.168.1.5  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::a00:27ff:fea3:40f1/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:42 errors:0 dropped:0 overruns:0 frame:0
         TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:4748 (4.7 KB)  TX bytes:10743 (10.7 KB)

lo        Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:172 errors:0 dropped:0 overruns:0 frame:0
         TX packets:172 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:12500 (12.5 KB)  TX bytes:12500 (12.5 KB)

編輯_1:

從我做的主節點(而virtualbox的網路設置為名稱為wlan0的橋接適配器):

gsamaras@gsamaras:~$ ssh 192.168.1.5
ssh: connect to host 192.168.1.5 port 22: No route to host
gsamaras@gsamaras:~$ ssh 192.168.1.2
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is 78:21:77:e8:aa:c5:c5:41:8f:32:56:f7:c6:37:fc:a2.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
gsamaras@gsamaras:~$ ping 192.168.1.5
PING 192.168.1.5 (192.168.1.5) 56(84) bytes of data.
From 192.168.1.2 icmp_seq=1 Destination Host Unreachable
...

看起來您正在使用橋接網路,並且您的主機和來賓已經具有不同的 IP 地址,主機(您稱之為主節點)的192.168.1.2和來賓(從節點)的192.168.1.5 。

不要被127.xxx網路中的地址所迷惑。這些是環回地址,它們永遠不會離開 TCP/IP 堆棧,即兩台不同的機器(無論是真實的還是虛擬的)不能通過它們一起通信。

引用自:https://unix.stackexchange.com/questions/257218