사례 1 - DHCP 이더넷

사례 1 - DHCP 이더넷

사용자가 다음 웹 인터페이스를 통해 RPI의 네트워크 설정을 변경할 수 있는 프로젝트가 있습니다.

  • 무선 네트워크 구성
  • DHCP 이더넷
  • 정적 무선 네트워크
  • 정적 이더넷

각 선택 사항은 그에 따라 재구성 dhcpcd_conf되고 wpa_conf구성됩니다.효과가 아주 좋아요.

전체 패키지는 처음 부팅할 때 DHCP 이더넷 네트워크에 있도록 설계되었습니다. 그러나 모든 사용자가 DHCP 서버를 갖고 있는 것은 아니기 때문에 이 설계에는 결함이 있습니다.

그 때 하나 만들어볼까 생각도 했었는데폴백 고정 이더넷 IP이것이 내가 생각해낸 것입니다:

사례 1 - DHCP 이더넷

# dhcpcd_conf

interface wlan0
noipv4
noipv6

interface eth0
hostname DeviceEth
clientid

profile static_eth0
static ip_address=192.168.1.150/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8

interface eth0
fallback static_eth0
# wpa_conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

보시다시피 wlan0no IP로 설정한 다음 eth0DHCP로 설정 eth0한 다음 fallback profile.
맞습니까?동일한 인터페이스에서 두 가지 다른 설정을 가질 수 있습니까?

사례 2 - DHCP WiFi:

# dhcpcd_conf
interface wlan0
hostname DeviceWiFi
clientid

interface eth0
noipv4
noipv6

profile static_eth0
static ip_address=192.168.1.150/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8

interface eth0
fallback static_eth0
# wpa_conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=RO
network={
ssid="SSID"
psk="password"
}

여기서는 wlan0DHCP로 설정한 다음 eth0no ip 로 설정한 eth0다음 fallback profile. 이 구성이 맞나요?

두 경우 모두 하나의 인터페이스만 활성화하기를 원하므로 인터페이스 하나는 DHCP로 구성하고 다른 하나는 IP 없음으로 구성합니다.
의 경우무선 네트워크 구성wlan0백업이 적용된 후에도 계속 작동하는지 여부는 중요하지 않습니다.사용자는 웹 인터페이스에 도착한 후 고정 IP를 구성할 가능성이 높으며 정적 구성은 한 번에 하나의 인터페이스만 활성 상태로 유지된다는 점에서 DHCP 구성과 유사하기 때문입니다.

답변1

이를 사용하여 다른 인터페이스 간에 전환할 수 없습니다 fallback(사례 2의 목표인 것 같습니다). 동일한 인터페이스에서 dhpc가 실패하는 경우 dhcp가 다른 인터페이스에서 실패하는 경우가 아니라 구성된 인터페이스에서 dhcp 폴백 프로필이 사용됩니다.

arping그러한 목적 으로 사용될 수 있는지 확실하지 않습니다 (참조dhcpd 구성 파일). 아이디어는 첫 번째 인터페이스를 ping하고 "no ip"가 있는 구성 파일을 가리키는 것입니다. 그러면 대체 MAC 주소 프로필에는 보조 인터페이스에서 사용할 고정 IP 또는 DHCP가 포함됩니다. 하지만 메인 인터페이스가 IP 주소를 얻는 시기에 따라 달라지기 때문에 이것이 안정적으로 작동하지 않을까 걱정됩니다.

답변2

inform다음을 사용하여 이 작업을 수행할 수 있습니다.여기

  1. nano에서 편집하려면 /etc/dhcpcd.conf를 엽니다.

    나노/etc/dhcpcd.conf

  2. 파일 맨 아래에 다음 줄을 추가합니다. 해당 행이 이미 존재하고 주석 처리되지 않은 경우 삭제하십시오.

아래 상자의 괄호 안의 설명을 올바른 정보로 바꾸세요. 인터페이스는 wlan0(Wi-Fi용) 또는 eth0(이더넷용)입니다.

interface [INTERFACE]
static_routers=[ROUTER IP]
static domain_name_servers=[DNS IP]
static ip_address=[STATIC IP ADDRESS YOU WANT]/24

우리의 경우에는 다음과 같습니다.

interface wlan0
static_routers=192.168.7.1
static domain_name_servers=192.168.1.1
static ip_address=192.168.7.121/24

마지막 줄의 "static"을 "inform"으로 바꿀 수도 있습니다. inform을 사용한다는 것은 Raspberry Pi가 요청한 IP 주소를 얻으려고 시도하지만 사용할 수 없는 경우 다른 IP 주소를 선택한다는 의미입니다. 정적 주소가 사용되면 요청된 주소가 사용 중일 때 IPv4 주소가 전혀 없습니다.

  1. Ctrl + X를 눌러 파일을 저장하고 재부팅하세요.

이제부터 부팅할 때마다 Pi는 요청한 고정 IP 주소를 얻으려고 시도합니다.

관련 정보