mirror of
https://github.com/yanfeizhang/coder-kung-fu.git
synced 2026-05-06 05:01:24 +08:00
feat:添加bridge使用简单实验
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
|
||||
- [通过多 IP 达成单机百万连接](tests/network/test02)
|
||||
- [通过端口重用达成单机百万连接](tests/network/test03)
|
||||
- [一个模拟 tcpdump 的简单抓包程序](tests/network/test04)
|
||||
- [一个模拟 tcpdump 的简单抓包程序](tests/network/test04)
|
||||
- [用 bridge 连接本机上的多组 veth,使其可以互相通信](tests/network/test05)
|
||||
42
tests/network/test05/Makefile
Normal file
42
tests/network/test05/Makefile
Normal 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
|
||||
37
tests/network/test05/index.md
Normal file
37
tests/network/test05/index.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user