一、tun/tap(虚拟网卡)
TUN/TAP设备浅析(一) – 原理浅析 - 简书 (jianshu.com)
(3条消息) Linux-虚拟网络设备-tun/tap_sld880311的专栏-CSDN博客_linux tap
理解Linux虚拟网卡设备tun/tap的一切 | 骏马金龙 (junmajinlong.com)
Linux-虚拟网络设备-tun/tap_sld880311的专栏-CSDN博客_linux tap
1、特点
TUN 和 TAP 设备是 Linux 内核虚拟网络设备,纯软件实现。
TUN(TUNnel)设备模拟网络层设备,处理三层报文如 IP 报文。TAP 设备模拟链路层设备,处理二层报文,比如以太网帧。
2、使用方法
Linux 提供了一些命令行程序方便我们来创建持久化的tun/tap设备,但是如果没有应用程序打开对应的文件描述符,tun/tap的状态一直会是DOWN,还好的是这并不会影响我们把它当作普通网卡去使用。
onlylove@ubuntu:~$ ip tuntap help
Usage: ip tuntap { add | del | show | list | lst | help } [ dev PHYS_DEV ]
[ mode { tun | tap } ] [ user USER ] [ group GROUP ]
[ one_queue ] [ pi ] [ vnet_hdr ] [ multi_queue ] [ name NAME ]
Where: USER := { STRING | NUMBER }
GROUP := { STRING | NUMBER }
onlylove@ubuntu:~$
# 创建 tap
ip tuntap add dev tap0 mode tap
# 创建 tun
ip tuntap add dev tun0 mode tun
# 删除 tap
ip tuntap del dev tap0 mode tap
# 删除 tun
ip tuntap del dev tun0 mode tun
3、示例
1、tap(二层网络设备)
# 添加 tap 网卡
sudo ip tuntap add dev tap0 mode tap
# 启动 tap 网卡
sudo ip link set dev tap0 up
# 给 tap 设置 ip 地址
sudo ip address add dev tap0 192.168.1.128/24
# 显示所有的路由信息
ip route show
# 删除网卡
sudo ip tuntap del dev tap0 mode tap
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 13906 bytes 7451463 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5427 bytes 729793 (729.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2665 bytes 155516 (155.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2665 bytes 155516 (155.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$ clear
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 13988 bytes 7457366 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5470 bytes 734415 (734.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2665 bytes 155516 (155.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2665 bytes 155516 (155.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$ clear
onlylove@ubuntu:~$
onlylove@ubuntu:~$
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 14031 bytes 7460576 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5498 bytes 738063 (738.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2665 bytes 155516 (155.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2665 bytes 155516 (155.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$ ip route show
default via 192.168.6.2 dev ens33 proto static metric 100
169.254.0.0/16 dev ens33 scope link metric 1000
192.168.6.0/24 dev ens33 proto kernel scope link src 192.168.6.129 metric 100
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip tuntap add dev tap0 mode tap
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 14098 bytes 7465506 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5535 bytes 742715 (742.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2665 bytes 155516 (155.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2665 bytes 155516 (155.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 14125 bytes 7467546 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5555 bytes 745387 (745.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2665 bytes 155516 (155.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2665 bytes 155516 (155.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 52:19:9d:b8:18:d7 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip link set dev tap0 up
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 14165 bytes 7470368 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5573 bytes 748423 (748.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2665 bytes 155516 (155.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2665 bytes 155516 (155.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 52:19:9d:b8:18:d7 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip address add dev tap0 192.168.1.128/24
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 14263 bytes 7478478 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5648 bytes 756811 (756.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2675 bytes 156336 (156.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2675 bytes 156336 (156.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tap0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.1.128 netmask 255.255.255.0 broadcast 0.0.0.0
ether 52:19:9d:b8:18:d7 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ip route show
default via 192.168.6.2 dev ens33 proto static metric 100
169.254.0.0/16 dev ens33 scope link metric 1000
192.168.1.0/24 dev tap0 proto kernel scope link src 192.168.1.128 linkdown
192.168.6.0/24 dev ens33 proto kernel scope link src 192.168.6.129 metric 100
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip tuntap del dev tap0 mode tap
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 14317 bytes 7482917 (7.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5684 bytes 761877 (761.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2693 bytes 158036 (158.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2693 bytes 158036 (158.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
2、tun(三层网络设备)
# 添加 tun 网卡
sudo ip tuntap add dev tun0 mode tun
# 启动 tun 网卡
sudo ip link set dev tun0 up
# 给 tun 设置 ip 地址
sudo ip address add dev tun0 192.168.1.128/24
# 显示所有的路由信息
ip route show
# 删除网卡
sudo ip tuntap del dev tun0 mode tun
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 14987 bytes 7532982 (7.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6118 bytes 813370 (813.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2735 bytes 162084 (162.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2735 bytes 162084 (162.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ip route show
default via 192.168.6.2 dev ens33 proto static metric 100
169.254.0.0/16 dev ens33 scope link metric 1000
192.168.6.0/24 dev ens33 proto kernel scope link src 192.168.6.129 metric 100
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip tuntap add dev tun0 mode tun
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 15099 bytes 7541904 (7.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6192 bytes 821668 (821.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2737 bytes 162256 (162.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2737 bytes 162256 (162.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 15127 bytes 7543974 (7.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6209 bytes 824160 (824.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2737 bytes 162256 (162.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2737 bytes 162256 (162.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4240<POINTOPOINT,NOARP,MULTICAST> mtu 1500
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip link set dev tun0 up
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 15160 bytes 7546406 (7.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6234 bytes 827716 (827.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2737 bytes 162256 (162.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2737 bytes 162256 (162.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4241<UP,POINTOPOINT,NOARP,MULTICAST> mtu 1500
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip address add dev tun0 192.168.1.128/24
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 15194 bytes 7549068 (7.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6255 bytes 831098 (831.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2745 bytes 162904 (162.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2745 bytes 162904 (162.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4241<UP,POINTOPOINT,NOARP,MULTICAST> mtu 1500
inet 192.168.1.128 netmask 255.255.255.0 destination 192.168.1.128
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ip route show
default via 192.168.6.2 dev ens33 proto static metric 100
169.254.0.0/16 dev ens33 scope link metric 1000
192.168.1.0/24 dev tun0 proto kernel scope link src 192.168.1.128 linkdown
192.168.6.0/24 dev ens33 proto kernel scope link src 192.168.6.129 metric 100
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 15229 bytes 7551916 (7.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6278 bytes 834964 (834.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2751 bytes 163632 (163.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2751 bytes 163632 (163.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4241<UP,POINTOPOINT,NOARP,MULTICAST> mtu 1500
inet 192.168.1.128 netmask 255.255.255.0 destination 192.168.1.128
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip tuntap del dev tun0 mode tun
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 15269 bytes 7555038 (7.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6302 bytes 838604 (838.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2759 bytes 164280 (164.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2759 bytes 164280 (164.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
二、veth
Linux虚拟网络设备之veth - SegmentFault 思否
Linux-虚拟网络设备-veth pair_sld880311的专栏-CSDN博客_linux veth
1、veth设备的特点
1、veth和其它的网络设备都一样,一端连接的是内核协议栈。
2、veth设备是成对出现的,另一端两个设备彼此相连。
3、一个设备收到协议栈的数据发送请求后,会将数据发送到另一个设备上去。
2、使用方法
onlylove@ubuntu:~$ ip link help
Usage: ip link add [link DEV] [ name ] NAME
[ txqueuelen PACKETS ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ] [index IDX ]
[ numtxqueues QUEUE_COUNT ]
[ numrxqueues QUEUE_COUNT ]
type TYPE [ ARGS ]
ip link delete { DEVICE | dev DEVICE | group DEVGROUP } type TYPE [ ARGS ]
ip link set { DEVICE | dev DEVICE | group DEVGROUP }
[ { up | down } ]
[ type TYPE ARGS ]
[ arp { on | off } ]
[ dynamic { on | off } ]
[ multicast { on | off } ]
[ allmulticast { on | off } ]
[ promisc { on | off } ]
[ trailers { on | off } ]
[ carrier { on | off } ]
[ txqueuelen PACKETS ]
[ name NEWNAME ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ]
[ netns { PID | NAME } ]
[ link-netns NAME | link-netnsid ID ]
[ alias NAME ]
[ vf NUM [ mac LLADDR ]
[ vlan VLANID [ qos VLAN-QOS ] [ proto VLAN-PROTO ] ]
[ rate TXRATE ]
[ max_tx_rate TXRATE ]
[ min_tx_rate TXRATE ]
[ spoofchk { on | off} ]
[ query_rss { on | off} ]
[ state { auto | enable | disable} ] ]
[ trust { on | off} ] ]
[ node_guid { eui64 } ]
[ port_guid { eui64 } ]
[ { xdp | xdpgeneric | xdpdrv | xdpoffload } { off |
object FILE [ section NAME ] [ verbose ] |
pinned FILE } ]
[ master DEVICE ][ vrf NAME ]
[ nomaster ]
[ addrgenmode { eui64 | none | stable_secret | random } ]
[ protodown { on | off } ]
[ gso_max_size BYTES ] | [ gso_max_segs PACKETS ]
ip link show [ DEVICE | group GROUP ] [up] [master DEV] [vrf NAME] [type TYPE]
ip link xstats type TYPE [ ARGS ]
ip link afstats [ dev DEVICE ]
ip link property add dev DEVICE [ altname NAME .. ]
ip link property del dev DEVICE [ altname NAME .. ]
ip link help [ TYPE ]
TYPE := { vlan | veth | vcan | vxcan | dummy | ifb | macvlan | macvtap |
bridge | bond | team | ipoib | ip6tnl | ipip | sit | vxlan |
gre | gretap | erspan | ip6gre | ip6gretap | ip6erspan |
vti | nlmon | team_slave | bond_slave | bridge_slave |
ipvlan | ipvtap | geneve | vrf | macsec | netdevsim | rmnet |
xfrm }
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ip link help veth
Usage: ip link <options> type veth [peer <options>]
To get <options> type 'ip link add help'
onlylove@ubuntu:~$
3、示例
# 添加 veth0 和 veth1
sudo ip link add veth0 type veth peer name veth1
# 为 veth0 配置 ip 地址
sudo ip addr add 192.168.2.11/24 dev veth0
# 为 veth1 配置 ip 地址
sudo ip addr add 192.168.2.5/24 dev veth1
# 启动 vteh0
sudo ip link set veth0 up
# 启动 vteh1
sudo ip link set veth1 up
# 删除 veth0 和 veth1
sudo ip link delete veth0 type veth peer name veth1
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 22931 bytes 15105317 (15.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8310 bytes 1051491 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2961 bytes 181332 (181.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2961 bytes 181332 (181.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip link add veth0 type veth peer name veth1
[sudo] password for onlylove:
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 22984 bytes 15109265 (15.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8340 bytes 1055343 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2961 bytes 181332 (181.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2961 bytes 181332 (181.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 23012 bytes 15111335 (15.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8357 bytes 1057873 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2961 bytes 181332 (181.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2961 bytes 181332 (181.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 1a:c5:9b:ac:82:a2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth1: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether fa:90:44:97:74:93 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip addr add 192.168.2.11/24 dev veth0
onlylove@ubuntu:~$ sudo ip addr add 192.168.2.5/24 dev veth1
onlylove@ubuntu:~$ sudo ip link set veth0 up
onlylove@ubuntu:~$ sudo ip link set veth1 up
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 23071 bytes 15116421 (15.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8402 bytes 1063497 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3001 bytes 184572 (184.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3001 bytes 184572 (184.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.11 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::18c5:9bff:feac:82a2 prefixlen 64 scopeid 0x20<link>
ether 1a:c5:9b:ac:82:a2 txqueuelen 1000 (Ethernet)
RX packets 25 bytes 3011 (3.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11 bytes 1196 (1.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.5 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::f890:44ff:fe97:7493 prefixlen 64 scopeid 0x20<link>
ether fa:90:44:97:74:93 txqueuelen 1000 (Ethernet)
RX packets 11 bytes 1196 (1.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 25 bytes 3011 (3.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip link delete veth0 type veth peer name veth1
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 23106 bytes 15119275 (15.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8425 bytes 1067607 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3017 bytes 185868 (185.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3017 bytes 185868 (185.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
三、bridge(虚拟交换机)
Linux虚拟网络设备之bridge(桥) - SegmentFault 思否
Linux-虚拟网络设备-LinuxBridge_sld880311的专栏-CSDN博客_linux 虚拟交换机
1、特点
bridge是一个虚拟网络设备,所以具有网络设备的特征,可以配置IP、MAC地址等;其次,bridge是一个虚拟交换机,和物理交换机有类似的功能。
2、使用方法
onlylove@ubuntu:~$ ip link help
Usage: ip link add [link DEV] [ name ] NAME
[ txqueuelen PACKETS ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ] [index IDX ]
[ numtxqueues QUEUE_COUNT ]
[ numrxqueues QUEUE_COUNT ]
type TYPE [ ARGS ]
ip link delete { DEVICE | dev DEVICE | group DEVGROUP } type TYPE [ ARGS ]
ip link set { DEVICE | dev DEVICE | group DEVGROUP }
[ { up | down } ]
[ type TYPE ARGS ]
[ arp { on | off } ]
[ dynamic { on | off } ]
[ multicast { on | off } ]
[ allmulticast { on | off } ]
[ promisc { on | off } ]
[ trailers { on | off } ]
[ carrier { on | off } ]
[ txqueuelen PACKETS ]
[ name NEWNAME ]
[ address LLADDR ]
[ broadcast LLADDR ]
[ mtu MTU ]
[ netns { PID | NAME } ]
[ link-netns NAME | link-netnsid ID ]
[ alias NAME ]
[ vf NUM [ mac LLADDR ]
[ vlan VLANID [ qos VLAN-QOS ] [ proto VLAN-PROTO ] ]
[ rate TXRATE ]
[ max_tx_rate TXRATE ]
[ min_tx_rate TXRATE ]
[ spoofchk { on | off} ]
[ query_rss { on | off} ]
[ state { auto | enable | disable} ] ]
[ trust { on | off} ] ]
[ node_guid { eui64 } ]
[ port_guid { eui64 } ]
[ { xdp | xdpgeneric | xdpdrv | xdpoffload } { off |
object FILE [ section NAME ] [ verbose ] |
pinned FILE } ]
[ master DEVICE ][ vrf NAME ]
[ nomaster ]
[ addrgenmode { eui64 | none | stable_secret | random } ]
[ protodown { on | off } ]
[ gso_max_size BYTES ] | [ gso_max_segs PACKETS ]
ip link show [ DEVICE | group GROUP ] [up] [master DEV] [vrf NAME] [type TYPE]
ip link xstats type TYPE [ ARGS ]
ip link afstats [ dev DEVICE ]
ip link property add dev DEVICE [ altname NAME .. ]
ip link property del dev DEVICE [ altname NAME .. ]
ip link help [ TYPE ]
TYPE := { vlan | veth | vcan | vxcan | dummy | ifb | macvlan | macvtap |
bridge | bond | team | ipoib | ip6tnl | ipip | sit | vxlan |
gre | gretap | erspan | ip6gre | ip6gretap | ip6erspan |
vti | nlmon | team_slave | bond_slave | bridge_slave |
ipvlan | ipvtap | geneve | vrf | macsec | netdevsim | rmnet |
xfrm }
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ip link help bridge
Usage: ... bridge [ fdb_flush ]
[ forward_delay FORWARD_DELAY ]
[ hello_time HELLO_TIME ]
[ max_age MAX_AGE ]
[ ageing_time AGEING_TIME ]
[ stp_state STP_STATE ]
[ priority PRIORITY ]
[ group_fwd_mask MASK ]
[ group_address ADDRESS ]
[ vlan_filtering VLAN_FILTERING ]
[ vlan_protocol VLAN_PROTOCOL ]
[ vlan_default_pvid VLAN_DEFAULT_PVID ]
[ vlan_stats_enabled VLAN_STATS_ENABLED ]
[ vlan_stats_per_port VLAN_STATS_PER_PORT ]
[ mcast_snooping MULTICAST_SNOOPING ]
[ mcast_router MULTICAST_ROUTER ]
[ mcast_query_use_ifaddr MCAST_QUERY_USE_IFADDR ]
[ mcast_querier MULTICAST_QUERIER ]
[ mcast_hash_elasticity HASH_ELASTICITY ]
[ mcast_hash_max HASH_MAX ]
[ mcast_last_member_count LAST_MEMBER_COUNT ]
[ mcast_startup_query_count STARTUP_QUERY_COUNT ]
[ mcast_last_member_interval LAST_MEMBER_INTERVAL ]
[ mcast_membership_interval MEMBERSHIP_INTERVAL ]
[ mcast_querier_interval QUERIER_INTERVAL ]
[ mcast_query_interval QUERY_INTERVAL ]
[ mcast_query_response_interval QUERY_RESPONSE_INTERVAL ]
[ mcast_startup_query_interval STARTUP_QUERY_INTERVAL ]
[ mcast_stats_enabled MCAST_STATS_ENABLED ]
[ mcast_igmp_version IGMP_VERSION ]
[ mcast_mld_version MLD_VERSION ]
[ nf_call_iptables NF_CALL_IPTABLES ]
[ nf_call_ip6tables NF_CALL_IP6TABLES ]
[ nf_call_arptables NF_CALL_ARPTABLES ]
Where: VLAN_PROTOCOL := { 802.1Q | 802.1ad }
onlylove@ubuntu:~$
3、示例
# 创建 bridge
sudo ip link add name br0 type bridge
# 启动 bridge
sudo ip link set br0 up
# 查看 bridge 上连接的设备
sudo bridge link
# 删除 bridge
sudo ip link delete name br0 type bridge
# 将 xxx 设备连接到 bridge 上
sudo ip link set dev xxx master br0
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 17478 bytes 7716741 (7.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7699 bytes 992070 (992.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2932 bytes 178733 (178.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2932 bytes 178733 (178.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip link add name br0 type bridge
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 17506 bytes 7718851 (7.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7719 bytes 994952 (994.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2932 bytes 178733 (178.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2932 bytes 178733 (178.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
br0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 4a:dd:f2:e6:a5:ba txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 17523 bytes 7720059 (7.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7729 bytes 996822 (996.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2932 bytes 178733 (178.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2932 bytes 178733 (178.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip link set br0 up
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::48dd:f2ff:fee6:a5ba prefixlen 64 scopeid 0x20<link>
ether 4a:dd:f2:e6:a5:ba txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 1954 (1.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 17558 bytes 7722787 (7.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7754 bytes 1000380 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2940 bytes 179381 (179.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2940 bytes 179381 (179.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo bridge link
onlylove@ubuntu:~$
onlylove@ubuntu:~$ sudo ip link delete name br0 type bridge
onlylove@ubuntu:~$
onlylove@ubuntu:~$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.129 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:feb8:de3b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b8:de:3b txqueuelen 1000 (Ethernet)
RX packets 17609 bytes 7726705 (7.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7787 bytes 1004970 (1.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2948 bytes 180029 (180.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2948 bytes 180029 (180.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
onlylove@ubuntu:~$
四、OpenvSwitch
Linux-虚拟网络设备-OpenvSwitch(持续更新)_sld880311的专栏-CSDN博客_linux openvswitch