在 Linux 系统中,虚拟网卡是一种非常有用的技术,它可以帮助我们在同一台物理主机上创建多个虚拟网络接口,从而实现网络隔离、流量控制等功能。以下是一些常用的虚拟网卡命令及用法。

1. `ip link add` 命令
`ip link add` 命令用于创建虚拟网卡。它的基本语法如下:
`ip link add name type [options]`
其中,`name` 是虚拟网卡的名称,`type` 是虚拟网卡的类型,`options` 是可选的配置参数。
例如,要创建一个名为 `vnet0` 的以太网虚拟网卡,可以使用以下命令:
`ip link add vnet0 type ethernet`
这将创建一个类型为以太网的虚拟网卡,并将其命名为 `vnet0`。
2. `ip addr add` 命令
`ip addr add` 命令用于为虚拟网卡分配 IP 地址。它的基本语法如下:
`ip addr add address dev name`
其中,`address` 是要分配的 IP 地址,`dev` 是虚拟网卡的名称。
例如,要为 `vnet0` 虚拟网卡分配 IP 地址 `192.168.1.100/24`,可以使用以下命令:
`ip addr add 192.168.1.100/24 dev vnet0`
这将为 `vnet0` 虚拟网卡分配 IP 地址 `192.168.1.100`,子网掩码为 `255.255.255.0`。
3. `ip link set` 命令
`ip link set` 命令用于配置虚拟网卡的属性,如状态、MTU 等。它的基本语法如下:
`ip link set dev name [options]`
其中,`dev` 是虚拟网卡的名称,`options` 是可选的配置参数。
例如,要将 `vnet0` 虚拟网卡设置为启动状态,可以使用以下命令:
`ip link set dev vnet0 up`
这将启动 `vnet0` 虚拟网卡。
要设置 `vnet0` 虚拟网卡的 MTU 为 1500,可以使用以下命令:
`ip link set dev vnet0 mtu 1500`
这将将 `vnet0` 虚拟网卡的 MTU 设置为 1500。
4. `ip link delete` 命令
`ip link delete` 命令用于删除虚拟网卡。它的基本语法如下:
`ip link delete name`
其中,`name` 是要删除的虚拟网卡的名称。
例如,要删除 `vnet0` 虚拟网卡,可以使用以下命令:
`ip link delete vnet0`
这将删除 `vnet0` 虚拟网卡。
5. `brctl` 命令
`brctl` 命令是用于管理 Linux 网桥的工具。它可以创建、删除、配置网桥,并将虚拟网卡添加到网桥上。
以下是一些常用的 `brctl` 命令:
- `brctl addbr br0`:创建一个名为 `br0` 的网桥。
- `brctl addif br0 vnet0`:将 `vnet0` 虚拟网卡添加到 `br0` 网桥上。
- `brctl delif br0 vnet0`:从 `br0` 网桥上删除 `vnet0` 虚拟网卡。
- `brctl show`:显示当前系统中的网桥信息。
通过使用 `brctl` 命令,我们可以方便地管理虚拟网卡和网桥,实现更复杂的网络拓扑结构。
6. `ifconfig` 命令(已过时)
在早期的 Linux 版本中,`ifconfig` 命令常用于配置网络接口。随着 `ip` 命令的引入,`ifconfig` 命令已逐渐被弃用。
`ifconfig` 命令的基本语法如下:
`ifconfig interface [options]`
其中,`interface` 是要配置的网络接口的名称,`options` 是可选的配置参数。
例如,要设置 `vnet0` 虚拟网卡的 IP 地址为 `192.168.1.100`,可以使用以下命令:
`ifconfig vnet0 192.168.1.100 netmask 255.255.255.0`
需要注意的是,`ifconfig` 命令的语法和功能在不同的 Linux 发行版中可能会有所差异。在使用 `ifconfig` 命令时,建议参考相应的文档或手册。
Linux 系统提供了丰富的虚拟网卡命令和工具,使我们能够轻松地创建、配置和管理虚拟网卡。通过合理使用这些命令,我们可以更好地满足网络需求,提高系统的灵活性和可扩展性。