
고정 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
ifconfig
IP 에 따르면 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
데몬 시작을 비활성화하고 서버가 정적만 사용하도록 하려면 어떻게 해야 합니까 ?
답변1
에 고정 IP가 설정되어 있는 경우 설정이 설명대로 작동하고 작동하기를 바라기 때문에 이 시나리오는 정말 이상하게 들립니다 /etc/network/interfaces
. 즉,공식 Raspberry Pi 사이트에 대한 이 토론이 문제는 "2015년 5월 28일 목요일 오전 6시 21분"이라는 게시물에서 사용자 "rpdom"이 언급한 문제에 초점을 맞췄습니다.
최신 업데이트에서 이런 일이 발생합니다. 이는 인터페이스 파일의 기능을 무시하고 추가로 자체 작업을 수행하는 새로운 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
업그레이드 중 하나에서 의 행동이 변경되었다는 것입니다. 문제를 해결하기 위한 제안은 모든 변경 사항을 제거 /etc/network/interfaces
하고 대신 설정을 조정하여 /etc/dhcpcd.conf
고정 IP 주소를 얻는 것입니다. 아래 구성 예:
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
나에게 도움이 된 것은 원래 질문에서와 같이 /etc/network/interfaces를 사용하고 단순히 dhcp 클라이언트를 제거하는 것입니다.
apt-get remove dhcpcd5 isc-dhcp-client isc-dhcp-common
답변3
dhcpcd와 같은 서비스를 비활성화하는 가장 좋은 방법은 시스템 관리 기능을 사용하는 것입니다. 서비스를 중지하지 않는 한 재부팅해야 적용됩니다.
Jessie( systemd
관리 사용)의 경우:
sudo systemctl disable dhcpcd.service
그리고 이전 Wheezy( System-V
관리)의 경우:
sudo update-rc.d dhcpcd disable
그러나 비활성화하는 경우 고정 IP 구성이 있는지 확인해야 합니다. /etc/network/interfaces
그렇지 않으면 인터페이스가 IP 주소를 얻지 못합니다.
답변4
다음은 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의 네트워킹을 사용하지 않는 것 같습니다.