나는 Wi-Fi로 일합니다. 네트워크에 연결할 때마다 시스템 IP가 변경되기 때문입니다. 내 업무를 위해서는 내 IP를 특정 도메인 이름에 매핑해야 합니다. 그래서 IP를 업데이트하려면 매일 호스트 파일을 변경해야 합니다. 이것은 정말 짜증나는 일이며 해결 방법이 있기를 바랍니다. 따라서 호스트 파일의 해당 도메인 이름에 IP 범위를 추가해야 합니다. 그것을 할 수 있는 방법이 있습니까?
답변1
실제로 DHCP 할당 IP 주소를 호스트 파일에 넣을 필요는 없을 것입니다. 예를 들어, 브라우저가 이를 가리키도록 http://your-domain-here/
하고 로컬 웹 서버가 응답하도록 할 수 있습니다. (다른 클라이언트/서버 설정과 동일) 이 경우 도메인을 다음으로 시작하는 IP인 localhost IP에 매핑하면 됩니다. 127.
127.0.0.1을 사용하면 역방향 조회에 이상한 대답이 나올 수 있으므로 사용하지 않는 것이 좋습니다. 호스트 파일에 없는 새 호스트를 선택하기만 하면 됩니다.
또 다른 옵션은 고정 RFC1918 공간 IP 주소(192.168.xx, 10.xxx, 172.16–31.xx)를 선택하고 이를 로컬 인터페이스에 추가하고 해당 IP 주소를 사용하는 것입니다.
현재 IP 주소에 매핑해야 하는 경우 일반적으로 컴퓨터가 DHCP를 통해 IP 주소를 얻을 때 실행할 어딘가에 쉘 스크립트를 넣을 수 있습니다. dhclient를 사용하면 스크립트를 /etc/dhcp/dhclient-enter-hooks.d/
.dhclient-script(8) 매뉴얼 페이지문서화하지만 다음과 같은(아주 테스트되지 않은) 작업이 작동할 수 있습니다(moreutils 패키지의 "스펀지"를 사용함).
#!/bin/sh
MY_DOMAIN=your-domain.com
if [ "$reason" != "BOUND" ] && [ "$reason" != "REBIND" ]; then
exit 0
fi
grep -v " $MY_DOMAIN\$" /etc/hosts | sponge /etc/hosts # really should escape the dots in the domain, but probably doesn't matter.
printf '%s %s\n' "$new_ip_address" "$MY_DOMAIN" >> /etc/hosts
이것은 매우 테스트되지 않았습니다. /etc/hosts
시도하기 전에 반드시 백업하십시오!
답변2
당신은 쓰기,
나는 Wi-Fi로 일합니다. 네트워크에 연결할 때마다 시스템 IP가 변경되기 때문입니다.
이 두 명령문을 연결하면 안 됩니다. 귀하의 IP 주소는 고정된 값("정적" 주소)으로 수동으로 할당되거나 네트워크의 DHCP 서버에 의해 동적으로("동적" 주소) 할당될 수 있습니다. 시스템이 WiFi 또는 케이블을 통해 연결되어 있는지는 중요하지 않습니다. IP 주소를 얻는 두 가지 옵션이 있습니다.
더욱 흥미로운 점은 DHCP 서버가 네트워크에 연결할 때마다 동일한 IP 주소(때때로 비공식적으로 "고정" 주소라고도 함)를 제공하도록 구성될 수 있다는 것입니다. 이것이 내 홈 네트워크가 설정되는 방법입니다.
서로 다른 네트워크 간에 로밍하는 경우 (일반적으로) 고정 IP 주소를 사용할 수 없으므로 고정 주소가 최선의 접근 방식일 수 있습니다.
반면, 도메인의 호스트 항목이 클라이언트 시스템을 가리키도록 하기만 하면 동적 DNS 공급자를 찾을 수 있습니다. 한 가지 예는 이지만 dyn.com
고려해야 할 다른 많은 것들이 있습니다. IP 주소에 대한 변경 사항을 캡처하고 중앙 서버에 알리는 작은 소프트웨어를 클라이언트에 설치합니다. 귀하의 도메인 이름 항목이 업데이트됩니다. 퍼즐의 마지막 조각은 A
실제 도메인의 레코드를 CNAME
클라이언트 시스템을 가리키는 DDNS 도메인 항목을 가리키는 레코드로 바꾸는 것입니다.
답변3
범위가 지원되지 않기 때문에 호스트 파일의 한 줄에 각 주소를 추가하여 IP 주소 목록을 반복하는 스크립트를 작성하거나, 내 생각에는 가상 머신에서 웹 애플리케이션 NAT를 호스팅하는 것이 더 좋습니다. 호스트 어댑터가 고정 IP 주소를 갖도록 합니다.