Dev_Study/Oracle Cloud

[Oracle Cloud] 방화벽 포트 관리 - 2

LeeDaniel 2021. 4. 28. 13:41

 

 

[Oracle Cloud] 방화벽 포트 관리 - 1

이 글을 작성하게 된 이유는 1. Oracle Cloud Free Tier 인스턴스를 생성한뒤 [Oracle Cloud] Free Tier 인스턴스 생성하기 0. Oracle Cloud 로그인 페이지 www.oracle.com/kr/cloud/sign-in.html?intcmp=OcomFree..

ldne.tistory.com

위에 작성한 [Oracle Cloud] 방화벽 포트 관리 - 1을 하고나서
MySQL 외부접속에 문제가 없었는데
언젠가부터 또 안되기 시작했다
CentOS 방화벽 확인
CentOS 방화벽에 3306 포트를 추가했지만
그래도 접속이 안된다

오라클 클라우드에 ping테스트를 해봤다
오라클 클라우드 핑테스트
ping테스트가 실패한다(서버는 구동중이다)
구글링결과 오라클 클라우드 보안정책을 수정해야 했다
참조 : https://blog.naver.com/techshare/222226168711
ICMP의 Type and Code를 8로 변경해준다
TYPE은 8을 입력, CODE는 비워두고 SaveChanges를 클릭해 저장


수정후 다시 테스트
오라클 클라우드 보안정책 수정후 핑테스트
ping테스트가 잘된다

현재 MySQL(3306) 포트까지 개방해놓은 상태이다
오라클 클라우드 보안 정책

MySQL 외부접속 테스트를 해봤다
MySQL 외부접속시 에러발생
host가 MySQL 연결에 허락되지 않는다는 에러가 발생한다

구글링해봤다
참조 : zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9
MySQL이 기본적으로 로컬호스트의 접근만 허용하고있어서
접근권한을 수정해줘야한다고 한다
mysql > SELECT Host,User,authentication_string FROM mysql.user;

기본 설정은 localhost에서만 접근 가능하게 되어있다

1. MySQL root계정 모든IP에서 접근가능하도록 권한 설정하기
mysql > CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql > GRANT ALL PRIVILEGES ON *.* TO root@'%' identified by 'root의 비밀번호' WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES;
2. MySQL root계정 외부접근권한 확인하기
mysql > SELECT Host,User,authentication_string FROM mysql.user;

MySQL 계정 외부접근권한 확인하기

root계정에 Host가 %로 추가된것을 확인할 수 있다

MySQL 외부접속 성공


■위 설정을 모두 해도 안되는 경우

-iptables 3306 포트 개방

sudo iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT

-iptables 목록 확인

# iptables -L

iptables 목록 확인

반응형