找回密码
 注册
查看: 827|回复: 0

openstack 如何配置Neutron Network (VXLAN)

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-6-15 09:00:05 | 显示全部楼层 |阅读模式
[1] Change settings on Control Node.
2 \0 u# R6 W, H1 O[root@dlp ~(keystone)]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
, t+ e( Z5 h4 Y) @; k* H# add a value to [tenant_network_types]
. N0 L. _4 F. l[ml2]
5 ~, ?/ n6 [9 M& }, Utype_drivers = flat,vlan,gre,vxlan, [- o4 l/ `6 Y6 i( d# f; m8 a/ }
tenant_network_types = vxlan: ^  V5 _$ C! D# j1 q4 r
# add to the end
$ K* p; N" G% T% V4 s[ml2_type_flat]8 e9 v- j- L' L' H2 R
flat_networks = physnet16 F5 S; y1 B" Z* @7 |$ S
[ml2_type_vxlan]" d4 O* z; J9 F  D
vni_ranges = 1:1000" G2 D, _" S5 ~
[root@dlp ~(keystone)]# systemctl restart neutron-server. J% R) R1 S& g0 M, x* S+ X
[2] Change settings on Network Node.3 V" V. ^# _0 [  v  i) d" s- D, @
# add bridge
1 |+ @/ y. ?8 \* T- M7 G# M0 }[root@network ~]# ovs-vsctl add-br br-eth1
! b& r; h1 \. w% |5 P* t  P7 M# add [eth1] to the port of the bridge above
# M0 J8 a0 @9 e' I5 r5 y2 W# replace the interface name [eth1] to your own environment
( \1 X5 R- o1 v$ y* O6 O[root@network ~]# ovs-vsctl add-port br-eth1 eth1
* D: V! H# c2 M, \, ~[root@network ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
( ^+ ?2 B$ V% Y& N$ }# add a value to [tenant_network_types]( k# m% F) L* ^. z) y8 B
[ml2]: t0 S( q* h4 w, I8 {8 Q- L7 K  O
type_drivers = flat,vlan,gre,vxlan
  q3 z7 a3 ~4 C7 L5 xtenant_network_types = vxlan9 O; a) G! s% \+ ]3 d7 I
# add to the end4 U9 g7 ~& v! q3 w8 u7 M
[ml2_type_flat]
/ |& y3 J4 a7 M2 M, G- u3 e, sflat_networks = physnet1
& ]: e) Q3 j. K2 ], y7 i, a[ml2_type_vxlan]
; u7 b& e$ m- H/ g0 u; I$ ivni_ranges = 1:1000
5 O8 r2 w. q- b9 X0 r[root@network ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini+ G8 b, m  J; a
# add to the end
: ?# w. a# @& N: N4 y+ S[agent]  @9 e8 w5 [7 P* [
tunnel_types = vxlan. l3 P! d' v  h$ M  p
prevent_arp_spoofing = True0 e! Y( x) I3 s2 x+ K
[ovs]  }3 M% l- p& y+ E
# specify IP address of this host for [local_ip]4 J" v. Z2 }) w6 \+ R! W
local_ip = 10.0.0.50
7 e7 S: o4 q6 n9 Pbridge_mappings = physnet1:br-eth1) J8 I3 P  g5 s0 ?5 D" z3 L9 g
[root@network ~]# systemctl restart neutron-dhcp-agent neutron-l3-agent neutron-metadata-agent neutron-openvswitch-agent
- }/ _( }# M# C# if Firewalld is running, allow VXLAN port
+ t) |3 a3 R9 h4 z! m4 `1 `[root@network ~]# firewall-cmd --add-port=4789/udp
" V* O+ D& @8 W& C9 L[root@network ~]# firewall-cmd --runtime-to-permanent
) F' `* I- y2 L5 k' X[3] Change settings on Compute Node.  H+ @+ E( F4 z" c, h6 {' I
[root@node01 ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
) w' `: l: W! h+ q% P# add a value to [tenant_network_types]" O* u1 C7 l* z+ {# R8 Y
[ml2]) r+ f0 r  |* q- H2 M
type_drivers = flat,vlan,gre,vxlan- @2 ]1 b  g6 d  p
tenant_network_types = vxlan9 L: P4 {- \6 J: Z
# add to the end  z7 y/ P2 d0 E# |% B
[ml2_type_flat]
' i7 d* B' a$ y  ~! b$ Lflat_networks = physnet12 K# m) l' U5 u# b* y& \
[ml2_type_vxlan]
* G* j! J5 v3 y: u" f( Fvni_ranges = 1:1000
/ r5 x  a' h: Y[root@node01 ~]# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
" n3 @0 _' J  f3 y# ~3 b, S7 W# add to the end7 ~, N% Z' [! w1 F( F( X% y% R8 R
[agent]
4 M% V. k/ D5 w. Q( Ltunnel_types = vxlan
4 {2 Z% t( U0 `0 ]4 L9 F$ Q, [* Uprevent_arp_spoofing = True: J- z/ B/ t2 L5 e0 Z; N& j( B
[ovs]5 u" @' g: I) w& C, \3 p! b
# specify IP address of this host for [local_ip]. x+ h2 |  s: u0 @
local_ip = 10.0.0.514 k  f) r" _2 ^" l; Z
[root@node01 ~]# systemctl restart neutron-openvswitch-agent$ M5 u; G1 K4 ?8 @9 f
# if Firewalld is running, allow VXLAN port4 ]8 i/ a/ |6 x3 H
[root@node01 ~]# firewall-cmd --add-port=4789/udp
- q, t5 w7 d, s! l; r1 \1 A6 X9 y[root@node01 ~]# firewall-cmd --runtime-to-permanent
9 B# `3 }3 ?& F6 H# s[4] Create a Virtual router. It's OK to work on any node. (This example is on Control Node)" z7 s' x8 g7 r
[root@dlp ~(keystone)]# openstack router create router01
* \8 D" V# t2 R: _& j7 ^+-------------------------+--------------------------------------+
" f0 v: _: C" f. B9 ^/ U| Field                   | Value                                |! |6 e; r+ G& c1 R
+-------------------------+--------------------------------------+' \; ]2 m8 n! u3 v3 x8 L* e
| admin_state_up          | UP                                   |" M( Y4 |: u3 \& W7 z- C
| availability_zone_hints |                                      |
4 n8 c" c4 o) o% n6 s" u| availability_zones      |                                      |- a7 s% y/ u' {( X# `
| created_at              | 2022-05-31T09:59:08Z                 |. o, t$ p; a2 o' P: j& d3 I# p- Z
| description             |                                      |* I) H- ^2 {6 M- V: h) N( N2 b. Z% q
| distributed             | False                                |9 }) P1 K9 u. O
| external_gateway_info   | null                                 |
8 M8 B9 P2 }/ x; m6 Q& z/ l) l| flavor_id               | None                                 |% P& g3 c6 R1 ^; r; X. x9 F+ D  [# L/ }
| ha                      | False                                |
: I- |8 }+ X7 T# || id                      | 0ed5c019-30e0-4e45-8ed5-f5df12dedeb0 |9 H$ c* Z; f: L2 S
| name                    | router01                             |4 r- w3 w& H: U% x+ u3 D1 v" e
| project_id              | 0609d3b3b398456187fb705ec9224c4a     |
$ U1 H: E  [) {  e8 I' ~# || revision_number         | 1                                    |' D" z9 i% ~- u' r& K
| routes                  |                                      |2 w! r5 w9 h3 ]/ H( S
| status                  | ACTIVE                               |) ]& n+ w, R9 y
| tags                    |                                      |
- V9 g$ k0 r& e9 w2 i| updated_at              | 2022-05-31T09:59:08Z                 |) g  I5 ^6 n- F# v7 }. s. c5 f4 S
+-------------------------+--------------------------------------+
, f! X$ P1 K+ G: V; l3 A[5] Create internal network and associate with the router above." U" ]9 O0 K& V  Y& Z4 g" D7 o+ R
# create internal network
' ]! a  q+ E2 h7 @[root@dlp ~(keystone)]# openstack network create private --provider-network-type vxlan2 ^9 p: J3 R, P: D8 |; g" N. e/ B  k% s
+---------------------------+--------------------------------------+
3 }' v9 e1 q6 ?2 t9 i| Field                     | Value                                |/ X& |' K4 f; ^1 V
+---------------------------+--------------------------------------+8 F" W0 Y' x8 I/ I/ L8 w+ l5 G5 \
| admin_state_up            | UP                                   |
/ v; d4 L# Q0 A( n* }| availability_zone_hints   |                                      |6 A# O  M4 x0 o) {' V/ x% U6 `
| availability_zones        |                                      |
" i/ e' L; p8 R9 c  h9 A; ]| created_at                | 2022-05-31T09:59:43Z                 |
, S2 b6 a/ B, H  y- S  w| description               |                                      |
3 G8 w! K9 f1 s) o| dns_domain                | None                                 |/ u+ g& U2 M" G5 Q9 q' C% ?' _
| id                        | 032d3ae8-1c54-4f0c-bb64-10967d5630ff |7 B- w) j% Z" c
| ipv4_address_scope        | None                                 |
; x/ j7 `* V' J! O- ?  X' w$ c5 s/ v| ipv6_address_scope        | None                                 |% C+ }  z5 S+ T5 d2 _" E6 j
| is_default                | False                                |! J  G) F: h% ^! Y6 x% O
| is_vlan_transparent       | None                                 |
2 T4 b6 ^! \0 C( |4 L1 ?| mtu                       | 1450                                 |
% ]) o5 K, |7 `& v2 R: x2 F| name                      | private                              |3 p  P: i8 p- R! A: _8 d
| port_security_enabled     | True                                 |1 o3 q- H3 J8 K
| project_id                | 0609d3b3b398456187fb705ec9224c4a     |$ C3 L4 v) y- M' o, }
| provider:network_type     | vxlan                                |
1 {' c/ X6 x; F  {) ?/ O  D( F! Z| provider:physical_network | None                                 |4 j0 G: A$ t; f9 g- q4 P
| provider:segmentation_id  | 423                                  |3 `* g5 a" B7 C* w* f3 i
| qos_policy_id             | None                                 |: E9 e+ Q4 n8 n
| revision_number           | 1                                    |) O* @: v0 F: t4 B4 [) I# f8 ]- \
| router:external           | Internal                             |' o2 V& q- }4 H2 m
| segments                  | None                                 |* _3 f4 e; m& T) p+ t' `
| shared                    | False                                |; W2 p9 I& k' f, m4 K( h* P
| status                    | ACTIVE                               |5 C& ~' f0 Z/ N0 H$ R( w8 T& j
| subnets                   |                                      |" c2 Z) |/ m7 V* o) Y9 O5 W' M
| tags                      |                                      |
. _9 o5 Y5 M$ x, j- N| updated_at                | 2022-05-31T09:59:43Z                 |. U9 i) b4 s1 s' m: m5 R$ b- G! d
+---------------------------+--------------------------------------+9 Q( [! G7 ~* g3 B5 `: U9 J
# create subnet in the internal network' Z1 [. `% M! ]
[root@dlp ~(keystone)]# openstack subnet create private-subnet --network private \  L& g( p" @! w: A4 B% e! c
--subnet-range 192.168.100.0/24 --gateway 192.168.100.1 \$ p1 {5 ^& E$ R* k" U" E
--dns-nameserver 10.0.0.10
8 L" ?+ x+ d& v5 H+----------------------+--------------------------------------+/ _9 a. `/ x3 B" u9 o
| Field                | Value                                |  o. C7 Y+ q# o* y9 |& L7 e0 z- j
+----------------------+--------------------------------------+
6 m; g7 D% f# h: c$ ^! T6 |7 @| allocation_pools     | 192.168.100.2-192.168.100.254        |0 K9 c* c9 Y3 G" J( h7 R
| cidr                 | 192.168.100.0/24                     |5 q& D- J5 ^) p7 |
| created_at           | 2022-05-31T10:00:30Z                 |
3 x0 v% h& U2 j; n# T9 N# L| description          |                                      |- ~+ V% R- R  L4 e3 x
| dns_nameservers      | 10.0.0.10                            |
6 F+ N. [6 p+ _| dns_publish_fixed_ip | None                                 |7 ~5 k  i7 X3 V7 h* `* v
| enable_dhcp          | True                                 |/ K9 x3 U+ [3 W: X; t- p$ y
| gateway_ip           | 192.168.100.1                        |
% H+ G# O- L) ^) S. `2 ^) d| host_routes          |                                      |
7 H; o5 z' o* P  G! q| id                   | 57454e98-d4c2-40b2-b0ee-d1ec340e9001 |; s9 O; i# \$ F( i% @
| ip_version           | 4                                    |2 t8 ?/ p. E' @  I
| ipv6_address_mode    | None                                 |
, ?  p: r* \8 Y1 d" A9 j' t5 \+ U| ipv6_ra_mode         | None                                 |, E2 r+ |5 E% b/ B; y" Y  f  p
| name                 | private-subnet                       |+ [% C$ C" P& b3 Z: w, a  ?( d' Z0 l
| network_id           | 032d3ae8-1c54-4f0c-bb64-10967d5630ff |1 p1 _# m" B0 Y; {. K0 L
| project_id           | 0609d3b3b398456187fb705ec9224c4a     |! w3 W6 X8 d. K  O; V
| revision_number      | 0                                    |
9 c1 `! F( R2 t- D: o- h| segment_id           | None                                 |* ~0 H' j7 k( v2 F5 _
| service_types        |                                      |
1 |( n4 b3 O! r/ n. `| subnetpool_id        | None                                 |
) J$ @( D1 D7 q/ g| tags                 |                                      |  P1 A0 H" g% p2 h5 }1 x- ]
| updated_at           | 2022-05-31T10:00:30Z                 |
! w9 ?+ ?% l& Y4 c1 h/ R+----------------------+--------------------------------------+# l" X( r. v3 C. i- @4 _+ T. g
# set internal network to the router above
3 ~- {2 |7 w# w$ o4 [/ H[root@dlp ~(keystone)]# openstack router add subnet router01 private-subnet
  E3 K' B7 ~( Y- @[6] Create external network and associate with the router above.5 P4 t# i& z5 [( D6 D
# create external network
$ F: i& y2 v* c5 h9 F% b[root@dlp ~(keystone)]# openstack network create \
8 a; m- k/ n3 ?! g0 ~# t) i" _--provider-physical-network physnet1 \
3 y1 T- V6 d9 M7 g) K--provider-network-type flat --external public3 g' b3 k9 M. j; _2 T0 `" s
+---------------------------+--------------------------------------+2 @3 h- R0 a; c  j7 q  F, j7 D
| Field                     | Value                                |
' H& x6 \  r4 ~0 a: |& O+---------------------------+--------------------------------------+
, T; O, [4 k* S; W| admin_state_up            | UP                                   |
. i; G  q3 f: W7 N| availability_zone_hints   |                                      |
! r+ M4 y  b  N/ S" j- s| availability_zones        |                                      |
4 s  Y) h. X2 C# r" U. x8 J| created_at                | 2022-05-31T10:01:17Z                 |  o' S1 E1 f  h" p
| description               |                                      |
; r) F8 n. O/ O| dns_domain                | None                                 |
# t* B, }' n- h4 e1 t" l" c| id                        | fb890e9b-623d-447e-bdfc-d73ecaa619e8 |
9 U9 O3 W3 s8 J7 ~3 c| ipv4_address_scope        | None                                 |* |0 l% ~% m# _3 v! M2 t, E
| ipv6_address_scope        | None                                 |: X& J3 J7 T0 y. K2 P4 M7 q
| is_default                | False                                |
  X  v* V; X( P3 a9 i| is_vlan_transparent       | None                                 |
/ `; D% g, H! ^7 E| mtu                       | 1500                                 |
# ^5 o2 ^5 _, s| name                      | public                               |
6 V6 N( R7 W8 [" p6 g( G| port_security_enabled     | True                                 |( A2 o- c3 i. E" l0 g: m
| project_id                | 0609d3b3b398456187fb705ec9224c4a     |) V. \$ b, z6 Y
| provider:network_type     | flat                                 |/ S# g, F+ ]0 D& N; D/ G4 }! g6 U+ {
| provider:physical_network | physnet1                             |3 c" g3 p3 \9 Q" n! O" R
| provider:segmentation_id  | None                                 |  o" g# d' {# x$ O2 g2 q% N9 s
| qos_policy_id             | None                                 |
+ F! x" q. `/ |& l  ~, r| revision_number           | 1                                    |: [# j6 Q; e& \; I
| router:external           | External                             |
3 R( }6 h9 z' ~9 f  V6 Z. R| segments                  | None                                 |0 s& W0 ~) b3 }* M% C
| shared                    | False                                |6 H# F, X. {% ~5 w! Y7 Z4 t5 t
| status                    | ACTIVE                               |
$ {& V( V4 y6 F! K0 D| subnets                   |                                      |$ L3 }9 a  \# _+ c" v6 @
| tags                      |                                      |
' w! `# J# a0 V8 z4 S| updated_at                | 2022-05-31T10:01:17Z                 |5 G5 p( S- m' z$ U' @  S9 [
+---------------------------+--------------------------------------+% I, Q" `8 T& h  E0 `- \
# create subnet in the external network
  x- [( Q7 U0 x' k( L5 l* g[root@dlp ~(keystone)]# openstack subnet create public-subnet \9 b' G( }" m. x+ X; I5 `2 w
--network public --subnet-range 10.0.0.0/24 \3 `- h; n; k! k
--allocation-pool start=10.0.0.200,end=10.0.0.254 \
8 V0 T# ]4 S) w" u--gateway 10.0.0.1 --dns-nameserver 10.0.0.10 --no-dhcp
4 i* ?4 T+ }$ o; ~1 w8 A; Y& N+----------------------+--------------------------------------+$ T7 R/ I8 ~  K) Q, @9 n" \+ ~
| Field                | Value                                |6 S+ R% P7 T/ q! E9 N# n
+----------------------+--------------------------------------+/ Y* w6 ~' h2 ?, a  @6 \! {
| allocation_pools     | 10.0.0.200-10.0.0.254                |9 u; g0 B, x0 D- `
| cidr                 | 10.0.0.0/24                          |
4 t/ w, T; T% c0 r  h* q; || created_at           | 2022-05-31T10:01:44Z                 |
2 I; y2 i7 }' [  h| description          |                                      |- ^( A9 p5 q" C5 w/ V* d! U- b( J
| dns_nameservers      | 10.0.0.10                            |  }/ R0 v% l1 z& x0 H! z$ f6 g
| dns_publish_fixed_ip | None                                 |
& E4 ]# j0 u. R1 _( B| enable_dhcp          | False                                |
" Q/ r3 _  I) `; H$ Y| gateway_ip           | 10.0.0.1                             |' I- p6 R0 {3 e7 U
| host_routes          |                                      |/ |/ }" y6 Q# @  U/ z# @+ c
| id                   | ecccfdc5-2917-41d4-a957-88facca5c4d4 |$ {1 I. H/ ?4 f' ~$ P
| ip_version           | 4                                    |
+ n1 y- I& v3 u/ j4 \| ipv6_address_mode    | None                                 |
8 z- W& E8 X7 s3 q4 I) p' g% u( E| ipv6_ra_mode         | None                                 |
3 b9 P+ n& z; ^| name                 | public-subnet                        |$ z8 @/ c8 R9 a
| network_id           | fb890e9b-623d-447e-bdfc-d73ecaa619e8 |
: O  [5 T* O" |# {% t7 S" n| project_id           | 0609d3b3b398456187fb705ec9224c4a     |
1 S* g0 u1 I2 _9 P| revision_number      | 0                                    |
3 _, D( c/ O: o% _: ?| segment_id           | None                                 |0 X  o* ]- h' m5 @, U
| service_types        |                                      |& V; B' u* u! d# u& W- |
| subnetpool_id        | None                                 |
* M9 C9 Z% j/ h- B6 i" D1 ~* V5 b| tags                 |                                      |' _. x# w! ]4 V6 Q; N
| updated_at           | 2022-05-31T10:01:44Z                 |2 o: G3 v  o/ q1 L
+----------------------+--------------------------------------+
8 k& `1 I; o, F. g$ _( E! o# set gateway to the router above8 ~2 a8 X( L6 I& N  _, Q) z6 e) @
[root@dlp ~(keystone)]# openstack router set router01 --external-gateway public0 {: t4 p- K3 D$ |/ r8 _; ]
[7] By default, it's possible to access for all projects to external network, however, for internal network, only admin projects can access to it, so grant access permission of internal network to a project you'd like to let users in the project use.
7 j" d, s6 e& @$ B* A# show network RBAC list
7 M# V6 C# t2 p' b[root@dlp ~(keystone)]# openstack network rbac list
+ S5 P& G- O( \2 M& F  d# j+--------------------------------------+-------------+--------------------------------------+0 O6 |. _& C3 C6 F9 g
| ID                                   | Object Type | Object ID                            |" `$ a- N. h7 X, b, D) L) V
+--------------------------------------+-------------+--------------------------------------+& \9 w. ^2 p- F# Y) b- G" Y: l* |
| a37b34cd-e686-443f-b3ef-4a4c722b5d63 | network     | fb890e9b-623d-447e-bdfc-d73ecaa619e8 |+ K: `- |$ n3 o. s! m
+--------------------------------------+-------------+--------------------------------------+, u/ d" M7 G( b- f& J+ s
# RBAC details
; B; q  w# X! z+ {5 `! P" F: ]1 K# all projects can access only to [access_as_external]  B7 p% |: a6 X( G7 V7 H
[root@dlp ~(keystone)]# openstack network rbac show a37b34cd-e686-443f-b3ef-4a4c722b5d63/ W9 p2 p3 ~5 P% i0 y, a5 U
+-------------------+--------------------------------------+
0 Q6 U$ n8 L  p# y| Field             | Value                                |
' V4 l0 L% q. }2 K% Q! w4 @0 B; [3 E+-------------------+--------------------------------------+. O6 Q; o' F; p& q6 q' R( ^5 Q; Y3 |
| action            | access_as_external                   |3 t) n, K# s0 d& g
| id                | a37b34cd-e686-443f-b3ef-4a4c722b5d63 |
4 o$ ?+ A' g, {! r3 Q. B9 c) s3 A$ w| name              | None                                 |) W' P" `5 M8 C0 h
| object_id         | fb890e9b-623d-447e-bdfc-d73ecaa619e8 |
2 ?3 k- u" v$ J6 j% n| object_type       | network                              |
1 I9 n) y5 a/ y9 \5 G| project_id        | 0609d3b3b398456187fb705ec9224c4a     |2 |; s) N5 b4 y+ S- M3 h7 j
| target_project_id | *                                    |+ p! U9 H7 Q; k$ Q
+-------------------+--------------------------------------+# K0 b/ a) g2 i4 }% r
# show network list2 O" H+ C. P3 X; a; _) a" J; R) I6 J
[root@dlp ~(keystone)]# openstack network list( T  @: a; d  i9 Q( r, Y
+--------------------------------------+---------+--------------------------------------+) K' X. _  R1 v; g4 T; P  Q
| ID                                   | Name    | Subnets                              |  |' Q2 b3 u: |) `. R& S
+--------------------------------------+---------+--------------------------------------+
5 b) t' g' e2 f* ~3 C/ [1 e| 032d3ae8-1c54-4f0c-bb64-10967d5630ff | private | 57454e98-d4c2-40b2-b0ee-d1ec340e9001 |2 V. t# d4 i. c3 t5 r: y6 t
| fb890e9b-623d-447e-bdfc-d73ecaa619e8 | public  | ecccfdc5-2917-41d4-a957-88facca5c4d4 |8 [- W4 A0 j# G( b4 c; w
+--------------------------------------+---------+--------------------------------------+  }/ d% h3 w! y& Q! o
# show project list! |! x1 p- W0 H( i! _$ I
[root@dlp ~(keystone)]# openstack project list
8 H1 s! r" r, p1 @% H, [5 U+----------------------------------+-----------+
* b8 m4 j- W# I' H9 n' x| ID                               | Name      |5 D* Y: K' {4 y) z6 j2 g5 u
+----------------------------------+-----------+0 W, s% W8 R6 R" B
| 0609d3b3b398456187fb705ec9224c4a | admin     |# C3 i  n- ]8 ?2 J# I) k
| 3d85d1e79d654b3dade01eb5bfbf0679 | hiroshima |+ U5 u( D9 q& X0 v& R
| 8787527217494c6a87dd5a3b68dce1ef | service   |
- X3 Z: C$ s4 K. e+----------------------------------+-----------+
. @; _5 ?" {: t4 O* N7 x( r; \1 z# grant [access_as_shared] permission for [private] to [hiroshima] project
& b& Y0 ~1 l% u2 E. Z; v: `[root@dlp ~(keystone)]# netID=$(openstack network list | grep private | awk '{ print $2 }')1 I2 Z4 v1 q0 d* T! T* I) S5 D3 e
[root@dlp ~(keystone)]# prjID=$(openstack project list | grep hiroshima | awk '{ print $2 }')9 Y, j; d& P+ D3 |4 ~
[root@dlp ~(keystone)]# openstack network rbac create --target-project $prjID --type network --action access_as_shared $netID
" r) g" d! F, C7 g  `+-------------------+--------------------------------------+, z6 p( T+ q0 A6 y
| Field             | Value                                |9 K" Y& ^( m" S/ J5 W: ~  k
+-------------------+--------------------------------------+4 D2 m- D1 X: w: G
| action            | access_as_shared                     |& X$ _! H) m8 ~4 @0 `* L
| id                | dfb0e656-0983-46a9-8345-13a03ddbc3e9 |
6 Z+ f" D2 B$ X/ n+ _6 V| name              | None                                 |
! k# f& F. {2 r# }" t/ |- r| object_id         | 032d3ae8-1c54-4f0c-bb64-10967d5630ff |
- O& n9 a6 J, q1 L| object_type       | network                              |7 D5 o+ }9 L( z) e3 K1 N# s
| project_id        | 0609d3b3b398456187fb705ec9224c4a     |' h7 E" B; H7 C, [; [5 U1 x
| target_project_id | 3d85d1e79d654b3dade01eb5bfbf0679     |" h# `& D* r, Q
+-------------------+--------------------------------------+6 v- a  Y4 b2 k3 e* E0 ^, ]7 e
[8] Login with a user who is in the project you granted access permission to internal network and Create and boot an instance.
8 ^) B% R/ \0 }, X4 S$ m0 O# show available [flavor] list9 r, @& y0 w# B/ g1 V1 [$ v
[cent@dlp ~(keystone)]$ openstack flavor list& g; ]9 }9 o+ H
+----+----------+------+------+-----------+-------+-----------+% E) O$ X) B' A8 W* ?
| ID | Name     |  RAM | Disk | Ephemeral | VCPUs | Is Public |  {5 E* _+ z" K8 Q* h8 Z% f) B
+----+----------+------+------+-----------+-------+-----------+
5 k8 A3 ?8 m5 t+ N, t5 b% k2 ]| 0  | m1.small | 2048 |   10 |         0 |     1 | True      |$ Q6 h# A+ j, t% D" j+ m
+----+----------+------+------+-----------+-------+-----------+; ]9 s$ U5 B, p3 L
# show available image list
) O! S- w5 b) P. h7 D- y: A6 E[cent@dlp ~(keystone)]$ openstack image list8 z' z9 r8 S2 ]' S0 z- B% }
+--------------------------------------+-----------------+--------++ c9 {4 x- P" E4 `4 a6 L" b
| ID                                   | Name            | Status |2 j1 f8 M7 i  {
+--------------------------------------+-----------------+--------+" h5 l! r* E) W& k3 }" C
| 7be5b7ab-36e8-43c7-95dd-34b4139a0e44 | CentOS-Stream-8 | active |
5 V4 [( T9 a: q7 R8 ]. r7 Z% N+--------------------------------------+-----------------+--------+! F6 c3 u) t5 ?. w  }
# show available network list3 G7 _4 O: @/ k- B
[cent@dlp ~(keystone)]$ openstack network list2 C! t& c( c# V& n: m! Z
+--------------------------------------+---------+--------------------------------------+
8 a) M# ^9 u5 j7 M  X7 K| ID                                   | Name    | Subnets                              |6 h+ ?$ m. n  w. @5 B. e; @" f+ ~
+--------------------------------------+---------+--------------------------------------+' v5 e. W6 l9 z5 _* s5 w
| 032d3ae8-1c54-4f0c-bb64-10967d5630ff | private | 57454e98-d4c2-40b2-b0ee-d1ec340e9001 |" O( R5 u9 D5 M- c& }( k
| fb890e9b-623d-447e-bdfc-d73ecaa619e8 | public  | ecccfdc5-2917-41d4-a957-88facca5c4d4 |
1 y5 f4 ~2 x% _/ i" J0 g+--------------------------------------+---------+--------------------------------------+, M* s7 x8 L3 M" Q+ e8 I+ Q
# create a security group for instances
, n9 u8 N+ x' l. s[cent@dlp ~(keystone)]$ openstack security group create secgroup010 b5 n6 W) @# {. A' A% Q6 E
+-----------------+----------------------------------------------------------------------------+
3 Y. T* v! f7 K- o| Field           | Value                                                                      |" V; K1 _2 S' g( F2 J, I0 C
+-----------------+----------------------------------------------------------------------------+# t! C: B* f# `6 m
| created_at      | 2022-05-31T08:14:56Z                                                       |
" C: P: c0 C& E. b0 u# V9 p) b| description     | secgroup01                                                                 |0 E1 B; d  C4 I/ x& B5 O' ~
| id              | 001bf895-7218-4153-b64b-5c5741697009                                       |
" n& [+ J$ A8 x3 c; F| name            | secgroup01                                                                 |& Y3 M% L) ^' z
| project_id      | 3d85d1e79d654b3dade01eb5bfbf0679                                           |$ A5 l$ k) J; z3 z% D, Z
| revision_number | 1                                                                          |7 W8 s9 G, _) Q4 R: J
| rules           | created_at='2022-05-31T08:14:56Z', direction='egress', ethertype='IPv4'... |8 t$ L7 j! b* y6 r0 u& z3 P$ P, p
|                 | created_at='2022-05-31T08:14:56Z', direction='egress', ethertype='IPv6'... |1 H: M3 t) O  D* R) d- K8 u
| stateful        | True                                                                       |
0 H  i) V+ L7 C! I3 @* F, [- B| tags            | []                                                                         |6 G! k5 |: x1 |  g; O& q
| updated_at      | 2022-05-31T08:14:56Z                                                       |
1 l+ U9 v$ x! K( K9 b  O2 e4 S+ _6 a+-----------------+----------------------------------------------------------------------------+
4 {; V  \0 O+ Y9 T/ c7 N# create a SSH keypair for connecting to instances0 W& L3 x% ~7 P) l! |" q* L
[cent@dlp ~(keystone)]$ ssh-keygen -q -N ""
! V5 \* z2 Q) ]$ u% J6 r& _3 XEnter file in which to save the key (/home/cent/.ssh/id_rsa):
: t$ Q# y1 p# _9 c  i# add public-key: s' ]  {0 b- C+ Y
[cent@dlp ~(keystone)]$ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey! ~: |; H6 x6 t8 Y7 h. k
+-------------+-------------------------------------------------+
( d2 n- P( ]9 p8 ]| Field       | Value                                           |
' m1 S1 B1 l, A2 T3 Y$ v: S+-------------+-------------------------------------------------+: W$ F& I; F" H; u8 @
| created_at  | None                                            |; w# g" ?: [( }5 W3 Z1 W9 L8 L
| fingerprint | 64:c1:46:5f:d4:dc:07:76:1c:5e:ee:b8:82:1e:9d:c3 |3 D6 v* `5 S, ?- a/ @1 a
| id          | mykey                                           |1 I9 A% k9 {% \7 A
| is_deleted  | None                                            |, k& H" l3 m3 _. T$ F1 Z
| name        | mykey                                           |
; p( u. E: N- N| type        | ssh                                             |% L$ v& L* O& o/ e
| user_id     | ed0bc393ae81411fa1db0828e1d5e160                |
6 d' _: o  k# d7 [) m6 c, `+-------------+-------------------------------------------------+
3 v' [' O- `! o' R' ]1 _[cent@dlp ~(keystone)]$ netID=$(openstack network list | grep private | awk '{ print $2 }')
( c4 ^  y+ @6 R: I: s% Q9 T1 X. d[cent@dlp ~(keystone)]$ openstack server create --flavor m1.small --image CentOS-Stream-8 --security-group secgroup01 --nic net-id=$netID --key-name mykey CentOS-St85 k2 v& ^3 a/ ?) |9 O& N- y
[cent@dlp ~(keystone)]$ openstack server list$ [+ \" g! j1 W, x5 }# Q& }
+--------------------------------------+------------+--------+------------------------+-----------------+----------+4 {1 n5 U+ R5 X. \  P" F; W! H$ l' C
| ID                                   | Name       | Status | Networks               | Image           | Flavor   |
" N- y: \3 K) q* T! \+--------------------------------------+------------+--------+------------------------+-----------------+----------+
; [  E) [# j6 i, z| b9422951-8141-45fe-becd-a01c72708504 | CentOS-St8 | ACTIVE | private=192.168.100.84 | CentOS-Stream-8 | m1.small |
; p" f( m5 Z) U5 ^5 x5 r* \( A+--------------------------------------+------------+--------+------------------------+-----------------+----------+
5 j; Q! Y3 G- ~& B+ `/ J" h' |/ R5 C[9] Assign floating IP address to the Instance above.& Y# P# Z: J5 Y* e* w
[cent@dlp ~(keystone)]$ openstack floating ip create public! }2 s$ t& X. m: _
+---------------------+--------------------------------------+
0 {( i7 u* C/ _! ~| Field               | Value                                |) @4 c2 ^, X, {/ i$ W8 F
+---------------------+--------------------------------------+
7 S( L" B8 P: O| created_at          | 2022-05-31T10:08:01Z                 |
2 W$ a& y3 B# h; `| description         |                                      |
; j2 L  f! t7 E4 j6 J. A5 `| dns_domain          | None                                 |
' @" K; ?0 h/ N  Q# m  t| dns_name            | None                                 |8 c: H2 e) G$ L, u, _
| fixed_ip_address    | None                                 |5 v7 _5 T8 {: h# |
| floating_ip_address | 10.0.0.216                           |5 @5 c/ F1 A) j6 d/ ~- a
| floating_network_id | fb890e9b-623d-447e-bdfc-d73ecaa619e8 |
) i8 J* Y* {! ]; x* N| id                  | 5f7bc534-0959-4504-b2fb-10c9f7bcf8de |
, d) U  i4 i4 n" y| name                | 10.0.0.216                           |
* o, Q* {0 c  e& S4 i: R( I0 ^2 ]| port_details        | None                                 |
( K8 c) {( t1 m" W1 M/ I7 S. m| port_id             | None                                 |
) M& F0 L8 v) t; V' }! m+ i0 }| project_id          | 3d85d1e79d654b3dade01eb5bfbf0679     |2 P7 C% }: M- q: O3 L  W
| qos_policy_id       | None                                 |
; M$ D' k1 R1 n) \: P| revision_number     | 0                                    |
. b" \( }8 j$ s| router_id           | None                                 |" ?* P0 i. m- {6 j' ~
| status              | DOWN                                 |
9 {1 m5 q5 J7 x# j( u' ~, g* k| subnet_id           | None                                 |
$ V! w: Y$ t. i; \! K% u* Y| tags                | []                                   |! U4 x- ]7 n0 W7 p) _
| updated_at          | 2022-05-31T10:08:01Z                 |
% S0 J) U% f3 Y+---------------------+--------------------------------------+: L  E0 @9 p2 P( N% T* z! D
[cent@dlp ~(keystone)]$ openstack server add floating ip CentOS-St8 10.0.0.216
/ J+ Z4 {5 a! p5 S: \( Q# confirm settings
+ b1 l. J' g% c- c[cent@dlp ~(keystone)]$ openstack floating ip show 10.0.0.216; t% O8 l4 E9 V" l/ W
+---------------------+---------------------------------------------------------------------------+' w0 ]: o1 P( O0 [# j) _1 s
| Field               | Value                                                                     |# U, w; X: O# d" J
+---------------------+---------------------------------------------------------------------------+
$ Y* N, v; h; w* g' y% g$ z: U| created_at          | 2022-05-31T10:08:01Z                                                      |
3 f/ D5 [4 J: H$ N- k' H1 O| description         |                                                                           |
- V( Q: p% i. Q  C& k9 O4 s% O| dns_domain          | None                                                                      |% [( P& F* _  n& J* W
| dns_name            | None                                                                      |
7 m7 m8 |4 }- u! z) a/ U( p| fixed_ip_address    | 192.168.100.84                                                            |
# r* C8 O. y' Q1 X, V: T| floating_ip_address | 10.0.0.216                                                                |
: I; f; |$ W" @5 ~| floating_network_id | fb890e9b-623d-447e-bdfc-d73ecaa619e8                                      |
( ]" X/ Q' [+ B| id                  | 5f7bc534-0959-4504-b2fb-10c9f7bcf8de                                      |4 y8 d. X: s1 n# U' Q! x3 W
| name                | 10.0.0.216                                                                |
% x& P* g& c( s' B' t| port_details        | admin_state_up='True', device_id='b9422951-8141-45fe-becd-a01c727085..... |
$ @) x8 T  H4 t! V| port_id             | a0670c7e-2fa9-4be9-801b-d62170f33efd                                      |
5 y% M' \! ]  x! h9 K; O| project_id          | 3d85d1e79d654b3dade01eb5bfbf0679                                          |
' D5 p* b# j$ m: {, [! ^| qos_policy_id       | None                                                                      |
( e. L1 T$ I1 r1 x5 z6 u8 C6 {| revision_number     | 2                                                                         |
1 R( F) E* u  B# S9 S| router_id           | 0ed5c019-30e0-4e45-8ed5-f5df12dedeb0                                      |; N+ X! V, [# w, z
| status              | ACTIVE                                                                    |
/ Y6 J( J) E. f* s5 c: z+ H% F| subnet_id           | None                                                                      |
& a) Z# P- p6 p+ A% C- ^; ~| tags                | []                                                                        |4 Y6 U0 ?* [& q  c3 J5 T
| updated_at          | 2022-05-31T10:08:52Z                                                      |
3 _/ g6 _' A2 m0 u: t+---------------------+---------------------------------------------------------------------------+! ~3 H; O9 Q( {; V9 h1 q3 t# ~
[cent@dlp ~(keystone)]$ openstack server list1 q6 z' k+ S, A* P
+--------------------------------------+------------+--------+------------------------------------+-----------------+----------+4 Y* r: d; S# n  Y2 b7 k$ ]* T
| ID                                   | Name       | Status | Networks                           | Image           | Flavor   |
/ n0 z' b% K; ?, e5 U+--------------------------------------+------------+--------+------------------------------------+-----------------+----------++ W6 n/ r4 v$ m( ^) g: `
| b9422951-8141-45fe-becd-a01c72708504 | CentOS-St8 | ACTIVE | private=10.0.0.216, 192.168.100.84 | CentOS-Stream-8 | m1.small |" P+ j" w, h# p8 l  [
+--------------------------------------+------------+--------+------------------------------------+-----------------+----------+
0 m/ t/ U7 q3 z4 i8 o[10] Configure security settings for the security group you created above to access with SSH and ICMP.
3 X8 {. M+ v5 J  t% U# {0 u# permit ICMP
! J$ [8 {2 ?( o  T8 y5 M[cent@dlp ~(keystone)]$ openstack security group rule create --protocol icmp --ingress secgroup01
& V0 g! U' V* {& o) A+-------------------------+--------------------------------------+9 {7 W* N& u/ V" h
| Field                   | Value                                |! Q2 h# P- D! w" C" D
+-------------------------+--------------------------------------+
$ M* {; R, N0 r| created_at              | 2022-05-31T09:42:39Z                 |
5 \' x( l. S0 k7 `  Z) h| description             |                                      |5 J1 ^1 z9 r" R6 m$ _) v
| direction               | ingress                              |( J2 e, Z$ u3 G& {: L
| ether_type              | IPv4                                 |) D- n6 p, w3 f' s1 ]4 Z5 [  N' n
| id                      | 96122e6a-c9eb-4cb6-b304-2fe0dc0b3219 |
% P& h" t; |1 f2 y- q. h' I0 W( _  s| name                    | None                                 |
6 \/ z1 Y% Y1 y/ b# r6 ]| port_range_max          | None                                 |0 M% G# F3 f( g% ]
| port_range_min          | None                                 |  s, P) ?: S$ S2 c2 F- A, F  }
| project_id              | 3d85d1e79d654b3dade01eb5bfbf0679     |) |# Z) p4 m: |3 f4 Z
| protocol                | icmp                                 |
) p+ a) T+ Y- G, [, s# d  P| remote_address_group_id | None                                 |
! B9 A9 b1 z  m$ o. `" J" q! f| remote_group_id         | None                                 |
8 h  m: z# o3 ^5 T9 x1 P7 ~| remote_ip_prefix        | 0.0.0.0/0                            |- w& q! p: s+ N) ^$ R% {/ Q, F
| revision_number         | 0                                    |
& l$ `, R0 I$ l$ h5 h; j| security_group_id       | 001bf895-7218-4153-b64b-5c5741697009 |# K  W; P, x; X) `
| tags                    | []                                   |
8 C  i# v% K' f( @! m| tenant_id               | 3d85d1e79d654b3dade01eb5bfbf0679     |
% q4 |4 M" n# }5 |% f1 s7 I| updated_at              | 2022-05-31T09:42:39Z                 |& a& h1 y9 \5 @7 a6 s1 Q
+-------------------------+--------------------------------------+
# m: k" ~& x" r' T- H# permit SSH6 C7 t: m8 X  m5 W* E' r- g
[cent@dlp ~(keystone)]$ openstack security group rule create --protocol tcp --dst-port 22:22 secgroup016 n: l4 Z# @5 k. h: Z
+-------------------------+--------------------------------------+
. S4 s5 p& [0 y4 [0 h| Field                   | Value                                |; H- s2 u2 D7 u/ `2 y
+-------------------------+--------------------------------------+
! Q: S% v* y7 X* |9 T1 r| created_at              | 2022-05-31T09:42:58Z                 |; N' E8 t, r! K) l, D2 K( M, ?
| description             |                                      |
# ?" o& M4 x7 z& F" ~| direction               | ingress                              |
. m5 p, n& P8 k: y1 O  S6 ^7 g. Q| ether_type              | IPv4                                 |
) ^6 S* U! M( V! ?- P. N& Z" l| id                      | 28191a33-6e5a-487d-a7b7-cdef6f4f9dd9 |* e  g' x5 d  P, _) R; n
| name                    | None                                 |- {6 E: J" e2 g
| port_range_max          | 22                                   |
3 N* A) \$ {( c, O0 @  K/ q| port_range_min          | 22                                   |
+ a  `1 j7 P6 D7 m" Q| project_id              | 3d85d1e79d654b3dade01eb5bfbf0679     |
( Z. X1 R2 ?( J1 r7 p| protocol                | tcp                                  |
: b! D/ E3 ~% l: `| remote_address_group_id | None                                 |; y8 ?: _) }& _0 z6 j3 \! g1 L
| remote_group_id         | None                                 |
9 @3 e1 G1 C$ B4 A1 w| remote_ip_prefix        | 0.0.0.0/0                            |0 j5 Y, O) l2 W! ]4 T. p: {# c
| revision_number         | 0                                    |
: n0 a4 [# b1 q$ ^( R& V& p: D| security_group_id       | 001bf895-7218-4153-b64b-5c5741697009 |, L! `  v, D: a4 a
| tags                    | []                                   |
7 [8 r- ~% p  J3 J* T| tenant_id               | 3d85d1e79d654b3dade01eb5bfbf0679     |
5 P! W' o) O& `| updated_at              | 2022-05-31T09:42:58Z                 |
8 v( d+ p) d4 g; r* I+-------------------------+--------------------------------------+
% W; L0 ?; ~! L1 X! |[cent@dlp ~(keystone)]$ openstack security group rule list secgroup01
, R8 e% j7 b2 x9 j) f  a+--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+0 j, {0 b$ z+ |1 S% g6 c  M
| ID                                   | IP Protocol | Ethertype | IP Range  | Port Range | Direction | Remote Security Group | Remote Address Group |8 K6 W. q( e) I- Z9 M; H
+--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+: G& Z: t) [( a4 f3 o
| 28191a33-6e5a-487d-a7b7-cdef6f4f9dd9 | tcp         | IPv4      | 0.0.0.0/0 | 22:22      | ingress   | None                  | None                 |5 l" M8 @/ y" ~3 [# {/ A9 u
| 7a5ce790-613c-433b-b817-75aa20a10fc1 | None        | IPv4      | 0.0.0.0/0 |            | egress    | None                  | None                 |
+ o3 K- f7 E1 g0 Y6 T| 96122e6a-c9eb-4cb6-b304-2fe0dc0b3219 | icmp        | IPv4      | 0.0.0.0/0 |            | ingress   | None                  | None                 |
2 T8 c9 q, c. r. M8 o& f  F| cf9e12bd-90d0-4c9c-b852-12d2cd53eb91 | None        | IPv6      | ::/0      |            | egress    | None                  | None                 |
5 r* r1 ~0 J& p) G$ ~+--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+
1 a. m; K. C& j4 F[11] It's possible to login to the Instance to connect to the floating IP address with SSH like follows.
5 F. s# F6 ]. x1 S. W" s: S' v[cent@dlp ~(keystone)]$ openstack server list
. h6 J+ p' Z/ ?: v+--------------------------------------+------------+--------+------------------------------------+-----------------+----------+, u2 P  e' f6 y! Y8 c
| ID                                   | Name       | Status | Networks                           | Image           | Flavor   |
" j* y6 M$ t" o+ w3 [+--------------------------------------+------------+--------+------------------------------------+-----------------+----------+  V8 G# A% a0 L3 A: d5 V+ M2 z
| b9422951-8141-45fe-becd-a01c72708504 | CentOS-St8 | ACTIVE | private=10.0.0.216, 192.168.100.84 | CentOS-Stream-8 | m1.small |1 Z/ ~  f' h2 @! v/ E" l
+--------------------------------------+------------+--------+------------------------------------+-----------------+----------+
$ Z0 S) K9 C0 J, ^5 o+ c[cent@dlp ~(keystone)]$ ssh centos@10.0.0.216
7 D% D5 @$ \0 c- D7 BThe authenticity of host '10.0.0.216 (10.0.0.216)' can't be established.& {8 {4 c& G* f: L8 L" l
ECDSA key fingerprint is SHA256:3ubFctH6ulVjsrc2KyvqfRJPIx3ceRuzrogRB2WY1Iw.' w$ c6 K, O3 e0 Z5 d" l+ q
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes3 P: j8 t- W6 v2 Y, J
Warning: Permanently added '10.0.0.216' (ECDSA) to the list of known hosts.. I( ]/ {2 |; L: M) m* J" }* x
Activate the web console with: systemctl enable --now cockpit.socket2 D! R1 U2 v7 v+ T4 Y& p
[centos@centos-st8 ~]$     # logined3 S% M1 V3 f5 Z, C( e# T
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:00 , Processed in 0.023844 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表