SSH 밖에 열려있지 않아서 불편해서 사무실에서 사용하는 ip 대역만

MySQL 데이터베이스에 직접 접근 할 수 있도록 열기로 했습니다.

리눅스 서버에는 iptables 를 사용해서 제한하고 있습니다.

현재 설정을 보려면 다음을 입력합니다.

# iptables -L

추가를 하겠습니다.

# iptables -A INPUT -p TCP -s xxx.xxx.xxx.0/24 --destination-port 3306 -j ACCEPT

이제 xxx.xxx.xxx.0 ~ 255 까지의 IP 대에서 접근이 가능합니다.

-A : 새로운 rule 을 추가하는 옵션 (INPUT, FORWARD, OUTPUT)
-p : 사용할 프로토콜을 지정 (TCP, UDP)
-s : 사용할 ip 주소를 지정
--destination-port : 사용할 포트를 지정
-j : 패킷처리방법을 지정(ACCEPT, DROP, REJECT)

추가했던 chain rule 을 제거하는 방법

# iptables -D INPUT -p TCP -s xxx.xxx.xxx.0/24 --destination-port 3306 -j ACCEPT

# iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
# iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


#iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
  ==> mysql 포트 열기


주의사항

위에서 처럼 명령을 사용해서 처리했을 경우 리부팅하면 추가된 설정이 없어지고 적용되지 않습니다.