ユーザーが次のWebインターフェースを介して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
ご覧のとおり、wlan0
no IPに設定してからeth0
DHCPに設定してeth0
からfallback profile
。
そうですか?同じインターフェイスで2つの異なる設定を持つことはできますか?
ケース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"
}
ここではwlan0
DHCPに設定し、eth0
no ipに設定しeth0
ますfallback profile
。
この設定は正しいですか?
どちらの場合も、1つのインターフェイスのみを有効にしたいので、1つのインターフェイスはDHCPとして設定し、もう1つはIPなしで設定します。
の場合ワイヤレスネットワーク構成wlan0
バックアップが適用された後も引き続き機能するかどうかは重要ではありません。ユーザーはWebインターフェイスに到着した後に静的IPを設定する可能性が高く、静的設定は一度に1つのインターフェイスのみがアクティブなままであるという点でDHCP設定と似ているためです。
答え1
これを使用して他のインターフェイスを切り替えることはできませんfallback
(ケース2の目標のようです)。同じインターフェイスで dhpc が失敗した場合、dhcp が別のインターフェイスで失敗する場合ではなく、設定されたインターフェイスで dhcp フォールバック プロファイルが使用されます。
arping
そのような目的に使用できるかどうかはわかりません(参照dhcpd 構成ファイル)。アイデアは、最初のインターフェイスをpingして、「no ip」を含む設定ファイルを指すことです。これにより、代替 MAC アドレス プロファイルには、セカンダリ インターフェイスで使用する固定 IP または DHCP が含まれます。しかし、メインインターフェイスがIPアドレスを取得する時期によって異なりますので、これが安定して動作しないのではないかと心配です。
答え2
inform
以下を使用してこれを実行できます。ここ
nanoで編集するには/etc/dhcpcd.confを開きます。
ナノ/etc/dhcpcd.conf
ファイルの下部に次の行を追加します。その行がすでに存在し、コメントアウトされていない場合は削除します。
下のボックスの括弧内の説明を正しい情報に置き換えてください。インターフェイスは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アドレスはまったくありません。
- Ctrl + Xを押してファイルを保存して再起動します。
これから起動するたびに、Piは要求された静的IPアドレスを取得しようとします。