기본 선택화면에서 인스턴스 이름을 입력하고 이미지 (여기서는 Oracle Linux 8)를 선택하며, 인스턴스에서 사용하기 위한 VCN과 Subnet (Public)을 선택합니다.
인스턴스에 접속하기 위해서는 SSH 키가 필요합니다. 사용하고 있는 키가 있다면, 해당 Public Key를 Copy & Paste하고, 그렇지 않은 경우 Generate a key pair for me를 선택하여 키를 다운로드 받습니다. 마지막으로 Create 버튼을 클릭하여 인스턴스를 생성합니다.
특정 포트를 오픈하기 위해서는 OCI에서 관리하는 Security List와 Instance의 OS에서 관리하는 Firewall 두 부분에 모두 추가해줘야 합니다. 우선 Security List에 오픈하기 위한 포트를 추가하여야 하는데, 인스턴스를 생성할 때 선택한 Subnet을 선택한 후 Security List를 선택합니다. (VCN Wizard를 통해 생성한 경우 Private Subnet을 위한 Security List와 Public Subnet을 위한 Security List 두 개가 생성되며, 네이밍이 Default Security List for {VCN명}으로 생성된 것이 Public Subnet의 Security List입니다.)
Add Ingress Rules을 선택합니다.
다음과 같이 Source CIDR와 Destination Port Range를 입력합니다.
iptables을 활용하여 관리할 수 있지만, Oracle Linux 7이상부터는 firewalld 라고 하는 데몬 서비스로 관리하며, 명령어는 firewall-cmd 명령어를 활용합니다.
우선 ssh로 해당 인스턴스에 접속합니다.
$ ssh -i {ssh key} opc@{ip address}
다음과 같이 Firewall을 설정합니다. 참고로 –permanent 옵션은 영구적으로 설정하는 옵션이지만, 반드시 –reload를 방화벽을 재시작해줘야 합니다.
$ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
$ sudo firewall-cmd --reload
다음 명령어로 열린 포트를 확인합니다.
$ sudo firewall-cmd --list-all
이 외에 추가적으로 다음과 같은 명령어를 사용할 수 있습니다.
방화벽 실행 상태
$ sudo firewall-cmd --state
존 목록을 출력
$ sudo firewall-cmd --get-zones
기본 존 출력
$ sudo firewall-cmd --get-active-zones
zone을 지정해서 출력
firewall-cmd --zone=public --list-all
임시로 포트 추가 / reload 없이 바로 반영되나 서버가 재부팅되면 설정도 사라짐
$ sudo firewall-cmd --add-port=8080/tcp
포트 제거
$ sudo firewall-cmd --remove-port=8080/tcp
서비스 추가
$ sudo firewall-cmd --add-service=ftp
서비스 제거
$ sudo firewall-cmd --remove-service=ftp
존을 지정해서 추가
$ sudo firewall-cmd --zone=trusted --add-service=ftp
permanent 옵션으로 서비스 추가 / 영구적으로 추가되나 –reload 옵션으로 방화벽 재시작 필요
$ sudo firewall-cmd --permanent --zone=public --add-service=ftp
permanent 옵션으로 포트 추가 / 영구적으로 추가되나 –reload 옵션으로 방화벽 재시작 필요
$ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
방화벽을 완전히 해제하고 모든 포트를 오픈하는 경우에는 다음과 같이 명령어를 사용합니다.
$ sudo systemctl stop firewalld.service
$ sudo systemctl disable firewalld.service
DanKim GETTING-STARTED
oci compute firewall