디트피와 함께 라즈베리를 먹고 있어요.
배경: 이 파이는 마법의 거울로 사용되며 곧 친구에게 선물이 될 예정입니다. 무선 네트워크만 사용합니다. 이미지는 알려진 wpa_supplicant.conf 파일과 함께 제공되므로 첫날부터 작동합니다. 사용 사례는 WPA 키를 변경하거나 다른 SSID를 가지고 있는 경우 SSH를 통해 pi에 로그인할 수 있어야 한다는 것입니다.
표적 전반적인 목표는 사용 가능한 네트워크(액세스 포인트(AP)에 대한 네트워크 연결이면 충분함)를 주기적으로 확인하는 스크립트를 갖는 것입니다.
현재 문제는 핫스팟을 전혀 만들 수 없다는 것입니다.
(작업 진행 중): 따라서 연결이 제공되면 구성에서는 dhcp를 클라이언트로 사용합니다.
(작동하지 않음): 연결이 제공되지 않으면 AP를 호스팅하여 서브넷에 대한 DHCP 서버를 제공하도록 pi의 구성을 변경해야 합니다. (대체 아이디어 환영)
문서를 파헤쳐보니 Dietpi dnsmasq
가 isc-dchp-server
.
journalctl -xe
내가 사용하는 모든 서비스가 시작되었으며 걱정할 항목이 없습니다 .
$systemctl list-units --type=service
좋아 보인다
AP 활성화는 dietpi-config
잘못된 서브넷을 사용하기 때문에 구성한 방법과 다르게 보입니다. (1.xx가 아닌 42.xx여야 함)
[ OK ] DietPi-Config | Desired setting in /etc/hostapd/hostapd.conf was already set: wpa_passphrase=SECRET_PHRASE
[ OK ] DietPi-WiFiDB | mkdir -p /etc/wpa_supplicant
[ OK ] DietPi-WiFiDB | eval > /var/lib/dietpi/dietpi-wifi.db
[ INFO ] DietPi-WiFiDB | Applied WiFi DB slot 0 with SSID "CLEARNET"
[ INFO ] DietPi-WiFiDB | Applied WiFi DB slot 1 with SSID ""
[ INFO ] DietPi-WiFiDB | Applied WiFi DB slot 2 with SSID ""
[ INFO ] DietPi-WiFiDB | Applied WiFi DB slot 3 with SSID ""
[ INFO ] DietPi-WiFiDB | Applied WiFi DB slot 4 with SSID ""
[ OK ] DietPi-WiFiDB | chown root:root /var/lib/dietpi/dietpi-wifi.db /etc/wpa_supplicant/wpa_supplicant.conf
[ OK ] DietPi-WiFiDB | chmod 600 /var/lib/dietpi/dietpi-wifi.db /etc/wpa_supplicant/wpa_supplicant.conf
[ OK ] DietPi-Config | systemctl stop isc-dhcp-server
[ SUB1 ] DietPi-Set_hardware > wifimodules (enable)
[ INFO ] DietPi-Set_hardware | Please wait, enabling WiFi modules...
[ INFO ] DietPi-Set_hardware | Checking for required APT packages: iw wireless-tools wpasupplicant wireless-regdb
[ OK ] wifimodules enable | Completed
[ INFO ] DietPi-Config | Dropping network connections, please wait...
[ INFO ] DietPi-Config | Restarting network connections, please wait...
[ OK ] DietPi-Config | systemctl daemon-reload
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/b8:27:eb:23:f0:44
Sending on LPF/eth0/b8:27:eb:23:f0:44
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
DHCPOFFER of 192.168.1.169 from 192.168.1.1
DHCPREQUEST for 192.168.1.169 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.1.169 from 192.168.1.1
bound to 192.168.1.169 -- renewal in 18890 seconds.
[ OK ] DietPi-Config | systemctl start isc-dhcp-server
[ INFO ] DietPi-Config | Reloading networking data, please wait...
[ OK ] DietPi-Config | Network restarted
$ cat /etc/network/interfaces
# Location: /etc/network/interfaces
# Please modify network settings via: dietpi-config
# Or create your own drop-ins in: /etc/network/interfaces.d/
# Drop-in configs
source interfaces.d/*
# Ethernet
allow-hotplug eth0
iface eth0 inet dhcp
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
#dns-nameservers 192.168.1.1
# WiFi
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 9.9.9.9 149.112.112.112
pre-up iw dev wlan0 set power_save off
post-down iw dev "wlan0 set power_save on
# iptables NAT rules
up iptables-restore < /etc/iptables.ipv4.nat
up ip6tables-restore < /etc/iptables.ipv6.nat
$ cat /etc/network/interfaces.d/wlan0
iface wlan0 inet static
address 192.168.42.99
network 192.168.42.0
netmask 255.255.255.0
broadcast 192.168.42.255
wpa-ssid "magic-mirror"
wpa-psk "SECRET_PHRASE"
wpa-group TKIP CCMP
wpa-key-mgmt WPA-PSK
$cat /etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
option domain-name "local";
option domain-name-servers 9.9.9.9, 149.112.112.112;
}
어떤 제안이라도 미리 감사드립니다.