feat: 添加 namespace 实验

This commit is contained in:
yanfeizhang
2021-10-24 10:51:43 +08:00
parent 77e6659667
commit 86e789f703
3 changed files with 64 additions and 1 deletions

View File

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

View File

@@ -0,0 +1,33 @@
.PHONY: create-net1
create-net1:
ip netns add net1
ip netns exec net1 iptables -L
ip netns exec net1 ip link list
ip netns exec net1 ifconfig
.PHONY: create-veth
create-veth:
ip link add veth1 type veth peer name veth1_p
ip link set veth1 netns net1
ip link list
ip netns exec net1 ip link list
.PHONY: start-veth
start-veth:
ip addr add 192.168.0.100/24 dev veth1_p
ip netns exec net1 ip addr add 192.168.0.101/24 dev veth1
ip link set dev veth1_p up
ip netns exec net1 ip link set dev veth1 up
ifconfig
ip netns exec net1 ifconfig
.PHONY: ping
ping:
ip netns exec net1 ping 192.168.0.100 -I veth1
.PHONY: clean
clean:
ip link delete veth1_p
ip link list
ip netns del net1
ip netns list

View File

@@ -0,0 +1,29 @@
创建网络环境1
```sh
# make create-net1
```
创建一对儿 veth并把一头放到 net1中。分别在母机和 net1 中查看设备信息
```sh
# make create-veth
```
配置 IP 并启动 veth
```sh
# make start-veth
```
ping一下试试
```sh
# make ping
```
实验结果后,清理实验环境
```sh
# make clean
```