[완료] MySQL 의 랜덤포트 오픈의 범위를 지정해 줄수 있나요?

maindb의 이미지

MySQL 의 경우 3306 을 통해 소켓 통신을 하지만

웹, MySQL 이 같은 서버에 설치되어 localhost 접속만 한다고 할지라도

iptables 로 OUTPUT 을 막아 버리면
이게 접속이 안되더군요.

이유는 어찌되었건
내부적으로는 랜덤 포트를 열어 그곳에 할당을 하는것 같습니다.
FTP 서버 데몬 처럼요.
그렇게 때문에 FTP 데몬들은 일반적으로 설정 파일에서 OPEN 할 포트 범위를
min , max 설정 값을 통해 지정해 줄수 있는데
MySQL 도 가능한지 궁금 합니다.

iptables 기본정책이 INPUT, OUTPUT 모두 Drop 이라서
열거 열고... FTP 에서 막혀서 해메다가 해결했는데
MySQL 도 마찬가지로 랜덤 포트를 쓰네요.

MySQL 은 어떻게 하면 좋을까요?

조언 부탁드립니다.

monovision의 이미지

iptables -A OUTPUT -i lo -j ACCEPT

iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT

iptables -A OUTPUT -p tcp -m state --state RELATED, ESTABLISHED -j ACCEPT

이정도면 되지 않을까 합니다.

maindb의 이미지


흠.. 안되네요..

근데..

OUTPUT 에
-i lo -j ACCEPT 이건 Can't Use 라는 에러가 나네요

김정균의 이미지

iptables -A OUTPUT -s 127.0.0.0/8 -j ACCEPT

로 하시면 되기는 합니다만.. 이것 보다는 unix domain 으로 mysql 을 접근 하는 방법도 있습니다.

mysql 이 tcp localhost 로 연결을 하면 자동으로 unix domain 으로 연결을 하기는 하는데, OUTPUT 을 막았을때 연결이 되지 않는다면, 아마도 tcp/ip layer 를 거치거나 체크를 하기는 하는가 봅니다.