feat:添加bridge使用简单实验

This commit is contained in:
zhangyanfei
2021-10-13 17:51:53 +08:00
parent 34ee86d702
commit e408598220
3 changed files with 81 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
- [通过多 IP 达成单机百万连接](tests/network/test02)
- [通过端口重用达成单机百万连接](tests/network/test03)
- [一个模拟 tcpdump 的简单抓包程序](tests/network/test04)
- [一个模拟 tcpdump 的简单抓包程序](tests/network/test04)
- [用 bridge 连接本机上的多组 veth使其可以互相通信](tests/network/test05)

View File

@@ -0,0 +1,42 @@
.PHONY: create-net1
create-net1:
ip netns add net1
ip link add veth1 type veth peer name veth1_p
ip link set veth1 netns net1
ip netns exec net1 ip addr add 192.168.0.101/24 dev veth1
ip netns exec net1 ip link set veth1 up
ip netns exec net1 ip link list
ip netns exec net1 ifconfig
ip netns list
.PHONY: create-net2
create-net2:
ip netns add net2
ip link add veth2 type veth peer name veth2_p
ip link set veth2 netns net2
ip netns exec net2 ip addr add 192.168.0.102/24 dev veth2
ip netns exec net2 ip link set veth2 up
ip netns exec net2 ip link list
ip netns exec net2 ifconfig
ip netns list
.PHONY: create-br
create-br:
brctl addbr br0
ip addr add 192.168.0.100/24 dev br0
ip link set dev veth1_p master br0
ip link set dev veth2_p master br0
ip link set veth1_p up
ip link set veth2_p up
ip link set br0 up
brctl show
.PHONY: clean
clean:
ip link delete br0
ip link delete veth1_p
ip link delete veth2_p
ip link list
ip netns del net1
ip netns del net2
ip netns list

View File

@@ -0,0 +1,37 @@
本实验配套的 Makefile 位于本文件的同目录,其使用方法如下:
**创建网络环境1**
```sh
# make create-net1
```
**创建网络环境2**
```sh
# make create-net2
```
**创建 bridge**,并把 net1、net2中的“网线插头”给接上
```sh
# make create-br
```
从 net1 的网络环境中 ping 一下 net2 试试
```sh
# ip netns exec net1 ping 192.168.0.102 -I veth1
PING 192.168.0.102 (192.168.0.102) from 192.168.0.101 veth1: 56(84) bytes of data.
64 bytes from 192.168.0.102: icmp_seq=1 ttl=64 time=0.037 ms
64 bytes from 192.168.0.102: icmp_seq=2 ttl=64 time=0.008 ms
64 bytes from 192.168.0.102: icmp_seq=3 ttl=64 time=0.005 ms
```
最后,清理实验所创建的各种虚拟网络设备
```sh
# make clean
```