一、Linux网卡(NIC)
1. 查看全部网卡
ls /sys/class/net/
2. 查看虚拟网卡
ls /sys/devices/virtual/net/
3.查看物理网卡
ls /sys/class/net/ | grep -v "`ls /sys/devices/virtual/net`"
4. 虚拟网卡
虚拟网络接口卡是基于主机的物理网卡的虚拟网络接口。每一个主机可以有多个物理网卡,而每个物理网卡可以有多个虚拟机网络接口卡(虚拟网卡)
- 添加虚拟网卡tap
ip tuntap add dev tap0 mode tap #tap0是虚拟网卡名称
- 激活创建的tap
ip link set tap0 up
5. 禁用/激活网卡
禁用网卡
ip link set dev eth0 down
激活网卡
ip link set dev eth0 up
二、创建网桥
网桥(bridge) 是在数据包交换网络中使用数据包转发的软件设备。通过使用网桥,多个网络接口设备可以共享同一个物理网卡,而每个网络接口设备都会以独立的物理设备的形式出现在网络中。 网桥会检查一个数据包的源地址来决定相关的目标地址,一旦获得了目标地址的信息,它会在一个表中添加这个地址以供以后使用。通过使用网桥,主机可以把网络数据重新定向到使用虚拟网卡的、相应的虚拟机上
网桥是在内核中虚拟出来的,可以将主机上真实的物理网卡(如eth0,eth1)桥接在上面,也可以将虚拟的网卡(tap0,tap1,vnet0,vnet1)桥接上来。那么这些桥接上来的网卡是工作在链路层的,不能分配ip地址,其实这时候桥接上来的网卡就相当于网桥上的 端口 。 端口收到的数据包都提交给这个虚拟的”网桥“,让其进行转发。 网桥其实也是不用配置ip的,这样它完全可以正常转发包,但是,你若想要远程管理你的网桥主机,这当然可以在网桥上面配置ip,不过这个功能和转发毫无关系,只是让主机接入到互联网(也可是局域网)。 在给linux创建虚拟机时,为了方便主机与其虚拟机进行通信,常用到网桥,并且常给网桥配制ip地址
1.ip命令建桥
ip link add br0 type bridge #创建网桥
ip link set dev enp4s0 master br0 #为网桥添加物理接口
ip link del br0 type bridge #删除网桥
ip link set dev enp4s0 nomaster #删除网桥接口
ip addr show type bridge #显示网桥列表信息
ip addr show type bridge br0 #显示网桥br0的信息
brctl show #显示网桥包含哪些网卡
注意:重启系统配置会失效
2.桥的持久化
cd /etc/sysconfig/network-scripts/
cp ifcfg-enp1s0 ifcfg-br0
#编辑配置文件
vim ifcfg-br0
TYPE=Bridge #注意,这个地方一点要大写
BOOTPROTO=none
DEVICE=br0 #指定设备名称,一定要与文件名中ifcfg-br0后的"br0"相同
ONBOOT=yes #开机启动
IPADDR=192.168.1.1 #配置网桥的地址
NETMASK=255.255.255.0
GATEWAY=192.168.238.1 #指定网关
:wq
vim ifg-enp1s0
TYPE=Ethernet
BOOTPROTO=none
NM_CONIROLLED=no
NAME=enp1s0
DEVICE=enp1s0
ONBOOT=yes
BRIDGE=br0 #将该网卡桥接到br0上面去
:wq
systemctl restart network #重启网络服务
三、 绑定(bond)
- 绑定(bond)是由多个网卡组合成的一个单一的、由软件定义的网络设备。因为一个绑定是由多个网卡组成的,因此它可以提供比单一网卡更高的网络传输速度,并提供了更好的网络容错功能(绑定只有在所有的网卡都出现问题时才会停止工作)。但是,绑定设备有一个限制:绑定必须由相同型号的网卡组成
四、 VLAN操作
1. ip命令建VLAN
#显示vlan信息列表
ip addr show type vlan
# 增加vlan
ip link add link eth0 name eth0.1 type vlan id 1
ip addr add 192.168.1.1/24 dev eth0.1 brd + (设置ip地址,brd +表示广播地址后24位全部为1 (192.255.255.255))
#删除vlan
ip link delete eth0.1 type vlan
注意:重启系统配置会失效
2. VLAN持久化
cd /etc/sysconfig/network-scripts/
vim ifcfg-eth0.1
DEVICE=eth0.1
VLAN=yes
BRIDGE=mybridge
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no
systemctl restart network #重启网络服务,即创建了vlan,桥接到mybridge
注意:不能直接删除配置文件,重启服务(vlan仍然存在,需要重启系统才会无效);如果要删除vlan先执行指令删除,然后删除配置文件,最后重启network服务。