소개하다

소개하다

소개하다

Windows Server 기반 네트워크에 연결된 Rasbian을 실행하는 Raspberry Pi가 있습니다. 이는 연결된 모든 컴퓨팅 시스템과 공개적으로 액세스할 수 있는 웹 사이트로 구성된 자체 인트라넷을 갖춘 기업(교육) 네트워크입니다. 이 질문의 목적에 따라 도메인 이름은 으로 지정됩니다 exampledomain.com.

이 인트라넷에서 연결된 Windows 컴퓨터는 네트워크 어댑터 구성을 통해 호스트 이름에 DNS 접미사를 추가할 수 있습니다(나열된 단계).여기). 이렇게 하면 해당 이름을 가진 컴퓨터가 로컬 네트워크를 통해 주소를 지정할 수 있습니다 comp1(예: 연결별 접미사로 나열됨).comp1comp1.ns.exampledomain.comipconfigns.exampledomain.com

질문

comppi나는 address 를 통해 액세스해야 하는 호스트 이름을 가진 Raspberry Pi 2를 가지고 있습니다 comppi.ns.exampledomain.com. Pi는 현재 호스트 이름 comppi, 사용법 comppi.local또는 IP 주소를 통해 액세스할 수 있습니다 .

호스트 이름을 통한 액세스는 Samba를 사용하여 RPi에 Samba를 설치함으로써 이루어집니다 sudo apt-get -y install samba. avahiRPi에서 설정하는 쉬운 방법은 다음과 같습니다 .

관련 DHCP/DNS 서버에 액세스할 수 없습니다. 하지만 필요 없이 이 결과를 얻을 수 있어야 합니다. (Windows 컴퓨터에서 할 수 있으므로 필요하지 않습니다.)

/etc/dhcp/dhclient.conf또한 관련 페이지를 읽은 후에도 man문서에 대한 이해가 매우 좋지 않다는 점을 지적하고 싶습니다 . 아마도 사소한 것이 빠졌을 것입니다.

현재 시도

  • 호스트 이름을 comppi.ns.exampledomain.com다음 파일의 모든 항목으로 직접 변경해 보세요.
  • 호스트 이름 줄을 send host-name = "comppi.ns.exampledomain.com"in 으로 변경해 보세요 /etc/dhcp/dhclient.conf.
  • 사용자 Jordan over append domain-name = "ns.exampledomain.com"에 라인을 추가해 보세요 ./etc/dhcp/dhclient.confaskubuntu.com. 하지만 이는 ns.exampledomain.com실패 시 나가는 호스트 이름 확인에 추가된 것일 뿐입니다.

기술적 인 정보

  • 운영 체제: Raspbian GNU/Linux 8(Jessie)(참고: 이는 단순화된 버전입니다)
  • 라즈베리 파이: 라즈베리 파이 2
  • 호스트 이름:comppi

문서

내용은 /etc/network/interfaces변경되지 않습니다.

콘텐츠 /etc/hostname:

comppi

콘텐츠 /etc/hosts:

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1       comppi comppi.ns.exampledomain.com

콘텐츠 /etc/dhcp/dhclient.conf:

# Configuration file for /sbin/dhclient, which is included in Debian's
#       dhcp3-client package.

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

#send host-name = gethostname();
send host-name = "comppi"
append domain-name = "ns.exampledomain.com"
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

답변1

Windows 클라이언트가 Active Directory의 일부인 경우 해당 이름은 자동으로 DNS에 등록됩니다(귀하의 경우에는 그런 것 같습니다). 이는 DDNS(동적 DNS)라는 프로세스를 사용합니다. Windows DDNS에 Linux 컴퓨터를 등록하는 가장 쉬운 방법은 Samba를 사용하여 Linux 컴퓨터를 Windows 도메인에 가입시키는 것입니다. Windows 도메인에 가입하려면 권한이 필요합니다. Linux에서 Windows 도메인에 가입하는 방법에 대한 세부 정보를 제공하는 인터넷 가이드가 많이 있지만 다음은 간단한 단계입니다.

먼저 /etc/krb5.conf에 도메인 이름 정보를 추가하세요.

[realms]
    NS.EXAMPLEDOMAIN.COM = {
    }

[domain_realm]
    .ns.exampledomain.com = NS.EXAMPLEDOMAIN.COM
    ns.exampledomain.com = NS.EXAMPLEDOMAIN.COM

그런 다음 도메인에 가입하도록 smb.conf를 구성합니다.

[global]
workgroup = EXAMPLEDOMAIN
realm = NS.EXAMPLEDOMAIN.COM
security = ADS

그런 다음 를 실행합니다 net ads join -U windowsuser. 여기서 windowsuser는 도메인에 가입할 수 있는 권한이 있는 사용자입니다.

이렇게 하면 컴퓨터가 Windows 도메인에 가입되고 컴퓨터의 IP 주소가 Windows DNS에 등록되어 다른 사람이 comppi.ns.exampledomain.com및 이름을 사용하여 comppi컴퓨터에 액세스 할 수 있습니다.

답변2

따라서 comppi.ns.exampledomain.com네트워크 문제를 해결하려면 다음과 같은 이유로 DHCP 서버 관리자의 도움이 필요합니다. 이 답변의 맨 아래에리눅스옵션

윈도우 환경

LINUX 클라이언트는 추가 소프트웨어가 설치되지 않는 한 AD(Active Directory)를 인식하지 못합니다. 따라서 적절하게 구성된 Windows 환경에서는 DHCP 서버를 사용하여 DNS 서버를 업데이트해야 합니다.
DHCP 서버가 로컬 DNS 서버에 호스트 이름을 등록하려면 동적 업데이트 인증이 필요합니다. 이 설정은 사용자가 구성할 수 없으므로 네트워크 관리자가 수정해야 합니다. 예, 이 설정이 작동하려면 이 설정이 필요합니다.
DHCP 서버DHCP 서버의 IP 주소 외에도 이 네트워크에 대한 도메인 접미사도 받습니다. 이 접미사는 호스트에 저장되어 나중에 사용됩니다. DHCP 서버와 DNS 서버가 동일한 시스템에 있지 않는 한 동적 업데이트를 수행하려면 DHCP 서버가 DNS 서버를 인증해야 합니다.

이 시점에서 DHCP 서버는 DNS 네트워크 등록을 완료해야 합니다. 클라이언트 호스트에 의해 제어되지 않지만 호스트가 요청해야 합니다. 현재 데비안은 자동으로 DNS 등록을 요청합니다.

Windows에서는 강제 재등록을 사용할 수 있습니다 ipconfig /registernds.

로컬 네트워크에서 호스트는 일반 호스트 이름과 호스트 이름에 도메인을 더한 두 가지 "법적" 이름과 방법을 사용하여 사용자를 찾을 수 있습니다. 접미사 " .local"는 종종 생략되며 다른 접미사가 추가되는 것을 피하기 위해 사용됩니다.

1첫 번째 방법은 DNS를 사용하지 않습니다. LAN 브로드캐스트 호스트를 사용하여 "이 이름을 아는 사람"을 물어보면 대상 호스트가 MAC 주소와 IP로 응답합니다.

몇 초마다 호스트는 LAN을 공유하는 다른 사람들이 자신의 존재를 알 수 있도록 자신의 이름을 브로드캐스트합니다. 일반적으로 이 방송은 스위치/라우터에 의해 필터링되므로 동일한 스위치에 있지 않으면 안정적으로 만들기가 어렵습니다.
여기에 이미지 설명을 입력하세요.

2두 번째 방법은 LAN 접미사가 있는 "일반" 호스트 이름을 사용하여 LAN 특정 DNS 서버에 요청을 보내는 것입니다.

홈 라우터와 인트라넷은 공용이 아니므로 기본 DNS 서버에서 범용 DNS(8.8.8.8, 8.8.4.4)를 사용하면 로컬 호스트가 전혀 확인되지 않습니다. DHCP 할당 주소가 있는 각 로컬 호스트는 라우터에 의해 "기억"됩니다.

호스트에서 DNS 주소를 확인할 때 하나 이상의 필수 접미사를 추가할 수 있습니다(Linux host또는 digWindows 사용 nslookup).

여기에 이미지 설명을 입력하세요.

호스트 이름을 올바르게 설정하는 것이 좋습니다. On /etc/hostname및 Also on /etc/hosts(:1 및 127.0.0.1의 경우)을 실행한 다음 . /etc/init.d/hostname.sh.

Linux에서 DNS 서버를 수동으로 업데이트

클라이언트의 수동 협력이 필요한 또 다른 옵션이 있습니다. 잘 알려지지 않은 유틸리티 사용nsupdate. 그러면 유효한 DNS 서버에 등록하는 데 필요한 기능이 추가됩니다. 이는 RFC에서 게시한 DNS 관련 프로토콜을 따릅니다.

예:

$ nsupdate -v
>delete video.domain.com. a
>delete  git.domain.com. a
>delete  gateway.domain.com. a
>add  video.domain.com. 600 a 192.168.1.111
>add  git.domain.com. 600 a 192.168.7.10
>add  gateway.domain.com. 600 a 192.168.7.10
>send
>quit

동적으로 얻은 IPV4 또는 IPv6 주소로 간단한 파일을 생성하고 "포스트업" 스크립트에서 실행할 수 있습니다./etc/network/interfaces

답변3

Raspbian Jessie를 실행하는 Raspberry Pi에서 DHCP 클라이언트는 /sbin/dhcpcd. 불행하게도 DNS 접미사 지정을 허용하지 않는 다른 구성 파일을 사용합니다.

ps -ef | grep -i [d]hcp
root       720     1  0 10:16 ?        00:00:00 /sbin/dhcpcd -q -w

다행히 이 시스템이 설치되었으며 DNS 접미사를 지정할 수 있는 구성 파일이 resolvconf있었습니다 ./etc/resolvconf.conf

search_domains_append=ns.exampledomain.com

두 개의 Jessie Pi가 서로 다른 설치 구성을 가져야 하는 이유를 전혀 확신할 수 없지만 이는 다른 날에 질문이 될 수 있습니다. 비교를 위해 내 Debian Wheezy 시스템 중 일부에 표시된 DHCP 클라이언트 프로세스의 또 다른 예는 다음과 같습니다.

# This uses /etc/dhcp/dhclient.conf and is not what I have on my Pi
ps -ef | grep -i [d]hcp
root      1683     1  0 09:58 ?        00:00:00 dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

관련 정보