VMware软件、Centos7虚拟机
二、添加网卡
为虚拟机再添加两块网卡,查看网卡信息,可以看到有ens32、ens34、ens35三块网卡
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.30.142/24 brd 192.168.30.255 scope global noprefixroute dynamic ens32
valid_lft 1615sec preferred_lft 1615sec
inet6 fe80::d089:c15:e69a:8ce4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff
inet 192.168.30.143/24 brd 192.168.30.255 scope global noprefixroute dynamic ens34
valid_lft 1765sec preferred_lft 1765sec
inet6 fe80::a4af:b843:9032:9dd3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: ens35: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.30.141/24 brd 192.168.30.255 scope global noprefixroute dynamic ens35
valid_lft 1765sec preferred_lft 1765sec
inet6 fe80::b7cf:76d7:23aa:63c2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
查看网卡配置文件,可以看到添加网卡后,并没有生成对应的网卡文件
ls /etc/sysconfig/network-scripts/ifcfg*
/etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-lo
可以为网卡生成配置文件,但在本文中不需要这样做
nmcli connection add type ethernet con-name ens34 ifname ens34 autoconnect yes
nmcli connection add type ethernet con-name ens35 ifname ens35 autoconnect yes
再次查看网卡配置文件,生成成功
ls /etc/sysconfig/network-scripts/ifcfg*
/etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens35
/etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-lo
三,选定网卡绑定模式
多网卡一共有7种bond模式,这里直接选用mode=6 (balance-alb) Adaptive load balancing(适配器适应性负载均衡),该模式不需要交换机支持
四、开始配置
1、加载bonding模块,并设置开机启动
[root@localhost ~]#lsmod|grepbonding[root@localhost ~]#modprobe bonding[root@localhost ~]#lsmod|grepbondingbonding 152979 0
启用rc.local开机启动项
chmod +x /etc/rc.d/rc.local
在文件中写入modprobe bonding
2、建立bond网口配置文件并进行配置
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.30.250
PREFIX=255.255.255.0
GATEWAY=192.168.30.2
DNS1=114.114.114.114
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=6 miimon=100"
3、修改三块网卡的配置
vi /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
vi /etc/sysconfig/network-scripts/ifcfg-ens34
DEVICE=ens34
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
vi /etc/sysconfig/network-scripts/ifcfg-ens35
DEVICE=ens35
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
4、重新加载网络配置
注意:这一步会断网!
nmcli connection reload &&systemctl restart network.service
使用新IP链接ssh
五、验证绑定是否生效
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: ens32
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: ens32
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:54:02:06
Slave queue ID: 0
Slave Interface: ens34
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:54:02:1a
Slave queue ID: 0
Slave Interface: ens35
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:54:02:10
Slave queue ID: 0
查看网卡状态
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff
3: ens34: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff
4: ens35: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP>mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.30.250/24 brd 192.168.30.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe54:206/64 scope link
valid_lft forever preferred_lft forever
查看接口带宽,带宽为3G
ethtool bond0
Settings for bond0:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 3000Mb/s
Duplex: Full
Port: Other
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Link detected: yes
连续ping测试,并禁用第一个网卡,此时会丢一个包,网络依然正常运行
来自 192.168.30.250 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.30.250 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.30.250 的回复: 字节=32 时间=1ms TTL=64
请求超时。
来自 192.168.30.250 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.30.250 的回复: 字节=32 时间<1ms TTL=64
完毕!
首先科普下 Virtual Box 虚拟机的几种主流的网络设置方式,先上图(来源官方文档)
我们的目标是实现类似于桥接模式的那种局域网虚拟机主机互通并且能够访问外网的网络模式,以满足我们日常架设本地服务器测试环境的需求。但是又不想使用桥接模式,因为会占用真实局域网的 IP 地址,这点对于管理严格一点的公司内网来说非常棘手;切换网络容易产生 IP 冲突,就要针对虚拟机更改 IP 配置,非常的麻烦。
那哪种模式才能满足我们的需求呢?
以上介绍的单纯任何一种模式都无法满足,就算能满足也要做相应的设置,而不是默认配置完就能支持。比如 Host-only 模式就可以通过配置宿主机物理网卡和虚拟的网卡之间进行网络共享实现。但是考虑到不通 *** 作系统(例如:Mac OS X、Windows)设置的方式肯定存在差异,没法做到跨平台,换一个 *** 作系统部署同一套环境免不了学习成本,所以这种方式不予考虑。
那还有没有其他方式呢?
答案是有的,不过需要结合几种网络模式来实现。
这里我们采用 双网卡+Host-only+NAT 网络模式来实现。
虚拟机管理软件是支持定制硬件的(当然这里所说的硬件是指软件模拟的),所以添加网卡就可以满足。
假设你已经拥有了一台安装好 CentOS 7.x 的虚拟机
Virtual Box 侧边栏选中你要配置的虚拟机,我这里是 centos7-origin ,点击右边的设置
选中侧边栏的网络一栏,点击”网卡1“标签页,配置连接方式为“仅主机网络”,界面名称选默认的就好
点击“网卡2”标签页,配置连接方式为“网络地址转换”,注意要勾上“启用网络连接”的选框。如果有需要,你也还可以配置“网卡3”、“网卡4”。这里我们只需要配置两张网卡
按以上步骤添加好网卡启动虚拟机
输入 ip addr 命令,此时能看到两张网卡,依次为前面我们设置的 Host-only 、 NAT 模式
cd /etc/sysconfig/network-scripts &&ls 可以看到存在 ifcfg-enp0s3 这个网卡的配置文件,后缀对应的就是前面看到的网卡名
cp ifcfg-enp0s3 ifcfg-enp0s8 拷贝 ifcfg-enp0s3 命名 ifcfg-enp0s8 (对应前面的第二张网卡名)
nmcli con show (使用这个命令需要 NetworkManager 这个服务是开启的)查看网卡的 UUID 并通过 nmcli con show >~/uuid.txt 记录到文件以备修改网卡配置用(这里文件名和路径自己定,也可以同我一样放在家目录,因为我没有用 ssh 工具连接虚拟机,到时候给网卡设置上对应的 UUID 没法复制粘贴,输入会比较麻烦,所以先把查看到的 UUID 信息输出到文件,修改网卡配置文件时可以读入文件的内容方便编辑)
我们采用静态 IP 的方式配置Host-only模式的网卡,也就是 enp0s3 这块
回到Virtual Box主界面点击菜单管理->主机网络管理器,d出对话框如下
这里采用固定 IP 配置,网络选项卡->手动配置如上
配置虚拟机 Host-only 模式的网卡 vi ifcfg-enp0s3
注意,网段需要跟上面主机网络配置的网卡处于同一网段,网关地址这里设置为主机网络配置的网卡地址一致
接着编辑 enp0s8 这张网卡, vi ifcfg-enp0s8 命令模式下光标移动到最后一行读入我们之前保存的网卡 UUID 文件 : r ~/uuid.txt 方便修改。因为这里是NAT模式,所以只要修改以上四个地方。
systemctl restart network 重启网络
ip addr 查看网卡是否配置成功,如上说明配置没问题
依次测试 Host-only 模式访问宿主机、 NAT 模式访问宿主机、访问外网
测试宿主机访问虚拟机
这样,整个网络便搭建好了,接着就可以欢乐的搭建本地服务器测试环境了
是要bonding绑定双网卡吗?可以查考一下步骤创建bonding网卡的文件
vim
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.150.130 (依实际需求更改)
NETMASK=255.255.255.0 (依实际需求更改)
GATEWAY=192.168.150.2 (依实际需求更改)
DNS1=8.8.8.8 (依实际需求更改)
DNS2=8.8.4.4 (依实际需求更改)
PREFIX=24
BONDING_OPTS="mode=1 miimon=100"
用VM虚机做实验的话mode为1 ,如果是实机 *** 作的话mode要改成4
修改原本俩张网卡的内容,修改内容都一样,举例如下
vim
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
NM_CONTROLLDE=yes
DEVICE=eth0
MASTER=bond0
SLAVE=yes
实机用ls查看网卡名称後再做修改
service
network restart
重启网卡服务後Ping看看外网是否有通,有通就完成了哦
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)