IP 주소를 localhost에 매핑하는 방법

IP 주소를 localhost에 매핑하는 방법

따라서 localhost에 매핑하려는 IP 주소 5x.2x.2xx.1xx가 있습니다. 내 호스트 파일에는 다음이 있습니다.

cat /etc/hosts
127.0.1.1 test test
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

5x.2x.2xx.1xx 127.0.0.1

내가 성취하고 싶은 것은 이 컴퓨터에서 5x.2x.2xx.1xx에 연결할 때 localhost로 이동하는 것입니다.

내가 정말로 원하는 것은 다음을 사용하여 MySQL에 연결하는 것입니다.

mysql -uroot 5x.2x.2xx.1xx -p 이 IP 주소를 가리키는 대신 로컬 MySQL 서버를 사용하고 싶습니다.

여전히 서버의 IP(5x.2x.2xx.1xx)로 리디렉션되었기 때문에 작동하지 않았습니다.

나는 또한 시도했습니다 : 행운없이 sudo service nscd restart

답변1

/etc/hosts특정 DNS를 매핑하려면 다음을 사용할 수 있습니다.이름실제 IP 주소와 다른 IP 주소로 연결되지만 애플리케이션이 이미 IP 주소를 지정한 경우 호스트 이름 확인 조작을 기반으로 하는 다른 기술은 쓸모가 없습니다. 애플리케이션에는 연결할 수 있는 완벽한 IP 주소가 이미 있으므로 연결되지 않습니다. 호스트 이름 확인 서비스가 필요하지 않습니다.

아웃바운드 트래픽을 지정된 위치로 리디렉션하려는 경우IP 주소로컬 시스템으로 돌아가면 iptables이 시스템이 필요합니다.

sudo iptables -t nat -I OUTPUT --dst 5x.2x.2xx.1xx -p tcp --dport 3306 -j REDIRECT --to-ports 3306

그러면 시스템에서 기본 MySQL 포트 3306(5x.2x.2xx.1xx)으로 나가는 모든 연결이 다시 시스템의 포트 3306으로 리디렉션됩니다. 분명히 5x.2x.2xx.1xx 및 3306을 실제 IP 주소 및 포트 번호로 바꾸십시오.

위 명령은 즉시 적용되지만 설정을 지속시키기 위해 다른 작업을 수행하지 않는 한 재부팅 후에도 지속되지 않습니다. 하지만 그렇게 할 필요조차 없을 수도 있습니다.

답변2

아니요, 작동하지 않습니다. 시스템이 IP를 볼 때 DNS 조회(호스트 파일 조회도 포함)를 건너뜁니다. 작동한다면 (아마도) 문제가 발생할 것입니다. 어쨌든 파일에는 거꾸로 있습니다.

ip.add.re.ss  hostname

그래서 당신은 원할 것입니다

127.0.1.1  5x.2x.2xx.1xx 

이것은 작동하지 않습니다. 나는 아직도 그것이 일을 망칠 것이라는 느낌을 가지고 있습니다.

하지만 작동하는 방법은 이름을 사용하고 필요한 경우 변경하는 것입니다.

즉,

127.0.1.1 dbhost

그리고 그것을로 변경

5x.2x.2xx.1xx dbhost

필요에 따라. 이름 이 mysql -h dbhost -u root -p어떤 IP를 가리키든 상관없이 항상 연결됩니다...

관련 정보