-
Notifications
You must be signed in to change notification settings - Fork 13
Description
ISSUE TYPE
- Bug Report
- Improvement Request
COMPONENT NAME
Security Group 엔진
CLOUDSTACK VERSION
CloudStack 4.15 이상
ABLESTACK Allo (1.0) 이상
CONFIGURATION
Security Group이 활성화되는 Basic Network, Advanced Network 환경
OS / ENVIRONMENT
CentOS 8, Linux KVM, Libvirt, Firewalld, iptables, ebtables
SUMMARY
ABLESTACK HCI를 구성한 상태에서 Mold(CloudStack)를 구성하고 Zone을 구성할 때, Security Group이 활성화 되는 Basic Network, Advanced Network를 사용하기 위해 Host를 추가하게 되면 해당 Host에 있는 ccvm 및 scvm의 연결이 단절되며, 이는 ccvm, scvm 모두 Bridge를 사용하는 NIC에 대해 이러한 문제가 발생합니다.
Security Group은 Micro Segmentation 제공에 있어 매우 중요한 기능으로 반드시 사용 가능해야 하며, 따라서 해당 이슈를 해결해야 합니다.
STEPS TO REPRODUCE
- ABLESTACK HCI를 구성하여 SCVM, CCVM을 모두 배포합니다.
- 클라우드센터에 접속하여 Zone을 구성합니다.
- Zone 구성 시 네트워크를 Advanced(확장)을 선택하고 보안그룹을 활성화 합니다.
- 마법사 단계를 완료하여 호스트를 추가합니다.
- 호스트가 추가되면서 ccvm 접속이 불가능하게 되는 것을 확인할 수 있습니다.
EXPECTED RESULTS
호스트가 추가되고 모든 기능이 정상적이며, ccvm 및 scvm에 모두 원활하게 접속이 가능해야 합니다.
ACTUAL RESULTS
Security Group이 활성화 된 상태에서는 ccvm, scvm 및 해당 가상머신에서 운영 중인 모든 관리 시스템으로의 접속이 차단됩니다.
해당 문제는 Security Group 사용을 위해 cloudstack-agent가 다음의 설정을 호스트에 적용하기 때문에 발생합니다.
execute("sysctl -w net.bridge.bridge-nf-call-arptables=1")
execute("sysctl -w net.bridge.bridge-nf-call-iptables=1")
execute("sysctl -w net.bridge.bridge-nf-call-ip6tables=1")
위의 소스는 CloudStack의 security_group.py의 add_fw_framework 함수에 정의되어 있으며, 브릿지에 대한 통신을 제어하기 위해 포워드 규칙을 재정의 하기 위한 함수로, 위의 설정 및 브리지 포워드 설정에 의해 해당 브리지를 사용하는 모든 가상머신은 횡적 트래픽이 모두 차단됩니다.