Linux 网卡绑定(bond)

说到Linux服务器上的网卡绑定,这事儿我可是有点心得。
记得有一次,我在一个Centos8 的系统上配置Eth-trunk,就是在VMware环境里头搞了个bond网卡,那过程,怎么说呢,有点像做菜,得一步一步来。

首先,你得确认你的系统里头已经装了两张网卡。
我那时候是直接在虚拟机里装了两个虚拟网卡,一个叫eth0,另一个叫eth1
然后,咱们得创建bond。
这bond的绑定模式有几种,最常见的有两种:一个是mode=0,也就是轮询模式,balance-rr,这个模式下,数据包会像排队一样,一个接一个地通过每个网卡,这样就能实现负载均衡了。
另一个是mode=1 ,主备模式,active-backup,这个模式下,如果有主网卡出了问题,备份网卡就会自动顶上,保证网络不会断。

创建完bond之后,咱们还得配置一下参数,比如设置bond的主网卡、速率、流量控制啥的。

接下来,你得测试一下配置。
首先,启用bond0,就是那个我们创建的bond网卡。
然后,查看一下配置文件,看看设置的是不是对的。
最后,来个ping测试,用主机ping一下bond0的IP地址,看看网络连通性怎么样。

我记得那次配置,我就在VMware里头捣鼓了半天,最后终于成功了。
说实话,当时也没想明白怎么配置,就照着网上的教程一步步来的。
现在回想起来,那过程还挺有意思的。

说白了,这个bond网卡的配置,关键是要理解各个参数的作用,还有各种模式的区别。
虽然步骤有点繁琐,但只要一步一步来,还是能搞定的。
而且,配置好了之后,确实能提升网络性能,还增加了安全性,挺值的。

linux 创建虚拟网卡的几种方法

哎,Linux加虚拟网卡这事儿吧,确实挺实用的。
上次有个客户问我在上海机房的服务器,怎么用一块物理网卡搞出三个IP来用,不用加那么多网口。
我就跟他分享了下面几种方法,你看看哪种适合你。

第一种方法,用 ifconfig 直接撸
这招最简单粗暴。
你直接在命令行敲:
bash sudo ifconfig eth0:0 1 9 2 .1 6 8 .1 0.1 0 up
唰一下,eth0:0 这个虚拟网卡就出来了,IP是 1 9 2 .1 6 8 .1 0.1 0用完不想了,敲:
bash sudo ifconfig eth0:0 down
然后重启服务器或者网络服务,虚拟网卡就没了。

踩坑提醒:我上次踩过坑,发现这种创建出来的虚拟网卡MAC地址和原网卡 eth0 一模一样。
客户问我为啥虚拟机加不上去,我才知道问题在这儿。
MAC地址得不一样才行啊。

第二种方法,改配置文件
这个方法比较稳定,重启了也不容易丢配置。
Ubuntu系统的话,你打开 /etc/network/interfaces 这个文件:
bash sudo vim /etc/network/interfaces
在里面加一行:
auto eth0:0 iface eth0:0 inet static address 1 9 2 .1 6 8 .1 0.1 0 netmask 2 5 5 .2 5 5 .2 5 5 .0
保存后,重启网络服务:
bash sudo /etc/init.d/networking restart
这样虚拟网卡就配置好了,重启了也不掉。
这个方法比第一种好多了,至少MAC地址不会一样。

第三种方法,用 tap 设备
这个方法有点特别,适合搞虚拟机啥的。
你先创建一个 tap 设备:
bash sudo tunctl -b tap0
敲完这行,系统会给你生成一个叫 tap0 的虚拟网卡。

然后你得激活它:
bash sudo ip link set tap0 up
接着,你可以把它加到一个网桥里。
比如我之前搞过一个 virbr0 的网桥:
bash sudo brctl addif virbr0 tap0
最后给这个网桥配个IP:
bash sudo ifconfig virbr0 1 9 2 .1 6 8 .1 0.1 0 up
这样,tap0 就作为一个虚拟网卡工作了,而且MAC地址肯定不一样。

补充一下:文中还有给网桥添加物理网卡的操作,比如:
bash sudo brctl addif virbr1 eth6
这个是给 virbr1 网桥绑上一个叫 eth6 的物理网卡。

总结一下:
要快速搞虚拟网卡,用 ifconfig 最方便,但要注意MAC地址问题。
要稳定,不改配置文件,重启不掉,用改 /etc/network/interfaces 的方法。
要搞虚拟机啥的,或者需要不同MAC地址,用 tap 设备最合适。

具体用哪个,看你自己的需求了。
反正这几种方法我都试过,效果都不错。

linux怎么创建一个虚拟网卡

Linux创虚拟网卡,首选ip命令。

iplinkadd,添加veth0和veth1 ,双工连接。

tunctl,装umlutils,tap0,TUN设备。

ifconfig,旧版,dummy模块,dummy0。

你自己掂量。