- 积分
- 16840
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
一. 安装环境:
; z2 {( H! f0 i+ e. Z0 V
6 z5 a& d" n4 ?7 o) t) u+ S6 K1. Juniper EX2200 Switch
! L# t1 u9 j: d8 `/ F% U7 _3 w' E6 ?6 p+ V% n
2. RHEL7.1 OS5 e v& p6 b5 V
r4 N9 l$ b5 _6 @
3. 1Controller +1Compute, z( Q5 r! T4 z5 d1 ^4 L9 B' Q
, e* V; q9 b1 x( p* y6 i3 w! m- W9 @. M* B# `# _4 ^3 b
! S9 {& @) |2 K7 o# `
管理网:eth0 10.14.0.0/22
) Z7 B, T* ~8 X" `' ~" I' G, b$ T, z4 e' A$ l+ O, U4 s
数据网:eth1 使用vlan-id 104创建网络192.168.104.0/24,使用vlan-id 105创建网络192.168.105.0/24
- H4 i3 \$ u: K( f4 D
9 q& o) v9 c, t8 o! ~+ b2 A1 L% r
# F2 C2 Z) m0 _6 X5 E
+ m0 s+ i: d3 X) CController eth1 连接Juniper port ge-0/0/27.0,Compute eth1连接Juniper port ge-0/0/28.05 Y+ K! x$ L' L' ~# P/ [ [
% g- w" t4 y" |
* D0 N: p) u5 P9 q
8 Z4 Z* D# M+ T! D! h p1 P7 g/ E4 R
二. 交换机配置
4 z# P2 w% h+ p" o) |3 a3 m/ [8 i- U" L5 O* Y
1. 设置port为trunk模式:3 \' ]- ~$ W: X$ R; b( z3 V1 @- C
8 C3 d- z7 m: k
# N8 K7 P( [6 \% a: A. y$ {
* U" s& l( L/ ?- ]9 v' s U
% z. ?: E9 O i$ E
" y* \0 z- R' @% n0 mroot> show configuration |display set
( F3 a4 l' R. i2 L; D
9 _) A. g) b- h' |* P" `
1 i5 n8 R" m, @1 u7 _2 k# {+ ]. o% v: q4 _( p: J% O- s7 t
set version 11.4R1.6
$ p! K; _6 ^3 c
& r0 P' b6 [+ [, ]- / Q8 E! r" w: J* O; @
9 U7 z' b& ^- \; H7 x" L
set system root-authentication encrypted-password "$1$jC9l6Bwy$ePVIDxgH.8iXqDfqrLzuJ1"9 f$ S7 V' c9 Y9 q0 u
) Z- [: ]! r' M+ z
6 m* j' p( E; Y0 `: c* w( U
; k$ M& {2 A4 q- E( Jset system services ssh$ K h/ P% ~5 n6 }
) }% b2 x$ _( |- L
/ Y! E; c. g2 [& ~* h! v$ @2 s) {: c/ f0 w
set system syslog user * any emergency
. }, h1 f$ l2 e2 u8 S. y5 [8 N+ c1 C; e
- : ^( d3 B9 @$ a+ W5 f6 K. z2 s! t
, l8 M# G/ c& v: u' @
set system syslog file messages any notice+ T4 O6 M8 [* o N/ |! w& N3 `
- k9 }% O$ M9 u' Z" t! L
* ?" _) F; ~3 N! L" A7 k! h; \* }/ W: o- k
set system syslog file messages authorization info
3 y) d3 }8 z. V: u4 A) v7 S# H/ s9 Z
: U+ U% L# v8 t0 ~0 j9 ]
8 d# @4 `" G$ i, a- b* d: p3 u5 n# J- i+ X
set system syslog file interactive-commands interactive-commands any+ w8 b6 F) A7 n/ E# L/ U
4 G6 \( D: Y! H: _. F
- `3 g" g, w: X: h4 u# |
' c9 z, g1 @" z( D1 a6 wset interfaces ge-0/0/0 unit 0 family ethernet-switching
8 V% b( s' z/ |6 P6 C3 Z' B8 v. c3 q% A7 @5 l3 K' R- S- y0 k
- # D) `. M! ?% Z$ F) A% i( b) J$ S
0 I$ \. G; K* F' c$ r: c2 I( Z
set interfaces ge-0/0/1 unit 0 family ethernet-switching" e, k% V, i9 ?
* w J! [3 h& n; \- Z9 Y5 G
- # J) |. o3 i% M( j- @" J. q( _
3 m$ |: W4 |+ R, W% iset interfaces ge-0/0/2 unit 0 family ethernet-switching, A& ^6 `- j* A- O
& \, j8 L& F- a; r( P0 T
, y: J9 r0 V' S' P8 R/ W, M' l6 A, a9 R8 ?# G
set interfaces ge-0/0/3 unit 0 family ethernet-switching2 l! B' T; i* N5 b
, {3 j" @% A6 |% q( N) H. \
4 O D; L1 u* Q# H5 }- h7 i/ F3 ]! w" t* Z/ e
...............5 r& L Q9 o, N% _! a- w
+ \) c6 Z, C% U2 r- $ W: }/ a& ], ~. `1 W) h
# I% a0 A% J0 {9 e5 _/ I0 r3 S
<strong>set interfaces ge-0/0/27 unit 0 family ethernet-switching port-mode trunk
7 m# }6 a3 @" O+ W: Y. N! D6 Y. @; N. m+ {% j8 L
% W3 Y- l4 f7 T
% z* j, K7 [; {# ^: a* g8 jset interfaces ge-0/0/27 unit 0 family ethernet-switching vlan members all' k4 c6 v5 U0 Z; [" y
+ \0 Q6 c t2 v* p" r6 F- o4 P
5 G5 f8 D4 G+ g3 h2 q( Y( c* }
6 q8 e% y$ ^( M1 w% iset interfaces ge-0/0/28 unit 0 family ethernet-switching port-mode trunk/ K/ z7 P6 k4 ?5 [" H& I
9 `$ r, Q+ B6 ~8 `/ Y7 G
- m* S% ~4 G2 j/ E
8 B2 t( Q: w; k4 o5 @( Pset interfaces ge-0/0/28 unit 0 family ethernet-switching vlan members all</strong>1 e2 Z0 G- |4 U0 O0 W
! |8 W: a$ h8 e3 E4 O* n, c
- ! Z" Q& c* d) X3 `
3 v" e' \/ x% ^/ N6 n
.....................; P7 P% k) O, X0 n& }
/ Q m9 B& X: _, d/ ^
0 d) F% a0 a3 y& N2 E) X* _
4 ]; u: k2 M& b& B# A
) G( Y( w1 }2 S# w% z( \% t- C- v: U- T& }; D1 |
% Z5 _) p8 }6 l& ~6 }
2 S0 t9 |: x, y" ?" N( k( O: B2. 设置vlan id 104,105
0 j6 o/ t+ Z# k$ G! I" o8 m- C
0 k6 U/ ?/ A3 r6 ?+ m. m( T' K$ ]; C: B
) {; k" Q7 l6 O2 T5 E7 G. T# d% _8 r( X( {1 ^5 I6 D
<strong>set vlans vlan104 vlan-id 104# W! t( v- ?7 N% q; [: F% u
3 E+ I& S5 B0 x- - ], Y. Y/ j# k5 I% r
5 R0 x$ y7 n3 wset vlans vlan105 vlan-id 105</strong>% x ~, G" t# e$ s" y
0 C+ K2 e8 i9 u l6 d/ d - / g* F/ o2 t- w( M6 F, h" h
. a- e; d4 V2 Q5 h+ d: E
set vlans vlan108 vlan-id 108
9 t$ l8 ?* _5 c w: E
7 N: K, w( P7 n3 A* k; [ - 2 J' X$ U" c; @# Y/ H! c
8 L1 ~, y9 Z# N% f0 ~6 qset vlans vlan110 vlan-id 110
8 t, q& u2 H Q, ?% N' {$ D6 Z* M" |0 [3 f) M2 ]5 N! y+ G
; |4 J. r' P5 B- C$ E$ r- K) I
set vlans vlan110 interface ge-0/0/29.04 |( S* i" E5 i1 j$ a+ m
' ?, [ p5 y) n7 |* T
) ^- a m- o ^1 p. z- x/ z2 t/ c0 R2 Q( g% T8 X
set vlans vlan111) u( Y+ s+ b! h* l$ H* ~7 I$ q
9 ^2 A0 p* l$ j V j' V
# I, E8 R8 p1 ]9 n: L; D! U" f, I- d; `; Q) h; @: D) P* q
..........................6 R, q. j5 d; b/ z
/ a! B: ~1 z+ |+ u- ^% N6 I7 D) q6 r" }; m2 v! J" @& w
o1 f# ?, [0 ?9 V9 H
4 Z- B U* O/ ], B# d4 Q( K* J
. M+ b: f I- q
3 v4 J3 U x- H; E: J
1 q4 [6 S+ C$ j: `! q
, m3 I( W1 f4 ]% P _ps:trunk模式下端口对带tag报文的收发处理
& p9 r4 a/ o: s# d2 M9 \$ Y! N
! B+ H2 X$ ~" Z: ][img][/img]
' {- c* e c! m5 U4 i0 ]8 n g8 p
' s: }0 y2 a5 Y9 k
5 A9 Z1 \- h' q r[img][/img]5 z" o; `& k( d, n/ Z* F+ C) l( W
& Q& S4 Y5 s: O/ J" v7 f7 s
. s) W, U+ T9 V, J4 F9 L
% E2 u' Q( G/ D+ f2 [. e4 Q2 b; G- `' w4 q7 A7 j3 \! N& Q
三. openstack中vlan的配置
2 {/ J( F; K8 n, G" B3 _3 H% J+ I. m' E
1. 物理机上的网络配置
$ q2 S7 F& w* a! S k7 D: A
' W; w1 Q j+ r2 Z( `3 ?Controller:
5 P) J: u. n5 `0 e
l9 t2 c) z7 D$ `, @* G ~
7 m+ n. d) S T& J$ I
6 y; p: |7 z# B
7 T9 p! s Z w2 @8 V2 D: d! E; v& _4 `
[root@controller ~]# ovs-vsctl show
1 L- m* j1 }- M* f1 R2 B; o3 u* _( e/ Q7 j
- 6 r% O6 Q" A3 h) ]
. j- G" q8 ~" @4 L: J1 y, d& vf2db5bf5-6591-47f7-a134-462f66a3fde5
9 h' X7 N+ }: c' ]& x4 X8 d& e! s4 k* o6 [+ H; H
- 2 }- q: h! t( q5 ?
* |2 w( M/ ?, G/ {
Bridge br-ex
* A( Z; H( H+ s4 p6 x
! d/ j2 Y. W4 A3 O; ^7 U
/ {, j1 |5 t+ Y0 [) V; _, `' [1 |
( ^9 O# C* z" d. N Port br-ex& ?+ [8 X- `7 ?$ z7 P
5 l) \3 E6 V# I4 O- ) Q" T: J0 C1 L- O& v5 @9 b
- {; j6 ]2 L; ^- t3 f. {9 A
Interface br-ex4 I4 Z A- L3 e3 O
5 b; o" I8 {, o* E/ O$ w - . ]- X! e0 d9 u: y( f' W2 G7 p& l
0 ^* J. e' n% L$ z ]
type: internal
+ R/ S# b C3 f% W
) d5 B* }) H- ]# s1 v - 2 |$ X5 x+ L9 ], ]4 @
) |* P- C6 z0 y: D T/ b Port "eth0"/ _; D# @9 ?+ ~
' h) h1 K4 n8 a
8 a1 f, ?0 P/ F& m( i( q# y
% v3 E% b5 m' v2 y Interface "eth0"
+ r. M) T& [' \7 @4 m. U6 g
; ~! j3 d8 s& z$ P- ; M5 p6 ^1 P4 M
. @( T- d7 P: R% U
Bridge br-tun
3 m' h! ^& h! P$ }
6 `9 B& p; V) _2 B4 N; u - 4 h0 d" N6 C* N' H
5 F9 S1 F/ h8 h8 [ fail_mode: secure: T, ~$ M6 A! g
# b; S9 {5 x8 R: p( A+ g
- $ r7 h% u6 _- s
# }; l- @/ _8 I7 ?6 y
Port br-tun
R* k' j" A9 d9 } i
+ r0 k; r% Z5 n5 [% a- a* B: k - ) |7 V3 v1 k( y: `% B" l
. S, N" L Q$ m+ h1 m3 ^1 o( { Interface br-tun: n7 ]" t8 f/ y$ j) ~
. u, `5 N: {8 i( d# q" }/ h* L
/ x! n- | d' ~' ?4 K+ L6 P( ?& i2 v7 G+ g- h4 H# t2 e
type: internal/ Y* m' d3 z. V$ S6 J
$ R- x0 O2 o( Z( V, V- n
! m1 o; k* N7 U! C S7 Z r+ ?1 H' E4 Z9 V* o: M4 b `# v
Port patch-int6 r& d# O6 o+ \
' J% d7 U" O+ N7 \" |' A# i( i( E
% q; f5 m- ]- t) N! Q; V4 }( i+ J ~8 c m# T# {
Interface patch-int
' w/ _) ]$ _5 J& {' t$ j8 u/ L* g `' {/ g
- . y* f% a+ _# E6 [
5 R% {: v! G$ ~6 h7 x2 | N type: patch2 Q( j3 N! F7 D9 u% q
4 e* g) f1 @; n3 [& E - # G/ L5 r* C8 T9 d
# U5 M. h4 a: g6 B, N0 b0 x- q options: {peer=patch-tun}
# C$ M7 d. s: n1 _! `$ l0 l9 L' X& d
, S' I U, u. P
9 Y" d$ V0 O" L% p: s<strong> Bridge "br-eth1"/ T* c p; B# y" B
1 z: T1 c9 U) n: Y9 V8 T) {
- 5 \5 `- [% ?" Z" d" Y# a* w
1 F) O% ~* C& q" w1 Y+ ?1 k) \% M Port "eth1"/ ~* K w; ^! t; T
; W" C3 b7 e" g! J% e G
& z6 i! s7 ]" p K% h9 n0 W7 I h" R/ K" T) i$ O' w) D! P; s. s
Interface "eth1"</strong>
" S+ V9 P7 R: e5 X. Z s6 G# O. R. k( U4 Y( g
8 h }! K" A. Z$ M3 e, H8 I" w
; C* R$ k6 f: D9 m" U Port "br-eth1"# _9 q2 }6 b" a3 \5 [5 m
. A$ J5 Q( k8 ^ C/ e" W) m
; Y# T5 w, h& M0 S- S( P
% l" [% N- Q! V E Interface "br-eth1"
* O! @- B" x. ?& A+ Y
* z! d# J* F* F& g V! V5 q3 Y- 2 e7 U- Q- W& G2 I. }
1 S& P* `, K8 G0 k5 q8 K type: internal
u; D. c( x2 m% j. D7 j. s% n, T3 A: N6 ~0 J
8 w6 e x- ^- J# s2 H6 M ?. l% O: s2 j2 k
<strong> Port "phy-br-eth1"$ P+ a4 T) E$ Z" Q
$ M, l0 H8 L5 a7 F* }7 i1 ~( L
- ' @3 b( y0 Q7 X; D5 U B# K& l& E
. V. v' R- s: H9 D/ |
Interface "phy-br-eth1"! f, c" w$ P9 F
! G5 `) u" g! `# Y& E3 [ U
- ) ~" E) D0 ^3 W- x
9 v1 ~% V( {3 H9 {6 T3 ]
type: patch
( x( d2 `3 M s0 s& W
6 V) t) |: |8 ~8 y4 g& j, I& n - % f( p8 i: @( `9 E7 t
5 {9 I+ G+ b" l6 E/ a
options: {peer="int-br-eth1"}
+ H: J2 n9 e z, Y0 l, c9 O& Z% g9 U' ]
3 D% Z! h# w1 P/ i$ h* l# w+ v8 M1 d4 {( g' i# w
Bridge br-int; S& n/ V$ t2 }8 C+ [6 G: v3 F$ J
2 W( S7 O- Z" i( R7 V6 h
6 {* h2 Q, ~3 |8 @; M
9 }# D0 E, ~& U; ?8 I9 d; A fail_mode: secure' a y7 V6 h q7 O6 y7 m: k
' Y! @8 L: F6 t- o: D5 F9 c0 L
1 w6 Y6 S" Z& m+ |
! i. i& u5 p$ j' d4 U4 N) E Port "int-br-eth1"
3 G; A. j% L- E9 ^8 \7 ?+ P& E
, }5 U+ q' x/ a9 O8 `2 s: S
s+ q; d- V- K' y- j W$ y% N8 k1 d+ K
* P! k2 f! `1 i0 { Interface "int-br-eth1". z/ c" V7 Z5 [9 |2 d6 ?; h9 I9 _
' M6 H3 x7 b/ S" U' ?9 r; U! {- / }' [! B& l r: e4 P8 x
/ L; b! M) x* F! g. k type: patch
! d0 H$ j# ]( z+ O( B# z: y7 c# r: c
: m8 d& x& ]5 t: }) R
: @9 T! O. |" Q4 ~' Q, O( ` options: {peer="phy-br-eth1"}</strong>
6 r$ |( s" z5 x7 y* _/ i x" e+ P+ S; p
- : j! E) R( k. \$ t
7 d9 A @% A% l Port br-int$ o- H+ p: v5 O& B2 r3 B
! ?6 r/ B: E+ A
* M5 l) G; x' U0 V* u+ A! ^! m* q' J9 t, c& L0 \# x$ m
Interface br-int) F9 V, A2 N+ l$ S! A/ n! z
, e8 W* C6 A% E- % j% G% y* g- a( y
( ?% H8 ~& U: `. h7 N* N9 ]3 h9 A type: internal
; r: ^1 f" o6 E; c) p7 @5 y. @$ b0 ?5 J% s: s
, k0 {7 ?7 J. n) x) _. D* L
* F( N& U4 m# J6 m) V" N: ^
; T h) [" H: E) J) o! }
Compute:6 g! x" k. _2 A1 x2 U- n! x. L
: a! J; ^* _! R& _: B+ V! t
$ ~4 Q" f+ b, m( @5 L% |) V/ n; O' d
( ~; ^! _1 m0 ]: K: f
0 O8 o3 @& Q" D0 ?( K. h. @ _9 M) k7 n) N* ?, y, `; ]/ j
[root@compute ~]# ovs-vsctl show* I1 V1 _1 ^3 f, \) X- W
$ t e% p: ]. e6 f- 8 `& o- F/ `6 G* Z) y
$ G9 H* Z1 p c! ~; _% y& D4c606c42-312d-491a-bf9f-04e558508115
7 J7 z* o" d3 t$ J4 _$ W4 m4 b
6 @- C5 C2 e' M0 a0 A. e
9 S0 T$ j' r# ]
. q; S" }- X! W, q<strong> Bridge "br-eth1") d$ W6 J3 C4 |) L. b& s( \. k
$ C2 c4 X+ n6 Q& [% o
_) C3 {0 J. |' p( C, U
. d. O+ g# t6 U5 W& o# e Port "br-eth1"
4 u1 {' [9 g( a0 m8 }# i* p; }; t0 m0 l! J2 R1 ?: A6 w
# E- b: V. k9 w( v
- H' h, K" i0 T! F! u Interface "br-eth1"4 A+ d3 B R9 N+ ]
# x o! O8 z- a K- , l. o0 a. u& N' T7 R* r
0 J/ t& T- q& l( a
type: internal6 g' |4 l7 F# k" f4 c1 {1 s/ m* F
" s1 i% O) U" F O+ D
; W A- L' g& C' M- Z0 z
$ e# Z1 a: Y5 ~ Port "phy-br-eth1"
) ]" J6 H( ?% ~; u9 i" e) z9 b) Y9 F2 `
- 5 B' R( r3 z5 j# x" u) Z
6 O% D3 }8 U) z0 B2 L# C- D0 v Interface "phy-br-eth1") k1 y$ H! p0 o! x" _& q! U. l! I( n
T2 j2 b g Y$ X( f% D- Q6 _% b8 `
- . o8 Y) y/ d' o B' H
, z! `$ \7 ]( R8 H: ^
type: patch4 z* x8 Y- A2 P0 w8 X
# O& {& L) ?- i3 x: f - / z, b0 M" e8 s4 Z
- ?9 \. ~( e8 I6 E" a: F' o" Q' j options: {peer="int-br-eth1"}</strong>
4 N/ G2 h" Y# n" j. ?, R+ G+ {
8 n. \) g3 \4 V( ~ Q, o& M
, C& \, G9 f; ]1 `# i) a! }2 T( _; C* W
Port "eth1"
: C; a5 l- O0 ]. O2 f* q, M$ x& `7 W0 i0 j/ p2 E9 m
- & ^2 ~, ?2 C U( y
4 O4 X: W" ?. `) K6 H0 P o
Interface "eth1"
) c, b" f8 I: k7 w ?! s" \* Q% V5 w: T# z2 k/ m) m* H
R6 v( t0 N0 [0 V
: B) t) `$ J1 y i& @: _ Bridge br-int
+ ]8 V8 k$ q) w/ Q/ g# [; h; f# M; N: C% q# x$ m8 ~8 R
- 4 u9 O) k F# |
* [& P5 N" B( `) _. Y7 C' L: u/ p' X
fail_mode: secure
7 ~* _5 g2 p. f- ?* i) ]% o) g) k" {4 M! p: c- B
- " _+ ~9 T j% v# |) Q* X
8 d" h! \. t( K" m
Port br-int* [' \, O' {% t% [% Z
$ J' m% P9 J" {: C F- ^
& \# s$ f) T; `- b$ X
6 F$ O) e% g# O7 `$ ]3 K! h1 w2 O7 i Interface br-int: Q r5 L- `/ k1 a
2 \6 l/ A) V, V3 ^7 O7 _- i8 P
|( t/ W4 i. G' S8 g6 H
' `4 E) R6 X! m3 r type: internal
) s" u* f% m, ^8 T" s+ N$ K% j; a2 h! I% K& ?) j; X
6 Y5 Y# H% k) _$ r, U2 E# z: D+ ]
2 N& U8 V6 i; _' s' O7 m3 @2 }<strong> Port "int-br-eth1"
9 ^( C/ D3 y/ q, K6 C" @. m! U- j* n5 X/ Q H' u9 j7 V; i/ p
0 U1 a- k7 L# A2 u' b2 y" ]" D. g: g/ k3 u' U
Interface "int-br-eth1"
9 H" }7 ]4 r; t4 D8 F5 `' T! [" O6 R
- K2 p6 _ ?. i$ x2 Z' c+ O( U
. P: k: a" r: d7 {# |9 c' j type: patch: T- M& F* A/ f0 H) P1 U9 U
( W/ n+ G/ F. ~: x8 X- ' N% U6 }* x8 Q* L- a( q
; ^/ Y$ ~# ]% Q" x options: {peer="phy-br-eth1"}</strong>5 s3 e7 E+ N& ~8 M* O9 z1 n! h
# k0 t% X$ r0 t% n) d
; l! x! f; g0 {6 m' e
; a/ M; T4 R4 |2 |3 ] Bridge br-tun
* \, U3 s/ W! I' p( H# h( y# }# ~. ?4 K4 w& p; ~% A; C1 u
- + c, I. j1 ?7 e y3 \
$ r' d1 G$ L7 y* I) w; N fail_mode: secure
+ _2 B+ |% J; C g2 Z. D( m+ a/ c0 ~% \4 b9 e( u, |
. ^1 n9 r# ~: f6 F+ A6 m G3 P' U3 f/ y
Port br-tun
0 v( ~- ?1 \' @$ V9 w4 a- d9 S: S# ` A8 |2 f5 j5 |) j
- & ~* J- i- I# q/ Z7 i' S( L
1 B+ H1 T: S( C9 q" n Interface br-tun Z& @5 L( {& A: t
. @5 x7 d" k$ |/ U; R1 ] - ; b' S' ?, } f+ R$ I% v6 l
5 L* }4 i! T2 E$ q( w! J; D% G1 F& j3 }
type: internal1 s# H9 a- O( q( \ E5 ?
( `! c; B, Z f( A$ i2 c
. m& w6 V- ^, d, h! q4 `( Q4 B: W, L3 Q2 `5 }" G3 U. t
Port patch-int! c5 L! I$ T* Q; i0 f4 I; F
! M& M# w+ `/ N0 Y4 y
- 8 M- h/ W* d9 i S; o+ K' }
4 @8 E2 l: X) b Interface patch-int
# b9 m: h+ p4 h' w
$ e) m W: y F
; G% {% r* x# T0 H. |8 \' D* j: N" c3 u9 n8 X7 h4 |) g1 B% y1 t
type: patch q2 o3 f4 }7 U
. N+ [( Q2 I$ ~# Q/ l* c. e
* x" j( I( W, T0 N& N( l; w$ g/ E# D- T; Y) v
options: {peer=patch-tun}
$ E2 O" z( @5 M, @9 S2 L4 J; h, t! F8 W {# h. d) X& N K- d
- & C4 a3 H( `" e( j# g$ U
- h/ n) w* ~/ q1 G8 j
ovs_version: "2.3.0"
8 e: @ t8 P1 X' r. J4 L7 j
5 ^% F8 E6 b3 S8 F' z3 G) h- j/ v! w4 f. \" ]0 L b8 n, g
3 r/ L) h# e" i
; W, j5 P" v9 Y \% R& Gbr-eth1向下连接物理网卡eth1,br-int向上连接vm,它们之间通过phy-br-eth1和int-br-eth1这对pair交换数据包。
- U& _- h3 S& N2 y! \0 S' e5 P5 T$ K
) q2 L$ K' T2 z! f# p( B
9 t* d/ O- O# m& X3 x: f+ i, t; j7 J, k7 L
2. Openvswitch 中vlan的配置+ u ?3 h* w* s# A; Q
+ w0 k/ {" n6 r1 Y5 z2 k: r' i# U
- o; S2 x6 _- h% c, E/ ^5 @- 5 V: @5 L3 Q, b1 U6 y
& D" Q' q- N: g; {! X ^
cat /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini( e7 F0 j, o2 V
- z) s3 X0 I: {) Q. ~; _
/ r+ L" R% r# J1 q9 S
. S% e+ A( ?5 b/ I) s1 s' k: z' a, A; _3 f7 \2 J) K" M" {+ k
2 l5 a! ?) ^- T9 `* c; a& ~
# _ H5 @7 n4 W8 w1 v
3 f( l2 ?; K& a
! o) B5 m7 F8 X7 f+ P
3 e5 f! o; U7 E( W* p[OVS]! l4 A; F k: e6 o1 v
/ Q' @6 Y$ l% v* n" i
- ( f. u; x4 j Q- R
5 `& L4 k, p4 D, W* R- htenant_network_type = vlan
7 d F4 u. N/ u5 v G3 ]; w4 r- s* g+ f5 Z! `: `1 s
- ! A6 m, h: _0 B/ y' ]- V
0 A6 w" u6 d9 R$ D# h& F. G
network_vlan_ranges = physnet1:101:110
# d7 S z7 r. T0 B: t
! v& j4 d+ ^% }/ r% R, J) [
1 B8 C, v+ l8 S0 G5 a- Z; f- T8 t \* n5 S' S9 n, L- I% s7 \
enable_tunneling = False/ U; v+ M6 g9 [3 A5 ~( {
8 u0 w# @' C- B( W8 a; z
8 q9 {# ]( x/ V, u: `6 f% G* x4 w& J7 V, q. d
integration_bridge = br-int2 S4 r9 x% p" A, x4 x' S
$ t! u: Q2 {* E# m9 n- X
! n" M1 I5 w |0 t" P& J7 h# k: w" H% [
tunnel_bridge = br-tun
' U. [1 D# H5 w2 ]6 ~
! R+ {2 M5 ~7 O1 k- / ^$ u9 d8 {! p, \2 T
& w7 r5 R) r* Q2 ]
local_ip = 10.14.0.102
. \- Q+ P; j& V/ J8 q: a. T- ]' i$ R8 [* K$ h% }
- ; K( k& B9 g0 |' |( e2 b9 y
5 \. [$ Q7 H' D$ F( `bridge_mappings = physnet1:br-eth1
2 d- J# d+ B) _. G. r# a- H# D' B! _* i) |& l% s" r
- $ X$ f9 e0 ~; O7 G' o1 r( A' D
5 X V0 L; a& \! X( F" k
........8 C' ]1 G4 n' D. C. y5 ?
; w7 g2 ~2 Q7 x3 u5 x# g+ d2 R# h7 ]
, \5 y3 q" L7 Z) V" q/ J7 M
- G" K! V; @+ l, Y
9 L7 }7 }% r( O1 j8 C重启服务:
7 C- I$ L9 J* v4 m7 J6 \! Y
3 V: r. o; W8 |( F( z. [/ K$ P+ u) X1 _" Y% O! z
5 g1 h' ~* \' u* G: n/ W/ m% Y& V3 S) }, q! \( f
systemctl restart neutron-openvswitch-agent.service
9 f! n+ }! _7 O# N! H% u6 b6 Y' n7 g; X6 n
3. 创建vlan网络
" A- W7 r- n2 n g* S, k
8 j. [& B$ h" u( j* G, ]/ e3 \; c- z; [ w0 u
创建网络vlan104,指定使用vlan id104(segmentation_id) :
; b, ?3 g' ~& e* S2 [. t8 G
8 r5 Q$ Y* V2 H, ]& h" Y/ B1 e/ w) y/ A: K& \* }2 a
$ \: D/ F! ]4 \7 Gneutron net-create --tenant-id 225e734464134ea79139eb6b0b202095 vlan104 --provider:network_type vlan --provider:physical_network physnet1 --provider:segmentation_id 104
$ j. c) }2 m7 v% e# Y6 z! Y, D" B1 W; A& U
/ e. Z8 q1 o0 t" b) G2 ]! V. L# U0 @5 i3 A
3 ]. x( H& R1 `2 ~0 Q
3 h$ e$ v2 C# [+ h( }" R
/ `( p ^2 J" j$ B# { u% Z( |. @: `7 n, s
[root@controller ~]# neutron net-show vlan1046 e, v7 M$ d$ z8 p
( L) g8 l. F* X6 T8 N
: k$ j* n' h3 U' O" D# y) q7 R$ S( |1 B( W% m4 G
+---------------------------+--------------------------------------+
( C, C6 z2 L5 K" c, W
; `( M! r5 G/ U& ~- ' L+ J1 C9 q5 J6 T( H" y9 k
# Q2 G" B6 W3 m/ s+ e+ \. G| Field | Value |
. R3 r* `$ }! f4 Y7 v
5 p* u; T, l! `
1 s# J! p0 ?/ w6 p4 s7 |% e3 B7 N, p- v+ ]" l8 T
+---------------------------+--------------------------------------+
+ J+ T9 `: t: C# w$ R2 Y
4 b% @0 G) z; \% K
1 v/ t& i: { E# Y
% M8 [8 ]/ }0 I& _: _, J| admin_state_up | True |. |( ~- m; |, |* ]. ]$ l
: W8 l& h- J( Z, y
& b' h/ }$ ?5 m \6 |2 I, ?* [3 w0 C/ R, l6 s* c
| id | 239d0325-5a65-4369-a05c-635b583f6185 |; M# W, m6 `. x: d
/ C* C* T3 F" S6 u7 w- ' f5 a! S* e& _
6 l, e$ r3 o1 E; E| mtu | 0 |
) u7 o e1 J. c! f+ t/ n9 q- A5 E8 U, g1 w6 F- g+ e% z
- " j7 M: s- B# J9 b1 S* ]2 g
3 y8 h% N0 g$ g2 r- J
| name | vlan104 |0 |% L( y0 f: S K
2 g$ d, m$ d, U. ?- u2 {; {2 I; C - : J6 G7 M( M: W" l$ l0 c* V
8 c8 ?. D% Q; p! T7 M% i| provider:network_type | vlan |
; i: d2 ]4 o4 m/ |) h6 K
. ~0 r) z9 o# B, B l0 U
& m* K" y$ f" Y% [0 J" n! E0 w3 Q
$ X3 h6 o+ P0 I$ ` l$ I8 U$ U$ V| provider:physical_network | physnet1 |
) B! Y: T) R. W5 Q
: U2 I% ^3 n6 S8 n( B% T! y- 9 k/ q$ I2 q# J6 S. v/ y
0 [, G5 l$ o, K7 E2 E, R, D9 v
| provider:segmentation_id | 104 |% ~8 H% o1 g. r- }8 q
8 o6 _/ T- U s, V8 A \1 G x
9 B% Q( O6 N; z! Y, [/ j
' w# Q! E: Z+ q9 m2 k( a; K5 ?| router:external | False |
# s7 R2 Z2 ^* u0 S; ` a9 Q" C h3 y1 I. U" Y! i
2 u) r1 M# j4 Z1 C \ h5 p0 S* y
| shared | False |
1 m* a9 k; Q3 |* u& I; a$ }5 R: r7 b( ]' [+ U) k- _6 X! G) `
5 G9 Z; n3 ^ P! [) q* j% o$ M+ ~9 P$ T+ ]; Y' U& A
| status | ACTIVE |
- ]# T% o% E, R$ ]: q$ w1 v" O# U; b2 e
- " D) p t Q4 S: f9 Q a5 d7 S
- g- T( d; O* f4 F+ p+ [| subnets | 76f8bbb0-52af-4b43-a246-679d6c456956 |
9 x$ g* X7 ?9 v! w9 b6 q' j/ C. h
4 v7 N4 y. j6 r |- A - $ m s) p& \' Y! y
. c0 `8 c* E4 L3 G" @0 w2 |
| tenant_id | 225e734464134ea79139eb6b0b202095 |$ r4 D/ s2 p& {8 m( t4 s
6 R: s9 y5 U, G" }. b
9 }5 l( X" y; s- j( ?% d8 s3 Y" u: U3 X' q' I5 c& f
+---------------------------+--------------------------------------+
1 ~- b/ d* a. O" h) C) A/ _0 F# e0 {0 x; G; d
- Q8 H7 w7 X) I* f) b4 j
f+ \; M0 ^7 g* b, ?3 }) \# P' q) s. W' Q* ?, P( D
为vlan104创建子网192.168.104.0/24:: |& S0 P7 O! q+ {, D; |
+ A' E: _. Q1 ]
- L- M3 E* x: w2 z* k- Z3 U* i+ d6 }neutron subnet-create --tenant-id 225e734464134ea79139eb6b0b202095 vlan104 192.168.104.0/24 --gateway 192.168.104.1- w; `- P3 t& C$ m
. c; y' p' @& a4 K6 h
+ B' c9 t1 K n B- u, ]3 l% F% j
neutron subnet-show 76f8bbb0-52af-4b43-a246-679d6c4569567 x R. b& d& s! c# D' V3 F
% L/ p( t+ c/ U/ V& C7 D$ x
) f. x0 W; O! S, B! I$ c3 K, Z3 I# y
+-------------------+------------------------------------------------------+
k7 a/ z% B$ c# t4 K1 k/ ~1 i( G# V8 H/ Z! g/ E. e
- 2 M- d1 n2 {- P2 Q+ m
+ @' B3 v5 J8 p
| Field | Value |
$ V, h3 b3 f; |& }! T% b2 _' v0 H$ a3 ^) B; L! u5 y5 N# U; E$ n3 M
- ; [) @1 L4 z" D5 B+ y& l: T$ Z# X' P
- y0 t" s3 |+ e" U4 e0 n8 M+-------------------+------------------------------------------------------+$ T7 t' K; g+ r: `1 }1 l4 m
/ F8 @' N. a/ W9 m3 V) w# g - ! `; J3 ?. h2 L0 _
% J* j4 \6 B$ I+ H0 T9 N$ T
| allocation_pools | {"start": "192.168.104.2", "end": "192.168.104.254"} |
3 k7 R9 C* g) V' e z0 P& s
( B Z7 F' g5 p* e7 O; A - . _& `0 M& m E9 E* b
1 B0 m/ f! v4 a0 f
| cidr | 192.168.104.0/24 |$ |! q- d0 {) o! g ~& O
" H% m5 }2 J ? - / }! a4 ^- C8 z
' G5 I1 ]& L! f! v
| dns_nameservers | |
! y) a8 F. F/ C3 r/ S
0 ?5 R/ d& ^! [6 Q/ u: z - 7 B9 ~" R9 E+ {7 @7 ]
- w/ d; d+ z9 g$ r1 q' f5 }| enable_dhcp | True |
7 ~% W+ R+ V1 M
% [$ V. b+ R; I1 Z/ s* t' V
) J8 \- E+ K8 \% L+ W
$ G# @3 i- w C- m| gateway_ip | 192.168.104.1 |
: M) ~+ C+ f {6 |
; y- P) [- `( L6 @- 9 o9 y' D: y4 x* j; x4 h( a
. b0 ~8 c: d! @5 N
| host_routes | |/ m. n# s- }2 h! d
5 |7 }+ I; Y/ M- H: V5 k( U
3 @, s9 p& G$ r0 A' G8 a! R; g! l. M7 [. t
| id | 76f8bbb0-52af-4b43-a246-679d6c456956 |
: O. X/ U8 {* ^# i$ m1 L$ f8 T
7 I+ b l: X3 l1 M- 0 s2 q- u8 R+ c
8 q1 z: ?+ ^. t8 e2 }; N" h
| ip_version | 4 |
! Q& W+ S$ D3 S: E
8 C# \- D- {1 v3 z, }% A
}+ v" e9 h( ]2 |4 L
# s3 J0 N- H# m| ipv6_address_mode | |9 x: i9 i) d( k' c
9 O4 n+ @3 n6 R* H
0 v* q3 ~9 e8 p6 u0 S% y
2 d. Q2 x, w4 C. ^1 w| ipv6_ra_mode | |& B* I+ B1 P/ [6 Z% T: L
& \, `1 a& c1 c- 5 F# @. r0 P8 h4 M/ V! j
4 U' F- |) u6 l* J! ~1 \
| name | |
& o3 L3 N+ H1 s9 E2 c" ~( r% T$ u6 c" H4 `* I9 a* s! _' P
- " B' b+ o& ?( H; R# O8 @
' r" y! E6 D8 P1 Z: r( {| network_id | 239d0325-5a65-4369-a05c-635b583f6185 |$ J8 `0 X: } b
" G! I6 s8 s% P7 U( x P - 4 [+ y; y, E5 C6 l/ ]+ j- J7 @* R
: r1 ~# p% ]' o4 Z$ t! W% P6 q| subnetpool_id | |
! R8 X* V5 v" j# Q+ T" f' _1 _5 O5 J, h8 e1 ?$ n
* H/ g* ~: [! E r3 Q5 {" C- B$ _! e4 W
| tenant_id | 225e734464134ea79139eb6b0b202095 |
1 b6 h7 W* R$ S9 `
* _. R/ L, K9 r ?- ) ]7 x1 X- f! v# Z1 c
8 `* p9 ]! \5 `" H
+-------------------+------------------------------------------------------+$ e ? ^: S t2 Z. s5 x
3 N4 |! y9 Y; @( g# V" F0 Q& V2 `" T/ |0 a# p
$ A3 p b [1 i8 a$ n
& r0 W8 @8 ~/ y# s- v
创建vm:: T" i! ~6 O9 Q/ M( n
) X- n1 i6 J0 g) z
/ Q8 w7 i9 Z& p3 |/ o8 P! ? a& Z
0 D# F; Y& Z s; y
8 V3 r9 \# N7 T5 a+ A/ a; W
nova boot test3 --flavor 3 --image 421f61ad-14d6-4054-a4bf-883fc1413834 --nic net-id=239d0325-5a65-4369-a05c-635b583f61851 `8 } L8 |9 L1 c+ s
0 r$ x8 L) x/ d
- 9 b+ c9 O$ V. ]8 f1 F- c7 d
) J" w1 `' \/ C/ }: o* M nova show test3
) U1 q+ k# a2 v: E# I E& A# W- Y, m; P" g) c6 J. h |; A8 U2 g4 l; z! O
8 R7 q& Q2 E4 n3 J/ S6 o' C, X: e8 a/ M0 G7 z" H
+--------------------------------------+----------------------------------------------------------+' {. r' f& u6 Z; B8 T
4 v4 ?6 Z0 g( y( |3 I8 M- - l8 f# i* R( o" J1 m
2 ^5 t( R) R7 d1 h" ]
| Property | Value |% u0 g+ C+ _3 p% [0 S
4 X; m7 i& x2 D: ] - r; L( E( }4 A9 o" @: ~4 N" u+ a
) \" m* p! J' Q Y- `+--------------------------------------+----------------------------------------------------------+
+ S& }1 g* x0 S, n6 G: A M$ h& H% `0 \5 Y
- 0 \7 b/ o6 C5 p# }" o, L, m
0 D7 w4 `1 Y# h0 G! W% L# C6 I2 ^| OS-DCF:diskConfig | MANUAL |5 b7 C$ s) H6 p, b* v
; J. c0 g5 |- y
- ( a6 l/ W9 X; ]
2 D) s0 O) `2 o7 m0 S
| OS-EXT-AZ:availability_zone | nova |
# Q! q% @9 M; \- w8 _( y' Q7 w9 p E7 s
- : M) `6 E$ w, N& }* m1 b6 w# q
D5 H: B* e7 p
| OS-EXT-SRV-ATTR:host | compute.ibm.com |
, b' G r8 P5 E' j! D4 {( l F$ o
0 ^0 ^7 e7 D3 i) J' a9 A P8 D" J8 f
- h1 M6 @9 q9 y9 x( h7 t( P
" U/ y2 V1 U+ W* g6 K& ]3 Z| OS-EXT-SRV-ATTR:hypervisor_hostname | compute.ibm.com |
1 |+ x% W$ `2 l: @7 l
' J, a. x5 N( n9 M, d9 g+ x
/ ?, \$ `& L) |& s/ U& U$ Y) Y
. t- G \, L" e& M4 @| OS-EXT-SRV-ATTR:instance_name | instance-00000005 |
; ^" d3 g2 j+ q$ }8 z4 ~! t S: C2 k# `" G
- # _3 ^: z' L# Z$ E8 `
0 Y4 i4 B1 }' ]4 N/ v| OS-EXT-STS:power_state | 1 |
, ^8 X; }+ z9 ^! S
0 ~; ]2 i9 U" @! O- P2 n - ( T: t3 v2 K7 L- F
u4 i! z1 F6 t| OS-EXT-STS:task_state | - |
* L. u# Q6 k7 y* _5 V9 R) ^
- `* J4 P" ?2 t2 j0 _+ z% n
3 {7 ?+ w- y. z8 o
# g4 L( H. c S0 x& O7 M! _| OS-EXT-STS:vm_state | active |
* [' r4 w1 }; s: q0 D
* J- l' d8 m: U* c1 l- 7 n8 g, B1 g, y( e: F0 Y. Q+ T' b
, C* M/ T/ w7 M) G m
| OS-SRV-USG:launched_at | 2015-08-25T02:40:51.000000 |
2 d- ?# q) V! y+ `3 l2 U& Y, x! M
9 _/ t( A" j! [( i1 t6 p: V - ) _( o" c( s, X4 b! [
$ O% w* M, n2 _. G1 s+ J, V6 T4 b| OS-SRV-USG:terminated_at | - |
: @ D1 _* |* Z, G' _7 s) B' e7 P& a. K# V& k& |5 Y
- 4 m' o" }. P6 E: u
5 c* g& F5 F9 b, o: b0 ^| accessIPv4 | |: N6 M- F u; D O" D. @
8 N. U) A) i' R. |
; O$ t0 r @4 }" q9 ~3 g- F
5 }% T/ H' m2 {" s" n# t& P v| accessIPv6 | |5 s! m' F* E4 j3 s7 l1 q. S1 c1 @
. Y! V5 a( u% y0 g n- / o: r5 b0 M# g- V
5 W* H: ]4 [+ _1 R" B' _( T| config_drive | |
/ p$ |, W* a( F3 [5 ]0 t9 d7 _: [$ O! t+ z' H' o
% E9 u1 q. H' F* Q$ W, U9 h
: O" Q! m, z* I8 D# Q' O4 {" U| created | 2015-08-25T02:42:49Z |* Z, S7 G9 W9 Q7 \" d# ~, A h
' x7 E y; }- h% j% `/ U. S- . N4 k5 i$ f5 f( n8 B
9 S* V: \ |' w+ H5 W8 w$ @
| flavor | m1.medium (3) |
6 \9 q+ }% [( r' D! Z& G) J5 {! T9 b9 [$ Y: V Z
) B3 W6 W+ J% H0 h2 ?2 \- g2 a8 J9 S9 [4 B# x
| hostId | ac73486a08f6bc6d7333faf316cec310ed2b19da6a55adffcedc30cd |0 A; H3 _+ c- Y- F1 \$ w, P+ Z+ g
( s) w% W5 R) @6 h# `; Z& w- # x) w0 C# c& u6 A, D7 a8 o& h
- y5 d5 l% c4 w) x. ^$ p8 [+ C
| id | 4f91f8ca-78c0-49e6-a8be-96ab827315b7 |7 }- G, K" e- M- i9 V. u
% o+ h5 \9 f; Z7 c. p& ~' W/ ?/ z
5 O! P& l! m) h) `8 h! f
6 e6 u5 i# j' H| image | rhel65 (421f61ad-14d6-4054-a4bf-883fc1413834) |
6 d( n( u9 U3 N7 q; `+ }* ]8 S% ?7 _( H* x; [1 y, v7 W
8 H( m. h( _, J& ~" t
: `$ |% R y) S6 e) V9 R9 q| key_name | - |9 b3 y# o% N9 a: m3 r! [
5 w0 R- ^ Q# }1 q v( E/ m
# E. e: m, i: s9 [9 V k& z* O) X: K) y" x9 | L, _4 c
| metadata | {} |
3 G7 a4 D& K, ^4 R& R* W% {1 w2 n8 E7 d7 _8 E" }
- + n+ g. @8 P6 l" v# I
! B7 L' V5 v. y. ?$ w, Y# V
| name | test3 |
3 B* y& |9 R7 v% A- R
0 t7 y' j: a" [5 ], f5 N, o* u
: ]% M7 v/ m0 ]( A. P r
" e' G% i9 N# O' \1 N| os-extended-volumes:volumes_attached | [] |
9 M& x8 i! Y$ ?. f
" j( _5 v& }1 Z- z2 k; b
4 m( Q7 }* n' F" u! w! H2 k
7 i& l. E$ Z. g3 K$ R& @' @| progress | 0 |5 e0 j$ i) ^1 Y4 A1 v( P% L
% q4 U! t) ?6 C! ^$ l+ G- 7 }6 t/ M7 m M0 k+ l1 I
8 M+ X/ r4 U9 B4 h
| security_groups | default |
: w: \: f5 z/ w5 g) H: C# y4 U$ u* ^5 _1 E" r6 ]7 w) w
- ) D0 w' i" X; U6 o9 Y+ P
& W- S0 P6 I! ^8 O1 D
| status | ACTIVE |' I# T% |4 `' Y% C
+ H; t7 S) E. I& K" e - ) S1 Z8 b) @. J Z3 a+ L$ N
1 u0 M6 Q8 P: U) J2 H| tenant_id | 225e734464134ea79139eb6b0b202095 |
' U& ?5 |8 h- K' ?
) N) X. b. t6 L% x, P - ' u2 _" G M* F) G3 t- G1 {
9 c9 M2 O0 Y9 r% |
| updated | 2015-08-25T02:42:57Z |, R. x$ w2 C6 j, |# {* l7 y
( h( G) W7 I- X) D7 E2 w4 c" e
; X- l5 j% S5 c) M- L% ~5 g3 R5 P, m8 `# A+ X) {) f, b
| user_id | 6454c58d76c245c194d744cdb245a0a8 |& n$ `5 Y$ I( |1 W2 Z( h
" l/ _ Q: L* @- _; H
/ j) k: I, r# s2 q, q. `7 Z; z
0 Z. L. c& n9 @3 i" B0 `| vlan104 network | 192.168.104.5 |
4 D$ a* F! w% }( P
5 j2 B1 A/ `, G( X% R. b! f- Q
8 V; [2 K9 O' @( A" Y# E0 h. H5 R5 n/ G; r
+--------------------------------------+----------------------------------------------------------+" ^ ?, U+ d [# C2 z* y
# x0 B% \0 m9 S) a$ M/ \7 c2 u; T0 ]/ D" ~
: e' U8 c- {, J u' Z: @. N1 o) F" j/ e' L Y+ B
使用vnc查看vm:: t) f4 W' O2 `" q2 i) @, p7 ?
* z# t; B( q' g/ r+ U4 x
1 ?. T" f2 M: P% O8 R" q) y# h% {6 g2 T! S' E
9 Z! ?6 Q. Y r$ [1 H1 l8 l6 I) W. {
" `, f" H- E6 Q& h* i2 I' B+ s9 k. G9 u4 y
5 @: e3 [# u& H8 k
四. 抓包
g* R8 s6 f# K; A5 Q9 s9 Q6 }( x9 O# F: _: s. H. b. h7 a. U8 p
1. Compute 端
3 a4 i0 P# A3 I: n9 N9 Z% N' y
7 h) J" Z k& J, y9 L0 u$ a' }1 b
! P$ ~2 v6 |4 L8 t( D" |: }4 y+ @/ J3 \! I
) a% k6 O& C3 h8 E$ M) ^2.Juniper端3 _3 W! z6 r- ?* c/ {, Q
6 w( c( k" ]' x' T6 e1 v. J5 I7 X" Y8 m- m! Y& f( P; `0 X
# V7 E7 d( o6 y: t' q- s& _
* z2 l2 Q: \+ F5 c3.Controller端:
! n2 B- V3 G. p6 I$ a Y' e) o. z# R' |, T% E
[img][/img]% D9 }; F4 W' [+ m4 g# L
: Q# q4 X+ M% P: s# K4 Y) Z& V/ J
|
|