IP를 하위 도메인으로 지정

IP를 하위 도메인으로 지정

도메인이나 하위 도메인이 일부 IP를 가리키는 것은 매우 일반적입니다.

그러나 나는 그 반대를 하고 싶습니다:

IP 42.42.42.42를 하위 도메인으로 지정하고 EG를 test.example.com으로 지정하고 싶습니다. 따라서 42.42.42.42를 방문하면 test.example.com의 콘텐츠가 표시됩니다.

/etc/hosts 편집을 시도했지만 작동하지 않습니다. IP를 하위 도메인으로 지정할 수 없는 것 같습니다.

어떤 아이디어? 모든 Google 검색을 통해 도메인을 IP로 리디렉션하는 방법을 설명하는 튜토리얼로 이동합니다... 하지만 그 반대의 방법이 필요합니다.

업데이트: 저는 IP와 도메인 이름을 소유하지 않습니다.

답변1

이를 위해서는 DNS가 필요하지 않습니다.

test.example.comhttpd 구성의 서버 블록 에 IP를 별칭으로 추가하기만 하면 됩니다 .

아파치의 예:

<VirtualHost *:80>
    DocumentRoot "/www/example1"
    ServerName test.example.com
    ServerAlias 42.42.42.42

    # Other directives here
</VirtualHost>

답변2

[하위]도메인을 IP 주소로 지정하는 것은 쉽습니다. 호스트 이름을 IP 주소로 확인하는 것은 HTTP 연결을 만드는 일반적인 절차의 일부이기 때문입니다.

IP 주소를 다른 도메인 이름으로 가리키려면 실제로 프로세스에 또 다른 DNS 확인 단계를 도입해야 합니다. 이는 HTTP 프로토콜 수준에서 수행될 수 있습니다. 이것이 바로 HTTP 리디렉션입니다. 하지만 이를 위해서는 42.42.42.42 IP 주소에서 대상 시스템을 제어해야 합니다. 더 낮은 프로토콜 계층에는 실제로 또 다른 DNS 확인을 도입할 수 있는 기능이 없습니다. 하지만 test.example.com의 IP 주소를 미리 조회해 보면 42.42.42.42 대신 해당 IP 주소로 대체하는 것도 가능합니다.

IP 주소를 리디렉션하려면 클라이언트 시스템, 해당 네트워크 또는 리디렉션하려는 IP 주소를 보유하는 시스템을 제어해야 합니다. 대상 IP 주소를 제어하지 않는다고 하셨으므로 클라이언트 측에서 제어해야 합니다.

클라이언트 시스템을 제어하는 ​​경우 iptablesOUTPUT 규칙 체인의 DNAT 규칙을 사용하여 트래픽을 42.42.42.42에서 대상 FQDN으로 리디렉션할 수 있습니다. 그렇게 하면 규칙을 구성할 때 대상 FQDN에 대한 이름 확인이 한 번만 수행됩니다. 따라서 리디렉션은 실제로 하나의 IP 주소를 다른 IP 주소로 대체합니다. 클라이언트의 규칙은 다음과 같습니다.

iptables -t nat -A OUTPUT -p tcp -d 42.42.42.42 --dport 80 -j DNAT --to-destination test.example.com:80

클라이언트의 네트워크를 제어하는 ​​경우 일반 WWW 프록시(클라이언트가 제어할 수 있는 프록시를 사용하도록 구성된 경우) 또는 투명 프록시(명시적인 프록시 구성이 없는 경우)에서 리디렉션을 수행하는 옵션도 있습니다. 클라이언트).

관련 정보