Raspbian Bookwormを実行しているRaspberry Pi 4でWiFiホットスポットを設定するのに問題があります。私が取ったステップは次のとおりです。
- インストール中にOSイメージがフラッシュされ、WiFiが設定されました。
- USBモデムを接続して有効にすると、eth1として表示されます。
- 提供されたスクリプトを使用して、この接続をWiFiホットスポットとして共有します。
しかし、2つの主な問題に直面しています。
- Wi-Fiネットワークが時々表示されない
- この場合、「IP 構成エラー」のためクライアントを接続できません。
Wi-Fiホットスポットを起動するために、次のスクリプトを実行しました。
## Share WiFi
wifissid=qwerqwer
wificode=qwertyuio
# Disconnect from current Wi-Fi network
sudo ifconfig wlan0 down
# Stop NetworkManager and configure so it doesn't start on reboot
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
# Disconnect from current Wi-Fi network again, just in case
sudo ifconfig wlan0 down
# Stop services if already running
sudo systemctl stop hostapd
sudo systemctl stop dnsmasq
# Unmask hostapd
sudo systemctl unmask hostapd
# Configure a static IP for the WiFi interface (adjust interface and IP accordingly)
sudo bash -c 'echo "interface wlan0" >> /etc/dhcpcd.conf'
sudo bash -c 'echo "static ip_address=192.168.4.1/24" >> /etc/dhcpcd.conf'
# Configure hostapd
sudo bash -c "cat > /etc/hostapd/hostapd.conf <<EOF
interface=wlan0
driver=nl80211
ssid=$wifissid
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=$wificode
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
EOF"
# Update hostapd configuration
sudo bash -c 'echo "DAEMON_CONF=\"/etc/hostapd/hostapd.conf\"" >> /etc/default/hostapd'
# Configure dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo bash -c 'echo "interface=wlan0" > /etc/dnsmasq.conf'
sudo bash -c 'echo "dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h" >> /etc/dnsmasq.conf'
# Enable IP forwarding
sudo sysctl net.ipv4.ip_forward=1
sudo bash -c 'echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf'
# Enable NAT
sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
sudo sh -c 'iptables-save > /etc/iptables.ipv4.nat'
# Create the directory if it doesn't exist
sudo mkdir -p /lib/dhcpcd/dhcpcd-hooks
# Restore iptables on boot
sudo bash -c 'echo "iptables-restore < /etc/iptables.ipv4.nat" >> /lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat'
# Start services
sudo systemctl start hostapd
sudo systemctl start dnsmasq
nohup
SSHがローカルWi-Fiから切断されて完了しないように、上記のスクリプトを実行してください。
サービスを再起動し、Hostadbconfが正しく作成されたことを確認しました。この問題を解決する方法についてのアイデアはありますか?
Hostapdサービスとdnsmasqサービスのログは正常に見えます(実行中)。ログは、Wi-Fi ネットワークとの接続が成功したことを示します。ただし、dnsmasqログに複数のDHCPパケット受信エラーがあり、IPアドレスの割り当てに問題があることを示します。
注:NetworkManagerを試してみましたが、やはり機能しませんでした。