홈 네트워크에서 사용할 홈 서버의 호스트 이름을 설정하는 데 많은 어려움을 겪고 있습니다. 내 홈 서버는 Ubuntu 12.04 LTS를 실행하고 있으며 모든 패키지가 최신 상태입니다. 이 서버의 관리는 GUI가 아닌 SSH만을 사용하여 수행됩니다. 여러 Windows 컴퓨터와 Android 장치에서 웹 페이지와 삼바 공유에 액세스하기 위해 주로 서버 호스트 이름을 사용하고 싶습니다.
내 홈 서버는 DHCP를 사용하여 Linksys WRT54GC에서 (정적) IP 주소를 얻습니다. 둘 다 호스트 이름으로 "homeserver"를 추가했습니다 /etc/hosts
. 기본 설정은 Ubuntu 소스 코드에 따라 작동해야 하므로 /etc/hostname
이를 조작하지 않았습니다 ./etc/dhcp/dhclient.conf
라우터는 DHCP 클라이언트의 호스트 이름만 확인할 수 있습니다. 일부 최신 제품처럼 고객 이름을 편집할 수는 없습니다. 내 Windows PC의 호스트 이름은 모두 라우터에서 인식됩니다. 호스트 이름을 사용하여 이러한 컴퓨터에 ping을 보낼 수도 있습니다. 그래서 내 라우터에서는 모든 것이 괜찮은 것 같습니다.
Linksys WRT54GC는 ISP로 구성된 DSL 모뎀/라우터에 캐스케이드됩니다. 모든 인터넷 트래픽은 DSL 모뎀/라우터의 DMZ에 있기 때문에 Linksys로 라우팅됩니다. DSL 모뎀/라우터의 IP 주소는 192.168.1.1이고 Linksys IP 주소는 192.168.2.1입니다. Linksys는 고정 IP 주소로 구성됩니다. Linksys의 DNS 서버는 192.168.1.1로 구성됩니다. Linksys 보고서에 연결된 모든 클라이언트에는 192.168이 있습니다.1.1은 DNS 서버 역할을 합니다.
이 문제는 다음과 관련이 있을 수 있습니다.이것허점. 13.04부터 패키지를 설치
했지만 isc-dhcp-client
작동하지 않았습니다. Ubuntu 12.04 LTS(및 13.04)에서 이 오류가 지속되는 경우 해결 방법을 알고 싶습니다.
편집 #1
OP게시된 내용파일: /etc/dhcp/dhclient.conf
:
# Configuration file for /sbin/dhclient, which is included in Debian's
# dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
# man page for more information about the syntax of this file
# and a more comprehensive list of the parameters understood by
# dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
# not leave anything out (like the domain name, for example), then
# few changes must be made to this file, if any.
#
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers,
dhcp6.domain-search, dhcp6.fqdn,
dhcp6.name-servers, dhcp6.sntp-servers;
#require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;
#script "/etc/dhcp3/dhclient-script";
#media "-link0 -link1 -link2", "link0 link1";
#reject 192.33.137.209;
#alias {
# interface "eth0";
# fixed-address 192.5.5.213;
# option subnet-mask 255.255.255.255;
#}
#lease {
# interface "eth0";
# fixed-address 192.33.137.200;
# medium "link0 link1";
# option host-name "andare.swiftmedia.com";
# option subnet-mask 255.255.255.0;
# option broadcast-address 192.33.137.255;
# option routers 192.33.137.250;
# option domain-name-servers 127.0.0.1;
# renew 2 2000/1/12 00:00:01;
# rebind 2 2000/1/12 00:00:01;
# expire 2 2000/1/12 00:00:01;
#}
답변1
DHCP 서버가 이를 지원하는 경우 클라이언트가 원하는 호스트 이름을 보내도록 할 수 있습니다. 파일에 다음 내용을 추가합니다 /etc/dhcp/dhclient.conf
.
send host-name 'your-hostname-here';
myhost 대신 정규화된 도메인 이름(fqdn)인 myhost.mydomain.com을 보내려면 다음 줄도 추가해야 합니다.
send fqdn.fqdn "myhost.mydomain.com.";
send fqdn.encoded on;
send fqdn.server-update off;
also request fqdn, dhcp6.fqdn;
편집 #1
OP는 다음 명령을 시도하고 다시 보고하도록 요청받습니다.
dig <hostname> @<router ip>
OP는 이것이 효과가 있다고 보고하여 라우터의 IP를 그의 dhclient.conf
파일에 명시적으로 추가하기로 결정했습니다.
편집 #2
/etc/dhcp/dhclient.conf
파일 에 다음을 추가해 보는 것이 좋습니다 .
prepend domain-name-servers 192.168.2.1;
편집 #3
이제 192.168.2.1을 추가할 때 라우터의 DNS 서버를 사용하여 서버를 핑할 수 있지만 서버는 핑할 수 없으므로 다음과 같이 위의 접두사 옵션을 사용하여 일부 외부 DNS 서버도 추가하는 것이 좋습니다.
prepend domain-name-servers 192.168.2.1, 8.8.8.8, 8.8.4.4;
그러면 라우터가 Google의 DNS 서버와 함께 DNS 확인자로 추가됩니다.
답변2
다른 답변의 유용한 제안 외에도 avahi 제품군(일명 Zeroconf, 일명 Apple Bonjour)은 로컬 mDNS 정보를 전달하고 해결하는 데 매우 유용합니다.
홈 네트워크 호스트에서 avahi-daemon을 실행하면
ping tallguy.local
호스트 이름을 설정하는 것 외에는 구성이 필요하지 않습니다 tallguy
.
답변3
일부 라우터는 netbios
호스트 이름만 사용합니다.
데비안에서는 할 수 있습니다
sudo apt-get install samba
올바르게 설정 되면 /etc/hostname
재부팅할 필요 없이 네트워크에 표시됩니다.
이것은 RaspberryPi, Beaglebone Black 및 내가 아는 한 Ubuntu에서도 작동합니다.