2012-01-08 3 views
3

큰 인터넷 망에 서버가 있는데 내 홈 시스템에서 mysql 클라이언트를 실행하여 연결하려고합니다. 확실한 보안상의 이유로 MySql 서버가 내 IP 주소 만 연결하도록 허용합니다. 내 현재 IP 주소를 추적하는 dyndns.org 계정이 있습니다. Comcast는 언제든지 내 IP 주소를 변경할 수 있습니다. 물론MySQL 사용자 이름에서 동적 DNS 이름은 어떻게 사용합니까?

ERROR 1130 (HY000): Host 'c-98-234-122-18.hsd1.ca.comcast.net' is not allowed to connect to this MySQL server 

호스트 이름이 MySQL은 보는 것을 : 내가 얻을 내 홈 시스템에서이 서버에 연결하려고 할 때 그래서

CREATE USER 'user'@'mememe.dyndns.org' IDENTIFIED BY 'changeme'; 
GRANT ALL PRIVILEGES ON mydata TO 'user'@'mememe.dyndns.org'; 

:

그래서 이런 사용자를 생성 IP 주소에 대한 RDNS 조회가 무엇입니까? 내가 원하는 건 dyndns.org 이름을 알아내는 것입니다. 이 일을 할 수있는 방법이 있습니까? 이 작업을 수행 할 수있는 방법이없는 경우

이 내가 그들 중 와일드 카드 또는 특정 IP 주소와 사용자 이름을 생성하도록 강요하고 있음을 의미합니까?

답변

3

문제는 컴캐스트의 호스트 이름이 해당 IP의 표준 역방향 조회 이름, 그리고 당신의하는 DynDNS 한 것입니다. MySQL에서 당신이하고 싶은 것은 전혀 불가능할 수도 있습니다.

그러나, 당신은 당신의 자신의 서버가있는 경우, 어떻게 다른 각도에서이 문제를 다루는 약 - MySQL의 내부에서 어떤 IP에서 연결을 허용하지만, IP 기반 필터링을 수행하는 서버의 방화벽을 사용하고 계십니까? 본격적인 방화벽 제품에는 이와 같은 문제를 해결할 가능성이 더 많습니다.

This blog post

예를 들어, 동적 DNS 호스트에서 iptables에 레코드를 업데이트하는 방법을 보여줍니다. 어쩌면 그것은 시작 일 것입니다. 그렇지 않으면 "Linux Firewall Dyndns"또는 "iptables dyndns"와 같은 검색 쿼리로 인해 솔루션이 나타날 수 있습니다.

은 또한 이것에 대해 Serverfault에 별도의 질문을 가치가있을 수도 있습니다.

+0

나는 iptables 필터를 사용할 줄 알았지 만 먼저 "순수 MySQL"방식을 사용하지 않았는지 확인하려고했습니다. 나는 아직 MySQL에 익숙하지 않기 때문에 불가능한 솔루션을 구현하려고 할 때 시간을 낭비하지 않는 것이 좋습니다. – AlanObject

+0

@ Alan yeah. 나는 mySQL 전문가는 아니지만, 이렇게 할 방법이 없다고 확신한다. mySQL의 IP 필터링은 의도적으로 매우 기본적이다. iptables는 갈 길처럼 들립니다. –

4

엄격하게 불가능하다 당신이 달성하고자,

  • MySQL을 해결 호스트 이름으로 IP를 연결 (c-98-234-122-18.hsd1.ca 이벤트가 MySQL로

    1. 사용자가 연결 흐름을 고려 .comcast.net)
    2. MySQL은 MySQL은 지금까지 'mememe.dyndns.org'찾아 않는 어떤 시점에서 권한
    3. 이 (사용자, 호스트 이름) 튜플

    을 찾습니다.

  • +0

    실망 스럽지만 매우 유용한 데이터 요소입니다. 내가 이것이 내가 직접 질문에 대답 할 수 있었던 논리라고 알고 있었다면. – AlanObject

    관련 문제