在ubuntu 16.04 的vm中添加新網卡,同一網段不同ip

在ubuntu 16.04 的vm中新加了一塊網卡,但是不顯示,用ifcnfig -a 可以看到,
執行

$ifconfig ens38 up

顯示錯誤

在網上查看可以重新安裝vmtools來重新安裝網卡驅動
1、加載光驅

$sudo mkdir /mnt/cdrom
$sudo mount /dev/cdrom  /mnt/cdrom

2、轉到臨時目錄,複製安裝文件

$cd /tmp
$tar zxpf /mnt/cdrom/VMwareTools-x.x.x-yyyy.tar.gz

3、安裝vmtools

$cd vmware-tools-distrib
$sudo ./vmware-install.pl

一路回車就可以了
$sudo reboot
我這樣操作後,執行 sudo ifconfig ens38 up ,可以正常看到新網卡了。但是重啓後還是看不到網卡。

編輯/etc/network/interfaces,添加

auto ens33                                     #網卡一
iface ens33 inet static
address 192.168.1.30
netmask 255.255.255.0
gateway 192.168.1.1
auto ens38                                     #網卡二
iface ens38 inet static
address 192.168.1.31
netmask 255.255.255.0

配置路由解決多網卡,同一網段,不同ip同一MAC的問題,ping 不同的IP,但返回的mac地址是一樣的,會導致斷網。

$sudo su root
# echo "210    ens33table" >> /etc/iproute2/rt_tables   #子路由表ens33table
# echo "220    ens38table" >> /etc/iproute2/rt_tables   #子路由表ens38table

在/etc/rc.local 文件中在exit 0;前面添加如下內容


ip route add 192.168.1.0/24 dev ens33 src 192.168.1.30 table ens33table
ip route add 192.168.1.0/24 dev ens38 src 192.168.1.31 table ens38table

ip route add default dev ens33 via 10.110.6.1 table ens33table
ip route add default dev ens38 via 10.110.6.1 table ens38table

ip rule add from 192.168.1.30 table ens33table
ip rule add from 192.168.1.31 table ens38table

:wq

# reboot
或
#ip route flush cache

ping 192.168.1.30
ping 192.168.1.31

arp -a 
192.168.1.30          00-0c-29-bf-e7-f9     動態
192.168.1.31          00-0c-29-bf-e7-03     動態

此時就可以看到mac地址不一樣了

如果這個虛機被clone或複製到其它不地方,要正常工作應該做如下工作
1、修改/etc/network/interfaces中不網卡的名稱和ip地址信息
2、修改/etc/iproute2/rt_tables中的信息,這一步也可以不修改,修改的目的主要是因爲nes33table,nes38table中的nes33,nes38是這個虛機的網卡名稱,修改也是爲了和新的環境匹配。
3、修改/etc/rc.local。這個地方就修改ip地址,子路由表的名稱,要和新的環境匹配。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章