curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
yum install MariaDB-server
systemctl enable mariadb
systemctl start mariadb
mysql_secure_installation
semanage port -l | grep mysqld_port_t
: 기본은 3306 포트
vi /etc/my.cnf.d/server.cnf
port = 3306
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
systemctl restart mariadb
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
현재 나의 연결 상태
공인 IP -> sk 모뎀 (공유기) -> 가상머신 띄우는 컴퓨터 -> 가상머신 속 CentOS
외부에서 접근하기 위해 다음의 설정을 해야한다고 나는 생각했다.
1. 외부에서 공유기에 접속 가능하도록 설정
2. 공유기로 들어왔을 때, 내 컴퓨터로 포트포워딩
3. 내 컴퓨터로 들어왔을 때, 가상머신 DB로 포트포워딩
가상머신을 끄고, 가상머신 설정 > 네트워크 > 고급 > 포트포워딩으로 들어가서
이름 | 해당 포트포워딩 설명 |
---|---|
프로토콜 | TCP |
호스트 IP | 가상머신 띄우는 컴퓨터 IP |
호스트 포트 | 호스트가 접근한 포트 |
게스트 IP | CentOS 컴퓨터 IP |
게스트 포트 | CentOS에 설치된 MariaDB 포트 |
만약 호스트 IP에 192.168.0.2 / 호스트 포트에 3306 / 게스트 IP에 10.0.2.15 / 게스트 포트에 3306 이라고 설정했다면, 192.168.0.2:3306 으로 접근했을 때, 10.0.2.15:3306으로 포워딩 해주세요. 라는 의미인 것 같다. ^-^
그리고 다시 가상머신 시작
CentOS MariaDB 서버가 켜져있는지 확인하고, 내 컴퓨터에서 MySQL Workbench를 통해 CentOS의 DB 서버로 접속해보자.
Hostname | 아까 가상머신 설정에서 호스트 IP |
---|---|
Port | 아까 가상머신 설정에서 호스트 포트 |
username, password | MariaDB 사용자 계정 |
나의 경우에는 내 db 버전과 mysql workbench가 선호하는 db 버전?이 맞지 않는다는 경고가 나오긴하는데 continue anyway를 누르면 연결 성공된다.
ipconfig를 해보면 기본 게이트웨이가 192.168.55.1 이라고 나와있다.
저 게이트웨이를 주소창에 입력했더니, 어드민 페이지가 등장했다.
아이디: admin
비밀번호는 공유기에 굵은 글씨로 되어있는 6자리가 있는데, '6자리_admin'이 비밀번호라고 한다.
로그인에 성공하면 홈 화면이 나오는데 그 곳에 WAN 탭에 IP가 있다.
이 IP가 외부에서 접속할 때 쓰이는 IP다.
그 다음, NAT > 포트 포워딩에 들어가서
로컬 IP 주소 | 외부 IP로 접속하였을 때, 어느 로컬로 들어올 것인지 설정 |
---|---|
프로토콜 | TCP |
포트 범위 | 3306-3306 |
로컬 포트 | 3306 |
설명 | 해당 포트포워딩에 대한 설명 |
의미는 공인IP:3306으로 들어왔을 때 로컬IP:3306으로 보내주겠다. 인 것 같다.
그 다음은 로컬IP:3306 으로 들어온 것을 가상머신의 CentOS DB로 연결시켜주는 작업을 해야한다.
CentOS에서 hostname -I로 ip를 확인하고 (10.0.2.15) 가상머신을 종료해준다.
도움을 주신 블로그
외부 접속이 안되서 검색하다가 도움받고 갑니다! 감사합니다