网站模板中心,建设免费网站模板,网站内容维护费用,网站制作怎么样提供会员注册构建OVS网络
1. 配置虚拟机环境
#xff08;1#xff09;配置虚拟机交换机
1 创建一个名为br-xd的虚拟交换机。 # ovs-vsctl add-br br-xd
2 查询虚拟交换机。 # ovs-vsctl show 5a1cd870-fc31-4820-a7f4-b75c19450582 Bridge br-xd Port br-xd …构建OVS网络
1. 配置虚拟机环境
1配置虚拟机交换机
1 创建一个名为br-xd的虚拟交换机。 # ovs-vsctl add-br br-xd
2 查询虚拟交换机。 # ovs-vsctl show 5a1cd870-fc31-4820-a7f4-b75c19450582 Bridge br-xd Port br-xd Interface br-xd type: internal
3 确认组件安装。
在使用虚拟交换机之前首先确认TAP所需要的组件的组件是否安装。 #yum -y localinstall tunctl-1.5-26.14.x86_64.rpm tunctl包上传至root目录
4 创建TAP设备创建前需要确认tun模块是否被加载。 # tunctl -b -u root -t tap1 # tunctl -b -u root -t tap2
5 设备连接到虚拟交换机。 # ovs-vsctl add-port br-xd tap1 # ovs-vsctl add-port br-xd tap2
6 查看是否添加成功。 # ovs-vsctl show 5a1cd870-fc31-4820-a7f4-b75c19450582 Bridge br-xd Port tap1 Interface tap1 Port tap2 Interface tap2 Port br-xd Interface br-xd type: internal
7 启动TAP设备。 # ip link set up tap1 # ip link set up tap2
2启动虚拟机
1 启动OVS1。
启动虚拟机之前首先创建两个镜像文件拷贝本任务所提供的cirros-0.3.3-x86_64-disk.img为ovs1.img。 # cp -p cirros-0.3.3-x86_64-disk.img ovs1.img # /usr/libexec/qemu-kvm -drive fileovs1.img -m 1024 -vnc :100 -net nic,macaddr32:a9:76:d9:46:2b,modelvirtio -net tap,ifnametap1,scriptno,downscriptno -name OVS1 -daemonize
2 启动OVS2。
启动虚拟机之前首先创建镜像文件拷贝本任务所提供的cirros-0.3.3-x86_64-disk.img为ovs2.img。 # cp -p cirros-0.3.3-x86_64-disk.img ovs2.img # /usr/libexec/qemu-kvm -drive fileovs2.img -m 1024 -vnc :101 -net nic,macaddr32:a9:76:d9:46:3a,modelvirtio -net tap,ifnametap2,scriptno,downscriptno -name OVS2 -daemonize
2. 登陆虚拟主机配置地址
1 VNC登陆虚拟主机查看虚拟机的VNC端口。
通过netstat -ntpl命令可以查询qemu-kvm对应的实例监听的端口。 # netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1092/rpcbind tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 7173/qemu-kvm tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 7201/qemu-kvm
2 VNC登陆虚拟机。
通过查询虚拟机的VNC端口可以知道OVS1虚拟机的端口为6000OVS2的端口为6001利用VNC Viewer登陆虚拟机。
登陆OVS1虚拟机配置服务器地址为192.168.1.131:6000如图4-10所示。配置完成后登陆主机如图4-11所示。 图4-10 OVS1 VNC Viewer配置 图4-11 登陆OVS1虚拟机
登陆OVS2虚拟机配置服务器地址为192.168.1.131:6001如图4-12所示。配置完成后登陆主机如图4-13所示。 图4-12 OVS2 VNC Viewer配置 图4-13 登陆OVS1 虚拟机
3 修改IP地址。
在OVS1上修改eth0的IP地址为10.0.1.2/24。 sudo ifconfig eth0 10.0.1.2 netmask 255.255.255.0
在OVS2上修改eth0的IP地址为10.0.1.3/24。 # sudo ifconfig eth0 10.0.1.3 netmask 255.255.255.0
修改完成后检查两个节点之间的连通性。 # ping 10.0.1.3 -c 4 -I 10.0.1.2 PING 10.0.1.20 (10.0.1.20) from 10.0.2:56(84) bytes of data. 64 bytes from 10.0.1. 3: icmp_seq1 ttl255 time1.04 ms 64 bytes from 10.0.1. 3: icmp_seq2 ttl255 time1.13 ms 64 bytes from 10.0.1. 3: icmp_seq3 ttl255 time0.438 ms 64 bytes from 10.0.1. 3: icmp_seq4 ttl255 time0.134 ms --- 10.0.1. 3ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev 0.134/0.687/1.138/0.417 ms
3. OVS交换机操作
1 查询网桥信息。
在宿主机上查看Port信息, 确认虚拟机对应的Port ID。 # ovs-ofctl show br-xd OFPT_FEATURES_REPLY (xid0x2): dpid:00005e440f43e144 n_tables:254, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst 1(tap1): addr:16:40:8d:ed:76:32 config: 0 state: 0 current: 10MB-FD COPPER speed: 10 Mbps now, 0 Mbps max 2(tap2): addr:8a:37:2f:e4:9b:b2 config: 0 state: LINK_DOWN current: 10MB-FD COPPER speed: 10 Mbps now, 0 Mbps max LOCAL(br-xd): addr:5e:44:0f:43:e1:44 config: PORT_DOWN state: LINK_DOWN speed: 0 Mbps now, 0 Mbps max OFPT_GET_CONFIG_REPLY (xid0x4): fragsnormal miss_send_len0
2 查看流表信息。 # ovs-ofctl dump-flows br-xd NXST_FLOW reply (xid0x4): cookie0x0, duration124323.206s, table0, n_packets3129, n_bytes201115, idle_age1, hard_age65534, priority0 actionsNORMAL
3 检查OVS流表端口。 # ovs-ofctl dump-ports br-xd OFPST_PORT reply (xid0x2): 3 ports port 10: rx pkts6172, bytes590184, drop0, errs0, frame0, over0, crc0 tx pkts6171, bytes590086, drop12, errs0, coll0 port 8: rx pkts8576, bytes759677, drop0, errs0, frame0, over0, crc0 tx pkts7278, bytes684136, drop18, errs0, coll0 port LOCAL: rx pkts139, bytes14672, drop0, errs0, frame0, over0, crc0 tx pkts687, bytes48528, drop0, errs0, coll0
4 流表删除操作。
由流表端口可以看出port8和port10为OVS1和OVS2两台KVM虚拟机的端口从流表信息还可以看出由一条流表对应的规则actions为NORMAL就是按普通交换机处理数据包。这里添加一条流将来自OVS1对应Port的数据包全部丢弃完成后再次检查OVS的数据流表信息。 # ovs-ofctl add-flow br-xd priority10,in_port8,actionsdrop # ovs-ofctl dump-flows br-xd NXST_FLOW reply (xid0x4): cookie0x0, duration175718.172s, table0, n_packets17735, n_bytes1576239, idle_age0, hard_age65534, priority0 actionsNORMAL cookie0x0, duration202.882s, table0, n_packets229, n_bytes11410, idle_age0, priority10,in_port8 actionsdrop
这时再次尝试检查两个节点之间的连通性。 # ping 10.0.1.3 -c 4 -I 10.0.1.2 PING 10.0.1. 3 (10.0.1.20) from 10.0. 2:56(84) bytes of data. --- 10.0.1. 3ping statistics --- 4 packets transmitted, 0 received, 100% packet loss
5 恢复流表操作。
删除添加的流。 # ovs-ofctl del-flows br-xd in_port8
删除完成后再次检查节点之间的连通性。 # ping 10.0.1.3 -c 4 -I 10.0.1.2 PING 10.0.1.20 (10.0.1.20) from 10.0.2:56(84) bytes of data. 64 bytes from 10.0.1. 3: icmp_seq1 ttl255 time1.04 ms 64 bytes from 10.0.1. 3: icmp_seq2 ttl255 time1.13 ms 64 bytes from 10.0.1. 3: icmp_seq3 ttl255 time0.438 ms 64 bytes from 10.0.1. 3: icmp_seq4 ttl255 time0.134 ms --- 10.0.1. 3ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev 0.134/0.687/1.138/0.417 ms