广州网站建设推荐q479185700顶上,安阳网站建设服务,电商平台推广方式,截取网站流量OVS常用命令与使用总结
说明
在平时使用ovs中#xff0c;经常用到的ovs命令#xff0c;参数#xff0c;与举例总结#xff0c;持续更新中…
进程启动
1.先准备ovs的工作目录#xff0c;数据库存储路径等
mkdir -p /etc/openvswitch
mkdir -p /var/run/openvswitch
…OVS常用命令与使用总结
说明
在平时使用ovs中经常用到的ovs命令参数与举例总结持续更新中…
进程启动
1.先准备ovs的工作目录数据库存储路径等
mkdir -p /etc/openvswitch
mkdir -p /var/run/openvswitch
2.先启动ovsdb-server
ovsdb-server /etc/openvswitch/conf.db \
-vconsole:emer -vsyslog:err -vfile:info \
--remotepunix:/var/run/openvswitch/db.sock \
--private-keydb:Open_vSwitch,SSL,private_key \
--certificatedb:Open_vSwitch,SSL,certificate \
--bootstrap-ca-certdb:Open_vSwitch,SSL,ca_cert --no-chdir \
--log-file/var/log/openvswitch/ovsdb-server.log \
--pidfile/var/run/openvswitch/ovsdb-server.pid \
--detach --monitor
ps: 如果想清除配置可以先删除/etc/openvswitch/*然后再手动创建一个数据库
ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema
3.初始化ovsdb 针对于新创建的数据库才需要初始化
ovs-vsctl --no-wait init
4.启动vswitchd进程
ovs-vswitchd unix:/var/run/openvswitch/db.sock \
-vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir \
--log-file/var/log/openvswitch/ovs-vswitchd.log \
--pidfile/var/run/openvswitch/ovs-vswitchd.pid \
--detach --monitor
ovs常用命令
控制管理类
1.查看网桥和端口
ovs-vsctl show
2.创建一个网桥
ovs-vsctl add-br br0
ovs-vsctl set bridge br0 datapath_typenetdev
3.添加/删除一个端口
# for system interfaces
ovs-vsctl add-port br0 eth1
ovs-vsctl del-port br0 eth1
# for DPDK
ovs-vsctl add-port br0 dpdk1 -- set interface dpdk1 typedpdk options:dpdk-devargs0000:01:00.0
# for DPDK bonds
ovs-vsctl add-bond br0 dpdkbond0 dpdk1 dpdk2 \ -- set interface dpdk1 typedpdk options:dpdk-devargs0000:01:00.0 \ -- set interface dpdk2 typedpdk options:dpdk-devargs0000:02:00.0
# or new version
ovs-vsctl add-port br0 dpdkbond0 \ -- set interface dpdkbond0 typedpdk options:dpdk-devargs0000:01:00.0,0000:02:00.0
4.设置/清除网桥的openflow协议版本
ovs-vsctl set bridge br0 protocolsOpenFlow13
ovs-vsctl clear bridge br0 protocols
5.查看某网桥当前流表
ovs-ofctl dump-flows br0
ovs-ofctl -O OpenFlow13 dump-flows br0
ovs-appctl bridge/dump-flows br0
6.设置/删除控制器
ovs-vsctl set-controller br0 tcp:1.2.3.4:6633
ovs-vsctl del-controller br0
7.查看控制器列表
ovs-vsctl list controller
8.设置/删除被动连接控制器
ovs-vsctl set-manager tcp:1.2.3.4:6640
ovs-vsctl get-manager
ovs-vsctl del-manager
9.设置/移除可选选项
ovs-vsctl set Interface eth0 options:link_speed1G
ovs-vsctl remove Interface eth0 options link_speed
10.设置fail模式支持standalone或者secure standalone(default)清除所有控制器下发的流表ovs自己接管 secure按照原来流表继续转发
ovs-vsctl del-fail-mode br0
ovs-vsctl set-fail-mode br0 secure
ovs-vsctl get-fail-mode br0
11.查看接口id等
ovs-appctl dpif/show
12.查看接口统计
ovs-ofctl dump-ports br0 流表类
流表操作
1.添加普通流表
ovs-ofctl add-flow br0 in_port1,actionsoutput:2
2.删除所有流表
ovs-ofctl del-flows br0
3.按匹配项来删除流表
ovs-ofctl del-flows br0 in_port1 匹配项
1.匹配vlan tag范围为0-4095
ovs-ofctl add-flow br0 priority401,in_port1,dl_vlan777,actionsoutput:2
2.匹配vlan pcp范围为0-7
ovs-ofctl add-flow br0 priority401,in_port1,dl_vlan_pcp7,actionsoutput:2
3.匹配源/目的MAC
ovs-ofctl add-flow br0 in_port1,dl_src00:00:00:00:00:01/00:00:00:00:00:01,actionsoutput:2
ovs-ofctl add-flow br0 in_port1,dl_dst00:00:00:00:00:01/00:00:00:00:00:01,actionsoutput:2
4.匹配以太网类型范围为0-65535
ovs-ofctl add-flow br0 in_port1,dl_type0x0806,actionsoutput:2
5.匹配源/目的IP 条件指定dl_type0x0800或者ip/tcp
ovs-ofctl add-flow br0 ip,in_port1,nw_src10.10.0.0/16,actionsoutput:2
ovs-ofctl add-flow br0 ip,in_port1,nw_dst10.20.0.0/16,actionsoutput:2
6.匹配协议号范围为0-255 条件指定dl_type0x0800或者ip
# ICMP
ovs-ofctl add-flow br0 ip,in_port1,nw_proto1,actionsoutput:2
7.匹配IP ToS/DSCPtos范围为0-255DSCP范围为0-63 条件指定dl_type0x0800/0x86dd并且ToS低2位会被忽略(DSCP值为ToS的高6位并且低2位为预留位)
ovs-ofctl add-flow br0 ip,in_port1,nw_tos68,actionsoutput:2
ovs-ofctl add-flow br0 ip,in_port1,ip_dscp62,actionsoutput:2
8.匹配IP ecn位范围为0-3 条件指定dl_type0x0800/0x86dd
ovs-ofctl add-flow br0 ip,in_port1,ip_ecn2,actionsoutput:2
9.匹配IP TTL范围为0-255
ovs-ofctl add-flow br0 ip,in_port1,nw_ttl128,actionsoutput:2
10.匹配tcp/udp源/目的端口范围为0-65535
# 匹配源tcp端口179
ovs-ofctl add-flow br0 tcp,tcp_src179/0xfff0,actionsoutput:2
# 匹配目的tcp端口179
ovs-ofctl add-flow br0 tcp,tcp_dst179/0xfff0,actionsoutput:2
# 匹配源udp端口1234
ovs-ofctl add-flow br0 udp,udp_src1234/0xfff0,actionsoutput:2
# 匹配目的udp端口1234
ovs-ofctl add-flow br0 udp,udp_dst1234/0xfff0,actionsoutput:2
11.匹配tcp flags tcp flagsfinsynrstpshackurgececwrns
ovs-ofctl add-flow br0 tcp,tcp_flagsack,actionsoutput:2
12.匹配icmp code范围为0-255 条件指定icmp
ovs-ofctl add-flow br0 icmp,icmp_code2,actionsoutput:2
13.匹配vlan TCI TCI低12位为vlan id高3位为priority例如tci0xf123则vlan_id为0x123和vlan_pcp7
ovs-ofctl add-flow br0 in_port1,vlan_tci0xf123,actionsoutput:2
14.匹配mpls label 条件指定dl_type0x8847/0x8848
ovs-ofctl add-flow br0 mpls,in_port1,mpls_label7,actionsoutput:2
15.匹配mpls tc范围为0-7 条件指定dl_type0x8847/0x8848
ovs-ofctl add-flow br0 mpls,in_port1,mpls_tc7,actionsoutput:2
16.匹配tunnel id源/目的IP
# 匹配tunnel id
ovs-ofctl add-flow br0 in_port1,tun_id0x7/0xf,actionsoutput:2
# 匹配tunnel源IP
ovs-ofctl add-flow br0 in_port1,tun_src192.168.1.0/255.255.255.0,actionsoutput:2
# 匹配tunnel目的IP
ovs-ofctl add-flow br0 in_port1,tun_dst192.168.1.0/255.255.255.0,actionsoutput:2 一些匹配项的速记符 速记符 匹配项 ip dl_type0x800 ipv6 dl_type0x86dd icmp dl_type0x0800,nw_proto1 icmp6 dl_type0x86dd,nw_proto58 tcp dl_type0x0800,nw_proto6 tcp6 dl_type0x86dd,nw_proto6 udp dl_type0x0800,nw_proto17 udp6 dl_type0x86dd,nw_proto17 sctp dl_type0x0800,nw_proto132 sctp6 dl_type0x86dd,nw_proto132 arp dl_type0x0806 rarp dl_type0x8035 mpls dl_type0x8847 mplsm dl_type0x8848 指令动作
1.动作为出接口 从指定接口转发出去
ovs-ofctl add-flow br0 in_port1,actionsoutput:2
2.动作为指定group group id为已创建的group table
ovs-ofctl add-flow br0 in_port1,actionsgroup:666
3.动作为normal 转为L2/L3处理流程
ovs-ofctl add-flow br0 in_port1,actionsnormal
4.动作为flood 从所有物理接口转发出去除了入接口和已关闭flooding的接口
ovs-ofctl add-flow br0 in_port1,actionsflood
5.动作为all 从所有物理接口转发出去除了入接口
ovs-ofctl add-flow br0 in_port1,actionsall
6.动作为local 一般是转发给本地网桥
ovs-ofctl add-flow br0 in_port1,actionslocal
7.动作为in_port 从入接口转发回去
ovs-ofctl add-flow br0 in_port1,actionsin_port
8.动作为controller 以packet-in消息上送给控制器
ovs-ofctl add-flow br0 in_port1,actionscontroller
9.动作为drop 丢弃数据包操作
ovs-ofctl add-flow br0 in_port1,actionsdrop
10.动作为mod_vlan_vid 修改报文的vlan id该选项会使vlan_pcp置为0
ovs-ofctl add-flow br0 in_port1,actionsmod_vlan_vid:8,output:2
11.动作为mod_vlan_pcp 修改报文的vlan优先级该选项会使vlan_id置为0
ovs-ofctl add-flow br0 in_port1,actionsmod_vlan_pcp:7,output:2
12.动作为strip_vlan 剥掉报文内外层vlan tag
ovs-ofctl add-flow br0 in_port1,actionsstrip_vlan,output:2
13.动作为push_vlan 在报文外层压入一层vlan tag需要使用openflow1.1以上版本兼容
ovs-ofctl add-flow -O OpenFlow13 br0 in_port1,actionspush_vlan:0x8100,set_field:4097-\vlan_vid,output:2
ps: set field值为4096vlan_id并且vlan优先级为0即4096-8191对应的vlan_id为0-4095
14.动作为push_mpls 修改报文的ethertype并且压入一个MPLS LSE
ovs-ofctl add-flow br0 in_port1,actionspush_mpls:0x8847,set_field:10-\mpls_label,output:2
15.动作为pop_mpls 剥掉最外层mpls标签并且修改ethertype为非mpls类型
ovs-ofctl add-flow br0 mpls,in_port1,mpls_label20,actionspop_mpls:0x0800,output:2
16.动作为修改源/目的MAC修改源/目的IP
# 修改源MAC
ovs-ofctl add-flow br0 in_port1,actionsmod_dl_src:00:00:00:00:00:01,output:2
# 修改目的MAC
ovs-ofctl add-flow br0 in_port1,actionsmod_dl_dst:00:00:00:00:00:01,output:2
# 修改源IP
ovs-ofctl add-flow br0 in_port1,actionsmod_nw_src:192.168.1.1,output:2
# 修改目的IP
ovs-ofctl add-flow br0 in_port1,actionsmod_nw_dst:192.168.1.1,output:2
17.动作为修改TCP/UDP/SCTP源目的端口
# 修改TCP源端口
ovs-ofctl add-flow br0 tcp,in_port1,actionsmod_tp_src:67,output:2
# 修改TCP目的端口
ovs-ofctl add-flow br0 tcp,in_port1,actionsmod_tp_dst:68,output:2
# 修改UDP源端口
ovs-ofctl add-flow br0 udp,in_port1,actionsmod_tp_src:67,output:2
# 修改UDP目的端口
ovs-ofctl add-flow br0 udp,in_port1,actionsmod_tp_dst:68,output:2
18.动作为mod_nw_tos 条件指定dl_type0x0800 修改ToS字段的高6位范围为0-255值必须为4的倍数并且不会去修改ToS低2位ecn值
ovs-ofctl add-flow br0 ip,in_port1,actionsmod_nw_tos:68,output:2
19.动作为mod_nw_ecn 条件指定dl_type0x0800需要使用openflow1.1以上版本兼容 修改ToS字段的低2位范围为0-3并且不会去修改ToS高6位的DSCP值
ovs-ofctl add-flow br0 ip,in_port1,actionsmod_nw_ecn:2,output:2
20.动作为mod_nw_ttl 修改IP报文ttl值需要使用openflow1.1以上版本兼容
ovs-ofctl add-flow -O OpenFlow13 br0 in_port1,actionsmod_nw_ttl:6,output:2
21.动作为dec_ttl 对IP报文进行ttl自减操作
ovs-ofctl add-flow br0 in_port1,actionsdec_ttl,output:2
22.动作为set_mpls_label 对报文最外层mpls标签进行修改范围为20bit值
ovs-ofctl add-flow br0 in_port1,actionsset_mpls_label:666,output:2
23.动作为set_mpls_tc 对报文最外层mpls tc进行修改范围为0-7
ovs-ofctl add-flow br0 in_port1,actionsset_mpls_tc:7,output:2
24.动作为set_mpls_ttl 对报文最外层mpls ttl进行修改范围为0-255
ovs-ofctl add-flow br0 in_port1,actionsset_mpls_ttl:255,output:2
25.动作为dec_mpls_ttl 对报文最外层mpls ttl进行自减操作
ovs-ofctl add-flow br0 in_port1,actionsdec_mpls_ttl,output:2
26.动作为move NXM字段 使用move参数对NXM字段进行操作
# 将报文源MAC复制到目的MAC字段并且将源MAC改为00:00:00:00:00:01
ovs-ofctl add-flow br0 in_port1,actionsmove:NXM_OF_ETH_SRC[]-\NXM_OF_ETH_DST[],mod_dl_src:00:00:00:00:00:01,output:2
ps: 常用NXM字段参照表 NXM字段 报文字段 NXM_OF_ETH_SRC 源MAC NXM_OF_ETH_DST 目的MAC NXM_OF_ETH_TYPE 以太网类型 NXM_OF_VLAN_TCI vid NXM_OF_IP_PROTO IP协议号 NXM_OF_IP_TOS IP ToS值 NXM_NX_IP_ECN IP ToS ECN NXM_OF_IP_SRC 源IP NXM_OF_IP_DST 目的IP NXM_OF_TCP_SRC TCP源端口 NXM_OF_TCP_DST TCP目的端口 NXM_OF_UDP_SRC UDP源端口 NXM_OF_UDP_DST UDP目的端口 NXM_OF_SCTP_SRC SCTP源端口 NXM_OF_SCTP_DST SCTP目的端口
27.动作为load NXM字段 使用load参数对NXM字段进行赋值操作
# push mpls label并且把10(0xa)赋值给mpls label
ovs-ofctl add-flow br0 in_port1,actionspush_mpls:0x8847,load:0xa-\OXM_OF_MPLS_LABEL[],output:2
# 对目的MAC进行赋值
ovs-ofctl add-flow br0 in_port1,actionsload:0x001122334455-\OXM_OF_ETH_DST[],output:2
28.动作为pop_vlan 弹出报文最外层vlan tag
ovs-ofctl add-flow br0 in_port1,dl_type0x8100,dl_vlan777,actionspop_vlan,output:2 meter表
常用操作
由于meter表是openflow1.3版本以后才支持所以所有命令需要指定OpenFlow1.3版本以上ps: 在openvswitch-v2.8之前的版本中还不支持meter在v2.8版本之后已经实现要正常使用的话需要注意的是datapath类型要指定为netdevband type暂时只支持drop还不支持DSCP REMARK
1.查看当前设备对meter的支持
ovs-ofctl -O OpenFlow13 meter-features br0
2.查看meter表
ovs-ofctl -O OpenFlow13 dump-meters br0
3.查看meter统计
ovs-ofctl -O OpenFlow13 meter-stats br0
4.创建meter表
# 限速类型以kbps(kilobits per second)计算超过20kb/s则丢弃
ovs-ofctl -O OpenFlow13 add-meter br0 meter1,kbps,bandtypedrop,rate20
# 同上增加burst size参数
ovs-ofctl -O OpenFlow13 add-meter br0 meter2,kbps,burst,bandtypedrop,rate20,burst_size256
# 同上增加stats参数,对meter进行计数统计
ovs-ofctl -O OpenFlow13 add-meter br0 meter3,kbps,burst,stats,bandtypedrop,rate20,burst_size256
# 限速类型以pktps(packets per second)计算超过1000pkt/s则丢弃
ovs-ofctl -O OpenFlow13 add-meter br0 meter4,pktps,bandtypedrop,rate1000
5.删除meter表
# 删除全部meter表
ovs-ofctl -O OpenFlow13 del-meters br0
# 删除meter id1
ovs-ofctl -O OpenFlow13 del-meter br0 meter1
6.创建流表
ovs-ofctl -O OpenFlow13 add-flow br0 in_port1,actionsmeter:1,output:2 group表
由于group表是openflow1.1版本以后才支持所以所有命令需要指定OpenFlow1.1版本以上
常用操作
group table支持4种类型
all所有buckets都执行一遍select 每次选择其中一个bucket执行常用于负载均衡应用ff(FAST FAILOVER)快速故障修复用于检测解决接口等故障indirect间接执行类似于一个函数方法被另一个group来调用
1.查看当前设备对group的支持
ovs-ofctl -O OpenFlow13 dump-group-features br0
2.查看group表
ovs-ofctl -O OpenFlow13 dump-groups br0
3.创建group表
# 类型为all
ovs-ofctl -O OpenFlow13 add-group br0 group_id1,typeall,bucketoutput:1,bucketoutput:2,bucketoutput:3
# 类型为select
ovs-ofctl -O OpenFlow13 add-group br0 group_id2,typeselect,bucketoutput:1,bucketoutput:2,bucketoutput:3
# 类型为select指定hash方法(5元组OpenFlow1.5)
ovs-ofctl -O OpenFlow15 add-group br0 group_id3,typeselect,selection_methodhash,fieldsip_src,bucketoutput:2,bucketoutput:3
4.删除group表
ovs-ofctl -O OpenFlow13 del-groups br0 group_id2
1
5.创建流表
ovs-ofctl -O OpenFlow13 add-flow br0 in_port1,actionsgroup:2 goto table配置
数据流先从table0开始匹配如actions有goto_table再进行后续table的匹配实现多级流水线如需使用goto table则创建流表时指定table id范围为0-255不指定则默认为table0 1.在table0中添加一条流表条目
ovs-ofctl add-flow br0 table0,in_port1,actionsgoto_table1
2.在table1中添加一条流表条目
ovs-ofctl add-flow br0 table1,ip,nw_dst10.10.0.0/16,actionsoutput:2 tunnel配置
如需配置tunnel必需确保当前系统对各tunnel的remote ip网络可达
gre
1.创建一个gre接口并且指定端口id1001
ovs-vsctl add-port br0 gre1 -- set Interface gre1 typegre options:remote_ip1.1.1.1 ofport_request1001
2.可选选项 将tos或者ttl在隧道上继承并将tunnel id设置成123
ovs-vsctl set Interface gre1 options:tosinherit options:ttlinherit options:key123
3.创建关于gre流表
# 封装gre转发
ovs-ofctl add-flow br0 ip,in_port1,nw_dst10.10.0.0/16,actionsoutput:1001
# 解封gre转发
ovs-ofctl add-flow br0 in_port1001,actionsoutput:1
vxlan
1.创建一个vxlan接口并且指定端口id2001
ovs-vsctl add-port br0 vxlan1 -- set Interface vxlan1 typevxlan options:remote_ip1.1.1.1 ofport_request2001
2.可选选项 将tos或者ttl在隧道上继承将vni设置成123UDP目的端为设置成8472(默认为4789)
ovs-vsctl set Interface vxlan1 options:tosinherit options:ttlinherit options:key123 options:dst_port8472
3.创建关于vxlan流表
# 封装vxlan转发
ovs-ofctl add-flow br0 ip,in_port1,nw_dst10.10.0.0/16,actionsoutput:2001
# 解封vxlan转发
ovs-ofctl add-flow br0 in_port2001,actionsoutput:1 sflow配置
1.对网桥br0进行sflow监控
agent: 与collector通信所在的网口名通常为管理口target: collector监听的IP地址和端口端口默认为6343header: sFlow在采样时截取报文头的长度polling: 采样时间间隔单位为秒
ovs-vsctl -- --idsflow create sflow agenteth0 target\10.0.0.1:6343\ header128 sampling64 polling10 -- set bridge br0 sflowsflow
2.查看创建的sflow
ovs-vsctl list sflow
3.删除对应的网桥sflow配置参数为sFlow UUID
ovs-vsctl remove bridge br0 sflow 7b9b962e-fe09-407c-b224-5d37d9c1f2b3
4.删除网桥下所有sflow配置
ovs-vsctl -- clear bridge br0 sflow QoS配置
ingress policing
1.配置ingress policing对接口eth0入流限速10Mbps
ovs-vsctl set interface eth0 ingress_policing_rate10000
ovs-vsctl set interface eth0 ingress_policing_burst8000
2.清除相应接口的ingress policer配置
ovs-vsctl set interface eth0 ingress_policing_rate0
ovs-vsctl set interface eth0 ingress_policing_burst0
3.查看接口ingress policer配置
ovs-vsctl list interface eth0
4.查看网桥支持的Qos类型
ovs-appctl qos/show-types br0 端口镜像配置
1.配置eth0收到/发送的数据包镜像到eth1
ovs-vsctl -- set bridge br0 mirrorsm \
-- --ideth0 get port eth0 \
-- --ideth1 get port eth1 \
-- --idm create mirror namemymirror select-dst-porteth0 select-src-porteth0 output-porteth1
2.删除端口镜像配置
ovs-vsctl -- --idm get mirror mymirror -- remove bridge br0 mirrors m
3.清除网桥下所有端口镜像配置
ovs-vsctl clear bridge br0 mirrors
4.查看端口镜像配置
ovs-vsctl get bridge br0 mirrors 聚合口配置
1.创建一个聚合口
ovs-vsctl add-port br0 dpdkbond0 \ -- set interface dpdkbond0 typedpdk options:dpdk-devargs0000:01:00.0,0000:02:00.0
2.设置聚合口模式
# mode1
ovs-vsctl set port dpdkbond0 bond_modeactive-backup # mode2
ovs-vsctl set port dpdkbond0 bond_modebalance-slb # mode4
ovs-vsctl set port dpdkbond0 bond_modebalance-tcp
ovs-vsctl set port dpdkbond0 lacpactive
ovs-vsctl set port dpdkbond0 lacpoff
ovs-vsctl set port dpdkbond0 lacppassive
3.查看mode4 lacp协商状态
ovs-appctl lacp/show 文章转载自: http://www.morning.1000sh.com.gov.cn.1000sh.com http://www.morning.tcxk.cn.gov.cn.tcxk.cn http://www.morning.nwmwp.cn.gov.cn.nwmwp.cn http://www.morning.qjghx.cn.gov.cn.qjghx.cn http://www.morning.wqkzf.cn.gov.cn.wqkzf.cn http://www.morning.ho-use.cn.gov.cn.ho-use.cn http://www.morning.kjlia.com.gov.cn.kjlia.com http://www.morning.gktds.cn.gov.cn.gktds.cn http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn http://www.morning.wdlyt.cn.gov.cn.wdlyt.cn http://www.morning.kyctc.cn.gov.cn.kyctc.cn http://www.morning.lzdbb.cn.gov.cn.lzdbb.cn http://www.morning.xkzr.cn.gov.cn.xkzr.cn http://www.morning.kgrwh.cn.gov.cn.kgrwh.cn http://www.morning.qxltp.cn.gov.cn.qxltp.cn http://www.morning.rykmf.cn.gov.cn.rykmf.cn http://www.morning.hybmz.cn.gov.cn.hybmz.cn http://www.morning.lwrcg.cn.gov.cn.lwrcg.cn http://www.morning.rykmz.cn.gov.cn.rykmz.cn http://www.morning.xkqjw.cn.gov.cn.xkqjw.cn http://www.morning.crhd.cn.gov.cn.crhd.cn http://www.morning.ppghc.cn.gov.cn.ppghc.cn http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn http://www.morning.fxzgw.com.gov.cn.fxzgw.com http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn http://www.morning.nsppc.cn.gov.cn.nsppc.cn http://www.morning.rgnp.cn.gov.cn.rgnp.cn http://www.morning.bfycr.cn.gov.cn.bfycr.cn http://www.morning.grxbw.cn.gov.cn.grxbw.cn http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn http://www.morning.cszbj.cn.gov.cn.cszbj.cn http://www.morning.rnkq.cn.gov.cn.rnkq.cn http://www.morning.mtrfz.cn.gov.cn.mtrfz.cn http://www.morning.nshhf.cn.gov.cn.nshhf.cn http://www.morning.dgng.cn.gov.cn.dgng.cn http://www.morning.tftw.cn.gov.cn.tftw.cn http://www.morning.rbjf.cn.gov.cn.rbjf.cn http://www.morning.csnmd.cn.gov.cn.csnmd.cn http://www.morning.ccffs.cn.gov.cn.ccffs.cn http://www.morning.grnhb.cn.gov.cn.grnhb.cn http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn http://www.morning.nlgyq.cn.gov.cn.nlgyq.cn http://www.morning.sxjmz.cn.gov.cn.sxjmz.cn http://www.morning.dxsyp.cn.gov.cn.dxsyp.cn http://www.morning.mdtfh.cn.gov.cn.mdtfh.cn http://www.morning.bpttm.cn.gov.cn.bpttm.cn http://www.morning.wffxr.cn.gov.cn.wffxr.cn http://www.morning.chfxz.cn.gov.cn.chfxz.cn http://www.morning.wrdlf.cn.gov.cn.wrdlf.cn http://www.morning.nytqy.cn.gov.cn.nytqy.cn http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn http://www.morning.ppghc.cn.gov.cn.ppghc.cn http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn http://www.morning.rpfpx.cn.gov.cn.rpfpx.cn http://www.morning.fewhope.com.gov.cn.fewhope.com http://www.morning.fnkcg.cn.gov.cn.fnkcg.cn http://www.morning.mfct.cn.gov.cn.mfct.cn http://www.morning.gpxbc.cn.gov.cn.gpxbc.cn http://www.morning.skrxp.cn.gov.cn.skrxp.cn http://www.morning.fqzz3.cn.gov.cn.fqzz3.cn http://www.morning.btblm.cn.gov.cn.btblm.cn http://www.morning.hmxrs.cn.gov.cn.hmxrs.cn http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn http://www.morning.pqktp.cn.gov.cn.pqktp.cn http://www.morning.lbbgf.cn.gov.cn.lbbgf.cn http://www.morning.wmrgp.cn.gov.cn.wmrgp.cn http://www.morning.qtxwb.cn.gov.cn.qtxwb.cn http://www.morning.xhklb.cn.gov.cn.xhklb.cn http://www.morning.mflqd.cn.gov.cn.mflqd.cn http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn http://www.morning.wslpk.cn.gov.cn.wslpk.cn http://www.morning.xcszl.cn.gov.cn.xcszl.cn http://www.morning.zrdqz.cn.gov.cn.zrdqz.cn http://www.morning.paxkhqq.cn.gov.cn.paxkhqq.cn http://www.morning.kgxrq.cn.gov.cn.kgxrq.cn http://www.morning.lptjt.cn.gov.cn.lptjt.cn