티스토리 뷰
Neutron 네트워크 구성하기
앞에서 그린 구성도를 참고해서 이미 구성된 네트워크를 확인하고, 새로 생성할 네트워크를 구성하겠습니다. Tenant1에 해당하는 네트워크는 데브스택이 설치될 때 자동으로 설치됩니다. 그러나 Tenant2에 해당하는 네트워크는 설치되지 않습니다. 여기서는 Tenant2에 해당하는 네트워크를 만들겠습니다.
1. DevStack 설치가 완료되었으면, ifconfig 명령어를 이용해 네트워크가 어떻게 설정되었는지를 먼저 확인합니다. br-enp0s8이라는 브리지 네트워크가 생성된 것을 확인할 수 있으며, enp0s8에 설정되어 있던 IP가 br-enp0s8의 IP로 설정되어 있는것을 확인할 수 있습니다.
stack@devstack:~$ ifconfig
br-enp0s8 Link encap:Ethernet HWaddr 08:00:27:9f:df:14
inet addr:192.168.0.22 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::246a:1aff:feb1:5e49/64 Scope:Link
inet6 addr: 2001:db8::2/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4838 errors:0 dropped:0 overruns:0 frame:0
TX packets:3358 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:10523621 (10.5 MB) TX bytes:248255 (248.2 KB)
enp0s3 Link encap:Ethernet HWaddr 08:00:27:b6:2d:a7
inet addr:192.168.56.103 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feb6:2da7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28414 errors:0 dropped:0 overruns:0 frame:0
TX packets:28309 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1907489 (1.9 MB) TX bytes:5859080 (5.8 MB)
enp0s8 Link encap:Ethernet HWaddr 08:00:27:9f:df:14
inet6 addr: fe80::a00:27ff:fe9f:df14/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:372037 errors:0 dropped:0 overruns:0 frame:0
TX packets:123745 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:543530375 (543.5 MB) TX bytes:8759310 (8.7 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:168953 errors:0 dropped:0 overruns:0 frame:0
TX packets:168953 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:74520199 (74.5 MB) TX bytes:74520199 (74.5 MB)
virbr0 Link encap:Ethernet HWaddr 52:54:00:53:cc:40
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
2. 이번에는 ovs-vsctl show 명령어를 이용하여 Open vSwitch의 가상 네트워크 현황을 확인해 보겠습니다. br-int 라는 내부용 가상 브리지와 컴퓨트 노드의 인스턴스 간 통신을 위한 br-tun 이라는 브리지, 그리고 외부 통신을 위한 br-enp0s8 이라는 브리지가 생성되어 있는것을 확인할 수 있습니다. 또한 br-enp0s8에는 외부 통신을 할때 실제로 사용되는 네트워크 디바이스인 enp0s8이 추가되어 있는 것을 확인할 수 있습니다.
stack@devstack:~$ sudo ovs-vsctl show
3f70ad60-a2f9-4123-8d2a-d98f64b19a48
Bridge br-int
fail_mode: secure
Port br-int
Interface br-int
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "qr-9ac11f5c-18"
tag: 1
Interface "qr-9ac11f5c-18"
type: internal
Port "qr-82d915df-63"
tag: 1
Interface "qr-82d915df-63"
type: internal
Port "qg-b9c70e65-2e"
tag: 2
Interface "qg-b9c70e65-2e"
type: internal
Port "tapb34cbe12-5d"
tag: 1
Interface "tapb34cbe12-5d"
type: internal
Port "int-br-enp0s8"
Interface "int-br-enp0s8"
type: patch
options: {peer="phy-br-enp0s8"}
Bridge br-tun
fail_mode: secure
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port br-tun
Interface br-tun
type: internal
Bridge "br-enp0s8"
Port "br-enp0s8"
Interface "br-enp0s8"
type: internal
Port "enp0s8"
Interface "enp0s8"
Port "phy-br-enp0s8"
Interface "phy-br-enp0s8"
type: patch
options: {peer="int-br-enp0s8"}
ovs_version: "2.5.0"
stack@devstack:~$
|
3. 통신을 하기 위해서는 게이트웨이를 서로 연결시켜주는 라우터가 필요합니다. 그리고, IP를 자동으로 할당해 주기 위해서는 DHCP 서버도 필요합니다. 오픈스택 Neutron에서도 이런 네트워크 디바이스들을 필요로 합니다. Open vSwitch를 이용하여 가상 네트워크를 만들었으니 가상 라우터와 가상 DHCP 서버가 필요한 건 당연한 일입니다. Ip netns show 명령어를 이용하여 가상으로 만들어진 라우터와 DHCP 서버를 확인할 수 있습니다.
stack@devstack:~$ sudo ip netns show
qrouter-2def024e-298f-40a2-ab4f-2c74052872ab
qdhcp-b2203d5b-f33c-4509-b717-3c0769705013
stack@devstack:~$
|
4. 그럼, 가상 라우터에 어떤 IP들이 매핑되었는지 확인해 보도록 하겠습니다. 아래와 같이 sudo ip netns exec 입력하고 위에서 확인한 가상 라우터 ID를 복사한 후 붙여넣기를 한 뒤 ifconfig 라는 명령어를 추가하면 가상 라우터에 할당된 가상 네트워크와 IP를 확인할 수 있습니다.
stack@devstack:~$ sudo ip netns exec qrouter-2def024e-298f-40a2-ab4f-2c74052872ab ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
qg-b9c70e65-2e Link encap:Ethernet HWaddr fa:16:3e:1f:f7:70
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe1f:f770/64 Scope:Link
inet6 addr: 2001:db8::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:276 errors:0 dropped:0 overruns:0 frame:0
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:46743 (46.7 KB) TX bytes:1704 (1.7 KB)
qr-82d915df-63 Link encap:Ethernet HWaddr fa:16:3e:9a:78:77
inet6 addr: fd3c:62f4:60dc::1/64 Scope:Global
inet6 addr: fe80::f816:3eff:fe9a:7877/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:92 (92.0 B) TX bytes:2658 (2.6 KB)
qr-9ac11f5c-18 Link encap:Ethernet HWaddr fa:16:3e:ed:e1:79
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:feed:e179/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:1944 (1.9 KB) TX bytes:864 (864.0 B)
stack@devstack:~$
|
5. 이번에는 가상 라우터를 확인한 방법과 같은 방법으로 DHCP 설정을 확인해 보겠습니다. Tapb34cbe12-5d 라는 가상 네트워크가 생성되었고, IP로 10.0.0.2가 매핑되어 있는 것을 확인할 수 있습니다.
stack@devstack:~$ sudo ip netns exec qdhcp-b2203d5b-f33c-4509-b717-3c0769705013 ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tapb34cbe12-5d Link encap:Ethernet HWaddr fa:16:3e:f8:24:40
inet addr:10.0.0.2 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fd3c:62f4:60dc:0:f816:3eff:fef8:2440/64 Scope:Global
inet6 addr: fe80::f816:3eff:fef8:2440/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:2204 (2.2 KB) TX bytes:726 (726.0 B)
stack@devstack:~$
|
6. 오픈스택을 설치한 우분투 서버에 생성된 가상 네트워크를 모두 확인해 봤습니다. 이번에는 데쉬보드에 접속해 가상 네트워크를 확인해 보겠습니다. 웹브라우저를 열어 Devstack 설치시 안내되었던 URL로 접속합니다. 그리고, 관리자용 사용자 이름과 암호를 입력하고 하단의 [연결]버튼을 클릭합니다.
7. 로그인이 되면 우측 메뉴에서 [관리자] > [시스템] > [네트워크]를 선택합니다. 그러면 아래와 같이 네트워크 목록을 확인할 수 있는 페이지로 이동합니다. 인스턴스에 고정(Fixed) IP를 할당해 줄 private 네트워크와 외부통신용(Floating) IP를 할당해 줄 public 네트워크가 생성되어 있는 것을 확인할 수 있습니다. IPv4에 해당하는 IP CIDR(Classless Inter-Domain Routing)와 IPv6에 해당하는 IP CIDR가 함께 할당되어 있는 것을 확인할 수 있습니다.
8. 네트워크 목록에서 private 를 클릭해 상세정보를 확인해 보겠습니다. 네트워크 개요와 서브넷, 그리고 포트 정보를 확인할 수 있습니다.
9. 좌측의 스크롤바를 아래로 내리면 DHCP 에이전트 현황도 함께 확인할 수 있습니다. 서브넷에는 private 네트워크의 고정(Fixed) IP 범위와 게이트웨이 IP 정보를 IPv4와 IPv6로 확인해 볼 수 있으며, 포트 목록에서는 라우터와 연결된 게이트웨이 IP 정보를 확인할 수 있습니다. 또한 DHCP로 설정된 IP 정보도 함께 확인할 수 있습니다.
10. 다시 네트워크 목록으로 돌아가 이번에는 public 네트워크를 선택합니다. 그러면, public 네트워크의 상세정보를 확인할 수 있습니다. Public 네트워크 정보 역시 private 네트워크와 마찬가지로 외부통신용(Floating) IP 대역과 게이트웨이 IP 주소를 IPv4와 IPv6로 확인할 수 있습니다.
11. public 네트워크의 상세화면 좌측 스크롤바를 아래로 내리면 private 네트워크에서처럼 DHCP 에이전트가 활성화 되어 있는 것을 확인하실 수 있습니다. 그러나, private 네트워크와는 다르게 포트 정보에 DHCP로 설정된 IP 정보는 보이지 않습니다.
12. 이번에는 라우터를 살펴보겠습니다. 데쉬보드의 우측 메뉴에서 [관리자] > [시스템] > [라우터]를 선택합니다. 라우터 목록에는 이미 router1이라는 라우터가 하나 생성되어 있는 것을 확인할 수 있습니다. 이 라우터는 DevStack을 설치할때 미리 생성된 라우터입니다.
13. 라우터 목록에서 router1를 클릭하면 아래와 같이 상세 정보를 확인할 수 있습니다. 개요 탭에서는 라우터 이름, ID 등 기본 정보와 외부 게이트웨이 정보를 확인할 수 있습니다.
14. 인터페이스 탭에서는 private 네트워크의 게이트웨이 IP와 public 네트워크의 게이트웨이 IP를 목록으로 확인할 수 있습니다.
15. 이번에는 네트워크 토폴로지를 확인해 보겠습니다. Admin 계정으로 로그인되어 있는 데쉬보드를 로그아웃하고 Demo 계정으로 다시 로그인을 합니다. 그리고, 우측 메뉴에서 [프로젝트] > [네트워크] > [네트워크 토폴로지]를 클릭합니다. 그러면 아래와 같이 지금 생성되어 연결되어 있는 네트워크 토폴로지 현황을 그래픽으로 확인할 수 있습니다. 아래 보이는 이미지는 Small 탭의 네트워크 이미지로 가장 최소정보만을 보여줍니다.
16. [기본]탭을 클릭하면 아래와 같이 라우터 이미지가 좀 더 구체적으로 표현이 됩니다.
17. 기본 네트워크 토폴로지를 확인했으면 이번에는 Graph로 확인을 해보겠습니다. 상단의 [Graph] 탭을 클릭하면 아래와 같은 이미지로 네트워크 정보를 확인할 수 있습니다.
18. 이번에는 네트워크 탭을 한번 클릭해보겠습니다. 우측 메뉴에서 [프로젝트] > [네트워크] > [네트워크]를 클릭합니다. 그러면 아래와 같이 네트워크 목록을 확인할 수 있습니다. Admin 계정의 네트워크 목록과는 다르게 public 네트워크 정보에서 관련 서브넷 정보가 보이지 않는다는것을 확인할 수 있습니다. 그럼, 지금부터 위에서 그려면 네트워크 구성도대로 새로운 가상 라우터와 가상 네트워크를 만들어 보겠습니다. 네트워크 화면 좌측 상단의 [+네트워크 생성] 버튼을 클릭합니다.
19. 그러면, 네트워크 생성창이 팝업됩니다. 그러면 생성하고자 하는 네트워크 이름을 입력합니다. 앞에서 미리 그려본 네트워크 구성도에서처럼 네트워크 이름을 private2 라고 입력하고 [다음]을 클릭합니다.
20. 서브넷 이름은 알기 쉽게 private2_subnet이라고 입력하고 네트워크 주소에 인스턴스에 할당할 고정 IP 범위를 CIDR로 입력합니다. 여기서 IP 범위는 앞에서 미리 그려본 네트워크 구성도에 따라 10.0.1.0/24로 입력하였습니다. 게이트웨이 IP는 10.0.1.1을 입력합니다. 그리고, 하단의 [다음] 버튼을 클릭합니다.
21. 서브넷 세부 정보 창이 나오면 DHCP 사용에 체크를 하고 하단의 [생성] 버튼을 클릭합니다.
22. 네트워크 목록에 방금전에 생성한 private2 네트워크가 생성되었습니다.
23. 이번에는 라우터를 생성해 보겠습니다. 우측 메뉴에서 [프로젝트] > [네트워크] > [라우터]를 클릭합니다. 라우터 목록이 나오면 좌측 상단에 [+라우터 생성] 버튼을 클릭합니다.
24. 라우터 생성창이 팝업되면 라우터 이름에 router2라고 입력하고 외부 네트워크에서 public 네트워크를 선택한 후 하단의 [라우터 생성] 버튼을 클릭합니다.
25. 라우터가 잘 생성이 되었습니다.
26. 생성된 라우터 router2를 클릭하여 상세 정보를 확인합니다. 라우터 기본 정보와 외부 게이트웨이 정보를 확인할 수 있습니다.
27. 그러나 인터페이스 탭을 클릭하면 인터페이스 목록에 아무런 정보도 보이지 않습니다. 그럼, 지금부터 인터페이스를 추가해보겠습니다. 좌측 상단에 [+인터페이스 추가] 버튼을 클릭합니다.
28. 인터페이스 추가 창이 팝업되면 조금 전에 생성한 private2 네트워크를 서브넷에서 선택합니다.
29. 그러면 아래와 같이 private2 네트워크의 게이트웨이가 인터페이스로 추가됩니다.
30. 앞에서 생성한 라우터와 private2 네트워크의 DHCP 설정은 터미널에서 ip netns show 명령어로 아래와 같이 확인할 수 있습니다.
stack@devstack:~$ sudo ip netns show
qrouter-aa332b06-210c-4e9b-9961-657119f53742
qdhcp-dddd20f6-c9b4-4d5a-9497-96d9cf1cff44
qrouter-2def024e-298f-40a2-ab4f-2c74052872ab
qdhcp-b2203d5b-f33c-4509-b717-3c0769705013
stack@devstack:~$
|
31. 그럼, 새로 생성된 가상 라우터를 확인해 보겠습니다. Ip netns exec 명령어 뒤에 앞에서 확인한 라우터 ID를 복사해 붙여넣기를 합니다. 그리고 그 뒤에 ifconfig를 하면 가상 라우터의 인터페이스를 확인할 수 있습니다.
stack@devstack:~$ sudo ip netns exec qrouter-aa332b06-210c-4e9b-9961-657119f53742 ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
qg-d4ee5068-93 Link encap:Ethernet HWaddr fa:16:3e:20:db:d4
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe20:dbd4/64 Scope:Link
inet6 addr: 2001:db8::3/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1892 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:318837 (318.8 KB) TX bytes:1368 (1.3 KB)
qr-6d6278e7-7f Link encap:Ethernet HWaddr fa:16:3e:82:37:3d
inet addr:10.0.1.1 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe82:373d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:28 (28.0 B) TX bytes:864 (864.0 B)
stack@devstack:~$
|
32. 가상 DHCP 설정 확인 역시 ip netns exec 명령어 뒤에 앞에서 확인한 DHCP ID를 복사해 붙여넣고 ifconfig를 붙이면 DHCP 에이전트용 IP를 확인할 수 있습니다.
stack@devstack:~$ sudo ip netns exec qdhcp-dddd20f6-c9b4-4d5a-9497-96d9cf1cff44 ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tap37cfd8b4-88 Link encap:Ethernet HWaddr fa:16:3e:2f:c4:cb
inet addr:10.0.1.2 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe2f:c4cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:412 (412.0 B) TX bytes:648 (648.0 B)
stack@devstack:~$
|
33. 새로 생성한 가상 네트워크와 라우터는 네트워크 토폴로지에서도 확인할 수 있습니다. Demo 계정으로 데쉬보드를 로그인 한 뒤 우측 메뉴에서 [프로젝트] > [네트워크] > [네트워크 토폴로지]를 선택하면 아래와 같이 router2라는 가상 네트워크가 생성된 것을 토폴로지로 확인할 수 있습니다.
34. 이번에는 Graph 탭을 클릭해 봅니다. 아래와 같은 아이콘 형태의 네트워크 토폴로지를 확인할 수 있습니다.
'OpenStack Class 2' 카테고리의 다른 글
[개정판]12. All-in-One으로 오픈스택을 설치해 보자 (0) | 2016.09.23 |
---|---|
[개정판]11. CentOS에서 오픈스택 구축하기! 설치 환경 구성! (0) | 2016.09.19 |
[개정판]9. 데브스택을 이용해서 오픈스택 Neutron 설치하기 (7) | 2016.08.18 |
[개정판]8. Neutron 설치를 위한 네트워크 구성도를 그려보자. (0) | 2016.08.02 |
[개정판]7. SSH 클라이언트를 이용한 인스턴스 접속 (1) | 2016.07.23 |
- Total
- Today
- Yesterday
- 파이썬
- 세미나
- 명령어
- cpu
- 하둡
- Python
- 우분투
- 레드햇
- OVN
- Redhat
- 설치
- 후기
- sdn
- Network
- 네트워크
- 쿠버네티스
- neutron
- NOVA
- 김미경
- 컨테이너
- 오픈스택
- 오픈쉬프트
- openstack
- command
- Swift
- install
- Java
- 클라우드
- 뉴트론
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |