必威体育Betway必威体育官网
当前位置:首页 > IT技术

使用brctl来演示如何用vlan id来构造不同的子网

时间:2019-09-12 09:10:00来源:IT技术作者:seo实验室小编阅读:55次「手机版」
 

vlanid

linux中brctl建立的一个br设备,只能实现一个vlan的报文转发;

一个接口输出的报文如果需要增加vlan id,则需要建立vlan子接口;

一个vlan子接口只接收该物理接口中的带相关vlan id的报文;

一个vlan子接口发送的报文,在该物理接口发送时会携带vlan id;

command:

#新建虚拟网络,方便在一个物理机里的模拟两个子网之间的通信

ip netns add ns1

ip netns add ns2

#新建veth pair接口,实现底层联通的一对虚拟接口

ip link add veth0_0 type veth peer name veth0_1

ip link add veth1_0 type veth peer name veth1_1

ip link add veth2_0 type veth peer name veth2_1

ip link add veth3_0 type veth peer name veth3_1

ip link add veth4_0 type veth peer name veth4_1

#新建vlan子接口,该接口将收发带vlan tag的报文

ip link add link veth4_0 name veth4_0.100 type vlan id 100

ip link add link veth4_0 name veth4_0.200 type vlan id 200

ip link add link veth4_1 name veth4_1.100 type vlan id 100

ip link add link veth4_1 name veth4_1.200 type vlan id 200

#新建bridge设备

brctl addbr br100_0

brctl addbr br100_1

brctl addbr br200_0

brctl addbr br200_1

#给bridge设备连接接口

brctl addif br100_0 veth0_0 veth4_0.100

brctl addif br100_1 veth2_0 veth4_1.100

brctl addif br200_0 veth1_0 veth4_0.200

brctl addif br200_1 veth3_0 veth4_1.200

#相关设备linkup

ip link set dev br100_0 up

ip link set dev br100_1 up

ip link set dev br200_0 up

ip link set dev br200_1 up

ip link set dev veth0_0 up

ip link set dev veth1_0 up

ip link set dev veth2_0 up

ip link set dev veth3_0 up

ip link set dev veth4_0 up

ip link set dev veth4_0.100 up

ip link set dev veth4_0.200 up

ip link set dev veth4_1 up

ip link set dev veth4_1.100 up

ip link set dev veth4_1.200 up

#把源设备和目的设备放到不同的虚拟网络中进行隔离,避免其绕开bridge进行直接通信

ip link set veth0_1 netns ns1

ip link set veth1_1 netns ns1

ip link set veth2_1 netns ns2

ip link set veth3_1 netns ns2

#给原设备和目的设备设置IP地址

ip netns exec ns1 ifconfig veth0_1 10.10.0.1 netmask 255.255.255.0

ip netns exec ns1 ifconfig veth1_1 10.10.1.1 netmask 255.255.255.0

ip netns exec ns2 ifconfig veth2_1 10.10.0.2 netmask 255.255.255.0

ip netns exec ns2 ifconfig veth3_1 10.10.1.2 netmask 255.255.255.0

#从源设备ping目的设备

ip netns exec ns1 ping 10.10.0.2

ip netns exec ns1 ping 10.10.1.2

#tcpdump抓包验证收到了带vlan id的报文

tcpdump -i veth4_0 -xxe

tcpdump -i veth4_1 -xxe

ip netns exec ns1 tcpdump -i veth0_1 -xxe

ip netns exec ns2 tcpdump -i veth2_1 -xxe

经过验证,我们可以通过vlan子接口来实现vlan tag的产生和总结;

相关阅读

分享到:

栏目导航

推荐阅读

热门阅读