L2 및 L3 토폴로지 설정
그림 1 은 L2 토폴로지를 보여주고 있습니다.
그림 2 에는 토폴로지 설정을 구성할 수 있는 Switch1, Switch2, Aggregation Switch 등의 스위치가 있습니다.
토폴로지 설정을 하려면 다음 단계를 완료하십시오.
어그리게이션 스위치에서 ge-0/0/1 및 ge-0/0/2 인터페이스를 트렁크 올 모드로 설정합니다.
Switch 1에서 ge-0/0/2 인터페이스를 Trunk All 모드로 설정하고 ge-0/0/10 및 ge-0/0/20 인터페이스에서 vlan 태깅을 활성화합니다.
Switch 2에서 ge-0/0/1 인터페이스를 Trunk All 모드로 설정하고 ge-0/0/30 및 ge-0/0/20 인터페이스에서 vlan 태깅을 활성화합니다.
그림 2에서 SRX는 라우터와 방화벽의 역할을 모두 담당합니다.
물리적 토폴로지 설정
물리적 토폴로지 설정:
- 참조 물리적 토폴로지로 주니퍼 네트웍스 플러그인을 구성하려면 표 1에 나열된 명령을 사용합니다.
주니퍼 Neutron 플러그인에는 관리자가 네트워크 토폴로지 정의가 가능한 CLI 도구가 포함되어 있습니다. 플러그인은 토폴로지 정의에 따라 네트워크 오케스트레이션을 수행합니다.
표 1: CLI 툴 이름
설명
jnpr_device
디바이스 세부 정보 추가
jnpr_nic_mapping
노드의 해당 이더넷 인터페이스에 물리적 네트워크 별칭(예: Physnet1) 간의 매핑을 추가합니다.
jnpr_switchport_mapping
컴퓨팅 또는 네트워크 노드와 이더넷 인터페이스 간의 매핑을 스위치와 연결된 포트에 추가합니다.
jnpr_device_port
각 테넌트 VLAN에 대해 라우팅된 VLAN 인터페이스(RVI)RVI가 생성되는 라우터 또는 방화벽의 다운링크 포트를 정의합니다.
jnpr_allocate_device
테넌트 또는 테넌트 그룹에 라우터 및 방화벽 할당을 정의합니다.
jnpr_vrrp_pool
VRRP 풀을 정의합니다.
- 토폴로지에 디바이스를 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
참고:
토폴로지로 추가된 장치에 대한 수퍼 사용자 클래스 권한을 가진 로그인 자격 증명을 사용합니다.
admin@controller:~$ jnpr_device add -d device-name or device-IP-address -c {switch, router, firewall} -u username -p device-password
- 토폴로지에 추가된 스위치를 추가하고 보려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
참고:
물리적 토폴로지에서 Switch1 및 Switch2는 하이퍼바이저에 연결됩니다.
- Switch1을 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_device add -d switch1.juniper.net -c switch -u root -p root-password +---------------------+---------------+-------------+---------+-------+------+---------------+ | Device | Ip | Device Type | model | login | vtep | vrrp_priority | +---------------------+---------------+-------------+---------+-------+------+---------------+ | switch1.juniper.net | 10.107.52.136 | switch | qfx3500 | root | 0 | 0 | +---------------------+---------------+-------------+---------+-------+------+---------------+
- Switch2를 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_device add -d switch2.juniper.net -c switch -u root -p password +---------------------+---------------+-------------+---------+-------+------+---------------+ | Device | Ip | Device Type | model | login | vtep | vrrp_priority | +---------------------+---------------+-------------+---------+-------+------+---------------+ | switch2.juniper.net | 10.107.52.137 | switch | qfx3500 | root | 0 | 0 | +---------------------+---------------+-------------+---------+-------+------+---------------+
- 토폴로지에 추가된 스위치를 보려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_device list +---------------------+---------------+-------------+---------+-------+------+---------------+ | Device | Ip | Device Type | model | login | vtep | vrrp_priority | +---------------------+---------------+-------------+---------+-------+------+---------------+ | switch1.juniper.net | 10.107.52.136 | switch | qfx3500 | root | 0 | 0 | | switch2.juniper.net | 10.107.52.137 | switch | qfx3500 | root | 0 | 0 | +---------------------+---------------+-------------+---------+-------+------+---------------+
- Switch1을 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
- 라우터를 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
참고:
그림 2에 표시된 물리적 토폴로지에서 SRX는 라우터와 방화벽의 역할을 모두 담당합니다.
admin@controller:~$ jnpr_device add -d srx.juniper.net -c router -u root -p password +-----------------+---------------+-------------+-------+-------+------+---------------+ | Device | Ip | Device Type | model | login | vtep | vrrp_priority | +-----------------+---------------+-------------+-------+-------+------+---------------+ | srx.juniper.net | 10.107.23.103 | router | srx | root | 0 | 0 | +-----------------+---------------+-------------+-------+-------+------+---------------+
- 토폴로지에 방화벽을 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_device add -d srx.juniper.net -c firewall -u root -p password +-----------------+---------------+-------------+-------+-------+------+---------------+ | Device | Ip | Device Type | model | login | vtep | vrrp_priority | +-----------------+---------------+-------------+-------+-------+------+---------------+ | srx.juniper.net | 10.107.23.103 | firewall | srx | root | 0 | 0 | | srx.juniper.net | 10.107.23.103 | router | srx | root | 0 | 0 | +-----------------+---------------+-------------+-------+-------+------+---------------+
- 각 하이퍼바이저에 대한 물리적 네트워크 매핑에 대한 NIC를 정의합니다.
OpenStack에서는 일반적으로 네트워크 노드와 모든 컴퓨팅 노드의 파일에 다음 구성
/etc/neutron/plugins/ml2/ml2_conf.ini
을 사용함으로써 물리적 네트워크와 관련 브리지의 별칭을 정의합니다.[ovs] tenant_network_type = vlan bridge_mappings = physnet1:br-eth1
브리지 br-eth1을 모든 물리적 인터페이스에 연결할 수 있기 때문에 다음 명령을 입력하여 브리지 br-eth1과 토폴로지의 물리적 인터페이스 사이의 링크를 추가해야 합니다.
admin@controller:~$ jnpr_nic-mapping add -H compute-hostname -b physical-network-alias-name -n NIC
- 하이퍼바이저 1을 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_nic_mapping add -H hypervisor1.juniper.net -b physnet1 -n eth1
매핑 추가
+---------------+------------+------+ | Host | BridgeName | Nic | +---------------+------------+------+ | 10.107.65.101 | physnet1 | eth1 | +---------------+------------+------+
- 하이퍼바이저 2를 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_nic_mapping add -H hypervisor2.juniper.net -b physnet1 -n eth1
매핑 추가
+---------------+------------+------+ | Host | BridgeName | Nic | +---------------+------------+------+ | 10.107.65.102 | physnet1 | eth1 | +---------------+------------+------+
- 하이퍼바이저 5를 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
참고:
하이퍼바이저 5는 physnet1-- br-eth1 -- eth2에 매핑됩니다.
admin@controller:~$ jnpr_nic_mapping add -H hypervisor5.juniper.net -b physnet1 -n eth2
매핑 추가
+---------------+------------+------+ | Host | BridgeName | Nic | +---------------+------------+------+ | 10.107.65.105 | physnet1 | eth2 | +---------------+------------+------+
- 하이퍼바이저 6을 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_nic_mapping add -H hypervisor6.juniper.net -b physnet1 -n eth1
매핑 추가
+---------------+------------+------+ | Host | BridgeName | Nic | +---------------+------------+------+ | 10.107.65.106 | physnet1 | eth1 | +---------------+------------+------+
- 네트워크 노드를 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_nic_mapping add -H networknode.juniper.net -b physnet1 -n eth1
매핑 추가
+---------------+------------+------+ | Host | BridgeName | Nic | +---------------+------------+------+ | 10.108.10.100 | physnet1 | eth1 | +---------------+------------+------+
- 모든 매핑을 보려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_nic_mapping list +---------------+------------+------+ | Host | BridgeName | Nic | +---------------+------------+------+ | 10.107.65.101 | physnet1 | eth1 | | 10.107.65.102 | physnet1 | eth1 | | 10.107.65.105 | physnet1 | eth2 | | 10.107.65.106 | physnet1 | eth1 | | 10.108.10.100 | physnet1 | eth1 | +---------------+------------+------+
- 하이퍼바이저 1을 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
- 컴퓨팅에서 스위치까지 매핑을 정의합니다.
스위치에서 VLAN을 구성하려면 ML2 플러그인이 이더넷 인터페이스를 통해 하이퍼바이저가 연결되는 스위치 포트를 결정해야 합니다. 이는 physnet1 -- br-eth1 -- eth1 -- Switch-x: ge-0/0/x 사이의 토폴로지의 전반적인 뷰를 플러그인합니다. LLDP를 활성화하거나 다음 명령을 사용하여 구성하여 이 정보를 결정할 수 있습니다.
admin@controller:~$ jnpr_switchport_mapping add -H compute-hostname -n NIC -s switch-IP-address or switch-name -p switch-port
- 하이퍼바이저 1을 Switch 1에 매핑하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_switchport_mapping add -H hypervisor1.juniper.net -n eth1 -s switch1.juniper.net -p ge/0/0/10 Database updated with switch port binding +---------------+------+---------------+-----------+-----------+ | Host | Nic | Switch | Port | Aggregate | +---------------+------+---------------+-----------+-----------+ | 10.107.65.101 | eth1 | 10.107.52.136 | ge/0/0/10 | | +---------------+------+---------------+-----------+-----------+
- 하이퍼바이저 2를 Switch 1에 매핑하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_switchport_mapping add -H hypervisor2.juniper.net -n eth1 -s switch1.juniper.net -p ge/0/0/20 Database updated with switch port binding +---------------+------+---------------+-----------+-----------+ | Host | Nic | Switch | Port | Aggregate | +---------------+------+---------------+-----------+-----------+ | 10.107.65.102 | eth1 | 10.107.52.136 | ge/0/0/20 | | +---------------+------+---------------+-----------+-----------+
- 하이퍼바이저 5를 Switch 2에 매핑하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_switchport_mapping add -H hypervisor5.juniper.net -n eth2 -s switch2.juniper.net -p ge/0/0/20
스위치 포트 바인딩으로 업데이트된 데이터베이스
+---------------+------+---------------+-----------+-----------+ | Host | Nic | Switch | Port | Aggregate | +---------------+------+---------------+-----------+-----------+ | 10.107.65.105 | eth2 | 10.107.52.137 | ge/0/0/20 | | +---------------+------+---------------+-----------+-----------+
- 하이퍼바이저 6을 Switch 2에 매핑하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_switchport_mapping add -H hypervisor6.juniper.net -n eth1 -s switch2.juniper.net -p ge/0/0/30
스위치 포트 바인딩으로 업데이트된 데이터베이스
+---------------+------+---------------+-----------+-----------+ | Host | Nic | Switch | Port | Aggregate | +---------------+------+---------------+-----------+-----------+ | 10.107.65.106 | eth1 | 10.107.52.137 | ge/0/0/30 | | +---------------+------+---------------+-----------+-----------+
- 네트워크 노드를 Switch 2에 매핑하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_switchport_mapping add -H networknode.juniper.net -n eth1 -s switch2.juniper.net -p ge/0/0/5
스위치 포트 바인딩으로 업데이트된 데이터베이스
+---------------+------+---------------+----------+-----------+ | Host | Nic | Switch | Port | Aggregate | +---------------+------+---------------+----------+-----------+ | 10.108.10.100 | eth1 | 10.107.52.137 | ge/0/0/5 | | +---------------+------+---------------+----------+-----------+
- 모든 매핑을 나열하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_switchport_mapping list +---------------+------+---------------+-----------+-----------+ | Host | Nic | Switch | Port | Aggregate | +---------------+------+---------------+-----------+-----------+ | 10.107.65.101 | eth1 | 10.107.52.136 | ge/0/0/10 | | | 10.107.65.102 | eth1 | 10.107.52.136 | ge/0/0/20 | | | 10.107.65.105 | eth2 | 10.107.52.137 | ge/0/0/20 | | | 10.107.65.106 | eth1 | 10.107.52.137 | ge/0/0/30 | | | 10.108.10.100 | eth1 | 10.107.52.137 | ge/0/0/5 | | +---------------+------+---------------+-----------+-----------+
- 하이퍼바이저 1을 Switch 1에 매핑하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
- 플러그인이 RVI를 생성하는 SRX 디바이스(라우터)에서 다운링크 포트를 정의합니다.
다음 명령을 사용하여 어그리게이션 스위치가 연결된 SRX 장비의 포트와 함께 플러그인 데이터베이스를 업데이트할 수 있습니다.
admin@controller:~$ jnpr_device_port -d SRX-device-name or switch-IP -p srx-port-name -t port_type: Downlink
- SRX 디바이스의 다운링크 포트를 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_device_port add -d srx.juniper.net -p ge-0/0/10 -t Downlink +---------------+-----------+---------------+ | Device | port | port_type | +---------------+-----------+---------------+ | 10.107.23.103 | ge-0/0/10 | downlink_port | +---------------+-----------+---------------+
- SRX 디바이스의 다운링크 포트를 토폴로지에 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
- VRRP 풀 생성
L3 플러그인은 VRRP를 통해 고가용성을 지원합니다. 이 기능을 사용하려면 VRRP 풀을 생성하고 명령을 사용하여
jnpr_allocate_device
풀에 있는 디바이스 중 하나만 테넌트에 할당해야 합니다.VRRP 풀을 생성하려면 다음 단계를 완료하십시오.
- 라우터를 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행하십시오.
admin@controller:~$ jnpr_device add -d 10.20.30.40 -c router -u root -p password +-----------------+---------------+-------------+-------+-------+------+---------------+ | Device | Ip | Device Type | model | login | vtep | vrrp_priority | +-----------------+---------------+-------------+-------+-------+------+---------------+ | 10.20.30.40 | 10.20.30.40 | router | srx | root | 0 | 0 | +-----------------+---------------+-------------+-------+-------+------+---------------+ admin@controller:~$ jnpr_device add -d 10.20.30.41 -c router -u root -p password +-----------------+---------------+-------------+-------+-------+------+---------------+ | Device | Ip | Device Type | model | login | vtep | vrrp_priority | +-----------------+---------------+-------------+-------+-------+------+---------------+ | 10.20.30.41 | 10.20.30.41 | router | srx | root | 0 | 0 | +-----------------+---------------+-------------+-------+-------+------+---------------+
- VRRP 풀을 만들려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_vrrp_pool add –d 10.20.30.40 –p tenant1_pool1 +----------------------------------+-----------------+ | Device ID | VRRP POOL NAME | +----------------------------------+-----------------+ | 10.20.30.40 | tenant1_pool1 | +----------------------------------+-----------------+ admin@controller:~$ jnpr_vrrp_pool add –d 10.20.30.41 –p tenant1_pool1 +----------------------------------+-----------------+ | Device ID | VRRP POOL NAME | +----------------------------------+-----------------+ | 10.20.30.41 | tenant1_pool1 | +----------------------------------+-----------------+ admin@controller:~$ jnpr_vrrp_pool list +---------------+----------------+ | Device ID | VRRP POOL NAME | +---------------+----------------+ | 10.20.30.40 | tenant1_pool1 | | 10.20.30.41 | tenant1_pool1 | +---------------+----------------+
- 테넌트 또는 테넌트 그룹에 디바이스 할당을 정의하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행합니다.
admin@controller:~$ jnpr_allocate_device add –t tenant-project_id -d device-hostname-or-IP-address admin@controller:~$ jnpr_allocate_device add –t e0d6c7d2e25943c1b4460a4f471c033f –d 10.20.30.40 +----------------------------------+---------------+ | Tenant ID | Device IP | +----------------------------------+---------------+ | e0d6c7d2e25943c1b4460a4f471c033f | 10.20.30.40 | +----------------------------------+---------------+
디바이스를 여러 테넌트를 위한 기본 디바이스로 사용하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행하고 테넌트를 기본으로 설정합니다. 예를 들어:
admin@controller:~$ jnpr_allocate_device add –t default –d 10.20.30.40 +----------------------------------+---------------+ | Tenant ID | Device IP | +----------------------------------+---------------+ | default | 10.20.30.40 | +----------------------------------+---------------+
- 라우터를 추가하려면 OpenStack Neutron 컨트롤러에서 다음 명령을 실행하십시오.