Rasperry Pi의 Raspbian Linux에서 DHCP 클라이언트를 비활성화하는 방법이 있습니까?


15

고정 IP 만 사용해야하는 Linux 서버 (Raspbian을 OS로 사용하는 Rasperry Pi)가 있습니다.

그러나 DHCP 서버에서 IP를 얻었습니다 (DHCP에서 제공 한 IP는 192.168.111.2). 네트워크 설정에 따라 서버는 고정 IP ( 192.168.111.100) 만 사용해야합니다 .

내용 /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.111.100
netmask 255.255.255.0
gateway 192.168.111.1
dns-nameservers ip1 ip2

정적 구성을 사용하더라도 DHCP에서 제공 한 IP를 사용하여 장치에 SSH로 연결할 수 있습니다. 또한 ntpd올바른 IP뿐만 아니라 잘못된 IP를 사용하고있는 것으로 보입니다 .

Netstat의 출력 :

udp        0      0 192.168.111.2:123       0.0.0.0:*                           2774/ntpd
udp        0      0 192.168.111.100:123     0.0.0.0:*                           2774/ntpd

ifconfigIP 에 따르면 192.168.111.2사용되지 않습니다 :

eth0      Link encap:Ethernet  HWaddr b8:27:eb:be:18:1c
          inet addr:192.168.111.100  Bcast:192.168.111.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:138099 errors:0 dropped:0 overruns:0 frame:0
          TX packets:81146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:95954711 (91.5 MiB)  TX bytes:27076870 (25.8 MiB)

ps -ef | grep dhcp DHCP 데몬이 실행 중임을 나타냅니다.

root      2000     1  0 Oct07 ?        00:00:06 /sbin/dhcpcd

DHCP데몬이 시작되지 않도록 비활성화하고 서버가 정적 서버 만 사용하도록 하려면 어떻게해야 합니까?


당신이 말하는 명령은 무엇입니까?
Madoc Comadrin 5

나는 그 명령을 시도했지만 이것에 도움이되는 것을 찾을 수 없었습니다.
Madoc Comadrin

@barlop 아무런 문제가 없으며 ifconfig정기적으로 사용됩니다. 언젠가는 대체 될 ip것이지만 정직하게 말하면, 오줌 싸기 대회가 아니기 때문에“더 나은”사람을 오소리하는 것은 아무 의미가 없습니다. ifconfig이와 같은 것들을 디버깅하기에 충분한 세부 정보를 제공합니다.
JakeGould

답변:


11

고정 IP가 설정되어있는 경우 설명에 따라 설정이 작동하고 작동하기를 원하기 때문에이 시나리오는 정말 이상하게 들립니다 /etc/network/interfaces. 즉, 공식 Raspberry Pi 사이트에 대한이 토론은 "rpdom"사용자가 "2015 년 5 월 28 일 목요일 오전 6:21 오전"게시물에이를 언급 한 문제에 중점을 둡니다.

이것은 최신 업데이트에서 발생합니다. 인터페이스 파일의 기능을 무시하고 자체 작업을 수행하는 새로운 dhcp 클라이언트로 인해 발생합니다. 나는 dhcp 클라이언트를 재구성하는 방법 (어떻게 또는 그것을 수행 할 수 있는지, 여전히 나를 위해 일하는 오래된 것입니다), 비활성화 또는 제거 (가능한 경우) 방법을 살펴볼 것입니다.

스레드 사용자 "KLL"에서 더 깊은 것은 " 2015 년 8 월 10 일 월요일 오후 12시 59 분"이라는 응답의 다른 게시물 을 제안 합니다 . "knute"에 따르면 :

어딘가에 업그레이드 /etc/network/interfaces가 dhcp 또는 static 대신 'manual'단어로 파일을 수정 한 결과 두 개의 IP 주소, 내 정적 주소 및 dhcp 주소가 생겼습니다. 나는 마침내 그것을 가지고 놀 시간이 있었고 dhcpcd5그것이 이전에 있던 것과 다른 방식으로 작동 한다는 것을 알았습니다 . 고정 주소 만 얻으려면 수정하지 마십시오 /etc/network/interfaces. '수동'단어를 변경 한 경우 다시 바꾸고 /etc/dhcpcd.conf문서의 예에 표시된대로 수정 하십시오.

아이디어는 dhcpcd5업그레이드 중 하나에서 동작이 변경 되었다는 것입니다 . 이 문제를 해결하기위한 제안 은 고정 IP 주소를 얻기 위해 /etc/network/interfaces설정을 변경 하고 대신 설정을 조정하는 것입니다 /etc/dhcpcd.conf. 아래 구성 예 :

static <value>
             Configures a static <value>.  If you set ip_address then dhcpcd
             will not attempt to obtain a lease and just use the value for the
             address with an infinite lease time.

             Here is an example which configures a static address, routes and
             dns.
                   interface eth0
                   static ip_address=192.168.0.10/24
                   static routers=192.168.0.1
                   static domain_name_servers=192.168.0.1

자세한 내용은 공식 매뉴얼 페이지에서dhcpcd.conf 찾을 수 있습니다 .

즉, 다른 아이디어는 설정을 유지 /etc/network/interfaces한 다음 DHCP 데몬이 완전히 무시하도록 지시 /etc/dhcpcd.conf하는 행 denyinterfaces eth0을 추가하도록 편집 하는 것 eth0입니다. 어느 솔루션이든 작동하지만 전체 네트워킹 요구 / 요구 사항에 따라 하나의 솔루션이 더 선호되는 솔루션 일 수 있습니다.


2
내 사건은 여기에 설명 된 것과 거의 동일합니다. 유일한 차이점은 내 Raspberry Pi 포럼 사례와 같이 /etc/network/interfaces변경되지 않았다는 manual것입니다. 제안 된 솔루션도 저에게 효과적이었습니다.
Madoc Comadrin

1
"정적"인 경우에도 eth0에 dhcp가 표시됩니다. 이것은 여전히 ​​jessie-lite 설치의 문제입니다. 해결 방법은 eth0 인터페이스보다 메트릭을 낮추기 위해 wlan0 인터페이스가 필요하고 dhcpcd5를 사용하여 지금까지 할 수 없기 때문에 아직 도움이되지 않습니다.
피터 한센

3
해결 방법 했던 나를 위해 일하지만, eth0를보고하지 dhcpcd5 말이었다. 이것은 /etc/dhcpcd.conf에 "denyinterfaces eth0"을 추가하여 수행되었습니다.
피터 한센

1
@PeterHansen 알고 싶습니다! 내 답변 끝에 해당 정보를 추가했습니다.
JakeGould

2
후속 조치 : 경우에 따라 주소를 할당하는 dhcpcd5와 isc-dhcp-client가 모두 설치되어 있음을 알았습니다. 또한 모든 인터페이스 (옵션 -q -b)와 네트워크 / 인터페이스의 "dhcp"옵션으로 시작된 dhcpcd5 프로세스에서 실행되는 시스템 시작 dhcpcd.service가 있습니다. 한숨 .. 일단 당신이 모든 것을 알면 해결하기가 쉬워요.
피터 한센

8

나를 위해 일한 것은 원래 질문에서와 같이 / etc / network / interfaces를 사용하고 단순히 dhcp 클라이언트를 제거하는 것입니다.

apt-get remove dhcpcd5 isc-dhcp-client isc-dhcp-common

DHCP에 관심이없는 시나리오 (또는 dhcpcd가 수행 할 수있는 모든 작업)에서 가장 쉬운 솔루션입니다.
AVee

1

불행히도 여기에 제안 된 솔루션 중 어느 것도 나를 위해 일하지 않았다고 말해야합니다. 그러나 DHCP와의 오랜 전투 끝에 마침내 문제를 해결할 수있었습니다.

vi /etc/systemd/network/eth0.network

변화:

[Match]
Name=eth0

[Network]
DHCP=yes

에:

[Network]
DHCP=no

도움이 되었기를 바랍니다.


1

dhcpcd와 같은 서비스를 비활성화하는 가장 좋은 방법은 시스템 관리 기능을 사용하는 것입니다. 서비스를 중지하지 않는 한 적용하려면 재부팅해야합니다.

Jessie ( systemd관리 사용 )의 경우 :

sudo systemctl disable dhcpcd.service

이전 Wheezy ( System-V관리)의 경우 :

sudo update-rc.d dhcpcd disable

그러나 비활성화하면 정적 IP 구성이 있는지 확인해야합니다. /etc/network/interfaces그렇지 않으면 인터페이스에 IP 주소가 표시되지 않습니다.


0

Raspbian Jessie 2017-01-11에 필요한 작업을 요약하면 다음과 같습니다.

/ etc / network / interfaces를 편집하고 정적 주소 스탠자를 추가하고 정적 인터페이스에 대한 다른 참조를 제거하십시오 (이 경우 eth0). 자동 회선이 중요합니다. 그렇지 않으면 부팅시 인터페이스가 시작되지 않습니다.

    auto eth0
    iface eth0 inet static
      address 192.168.44.17
      netmask 255.255.255.0
      gateway 192.168.44.27

다음으로 dhcpcd를 비활성화하고 표준 네트워킹을 활성화하십시오.

  • dhcpcd 비활성화 : systemctl disable dhcpcd.service
  • 네트워킹 활성화 : systemctl enable networking
  • 재부팅

2017-01-11 릴리스 기준 Raspbian Jessie는 systemd의 네트워킹을 사용하지 않는 것 같습니다


0

몇 가지를 시도하고 그것을 발견

 apt list --installed | grep dhcp

녹이다:

dhcpcd5 
isc-dhcp-client
isc-dhcp-common

방금 비활성화 dhcpcd5하고 다음을 사용하여 수정했습니다.

 sudo apt-get remove dhcpcd5

재부팅하고 모두 멋있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.