Database/Mysql
mysql port 설정
LukeHan1128
2020. 11. 26. 20:00
반응형
외부 접속 허용
확인
- local 에서만 접속 가능한 상태
mysql> SELECT Host,User,authentication_string FROM mysql.user;
+----------------+------------------+-------------------------------------------+
| Host | User | authentication_string |
+----------------+------------------+-------------------------------------------+
| localhost | root | *8024A6913C57E024BDFC6E813A57DFB924E6803A |
| 127.0.0.1 | root | *8024A6913C57E024BDFC6E813A57DFB924E6803A |
| ::1 | root | *8024A6913C57E024BDFC6E813A57DFB924E6803A |
| localhost | debian-sys-maint | *02CE4A6D8F13BE579AC2468F0357B9D1468025A7 |
+----------------+------------------+-------------------------------------------+
변경
모든 IP 허용
INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('%','root',password('패스워드'),'','','');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
IP 대역 허용 (예 : 111.222.xxx.xxx)
INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('111.222.%','root',password('패스워드'),'','','');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'111.222.%';
FLUSH PRIVILEGES;
특정 IP 하나만 허용 (예 : 111.2222.33.44)
INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('111.222.33.44','root',password('패스워드'),'','','');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'111.222.33.44';
FLUSH PRIVILEGES;
원상복구
DELETE FROM mysql.user WHERE Host='%' AND User='root';
FLUSH PRIVILEGES;
iptables 설정
특정 포트를 외부에서 접속할 수 있도록 열기
iptables -I INPUT 1 -p tcp --dport 12345 -j ACCEPT
I: 새로운 규칙을 추가한다.
p: 패킷의 프로토콜을 명시한다.
j: 규칙에 해당되는 패킷을 어떻게 처리할지를 정한다.
이 명령은 외부에서 들어오는(INBOUND) TCP포트 12345의 연결을 받아들인다는 규칙을 방화벽 1번 방화벽 규칙으로 추가한다는 의미이다.
이렇게 추가한 규칙은 조회나 삭제가 가능하다.
추가한 설정 조회하기
iptables -L -v
L : 규칙을 출력
v : 자세히
추가한 설정 삭제하기
규칙번호로 삭제하기
iptables -D INPUT 1
추가한 규칙으로 삭제하기
iptables -D INPUT -p tcp --dport 12345 -j ACCEPT
D : 규칙을 삭제
반응형