Raspberry PI3:无线热点(从WiFi到WiFi而不是以太网到WiFi)
Raspberry PI 3: Wireless hotspot (from WiFi to WiFi instead of ethernet to WiFi)
我想把我的 Raspberry PI 3 变成类似 WiFi 信号放大器、无线 repeater/extender 或 WiFi 热点之类的东西,可以放大微弱的 WiFi 信号。
经过一番研究,我找到了这个教程,点击here。
我尝试遵循 adityap174 提供的答案:
- 关闭网络管理器服务,因为它会干扰虚拟接口
- 使用 ifconfig wlan0 down 关闭 wlan0
- 创建接入点接口并为其分配不同的 mac 和 ip 地址
- 在此访问界面开启hostapd
- 使用dnsmasq为该接口的连接客户端分配ip地址,并给默认网关作为要创建的站点接口的ip
- 在访问界面开启dnsmasq
- 创建新接口为其分配单独的 mac 地址并通过分配 essid 并使用 dhclient 获取 ip 地址将其连接到网络。
- 如有需要可通过iptables命令进行ip伪装
我创建了新的界面,AP显示完美,但是我尝试连接AP时获取IP地址失败
我安装的软件:hostapd和dnsmasq
我使用 wlan0 作为站点,myAcc 作为 AP。
我的命令:
sudo systemctl disable NetworkManager.service
sudo ifconfig wlan0 down 192.168.27.1 up
sudo iw phy phy0 interface add myAcc type __ap
sudo ifconfig myAcc hw ether A4:17:FE:6E:00:53
sudo ifconfig myAcc 192.168.27.1 up
sudo nano /etc/hostapd/hostapd.conf
sudo service hostapd start
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o myAcc -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i myAcc -o wlan0 -j ACCEPT
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat
iptables-restore < /etc/iptables.ipv4.nat
sudo service dnsmasq start
在hostapd.conf中:
interface=myAcc
driver=nl80211
ssid=AP001
hw_mode=g
channel=6
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678
rsn_pairwise=CCMP
在dnsmasq.conf中:
interface=wlan0
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=172.24.1.50,172.24.1.150,12h
在sysctl.conf中,net.ipv4.ip_forward已设置为1
尝试安装 isc-dhcp-server
sudo apt-get install isc-dhcp-server
要在您的界面上安装一个 dhcp 服务器,您要将其用作访问点。
你可以看到这个并学习如何配置它:
This post 有解决您问题的方法。它配置 Raspberry Pi 有 1 个接入点和许多无线连接。
它解释了在 hostapd 和 dnsmasq 中编辑哪些行。
我想把我的 Raspberry PI 3 变成类似 WiFi 信号放大器、无线 repeater/extender 或 WiFi 热点之类的东西,可以放大微弱的 WiFi 信号。
经过一番研究,我找到了这个教程,点击here。
我尝试遵循 adityap174 提供的答案:
- 关闭网络管理器服务,因为它会干扰虚拟接口
- 使用 ifconfig wlan0 down 关闭 wlan0
- 创建接入点接口并为其分配不同的 mac 和 ip 地址
- 在此访问界面开启hostapd
- 使用dnsmasq为该接口的连接客户端分配ip地址,并给默认网关作为要创建的站点接口的ip
- 在访问界面开启dnsmasq
- 创建新接口为其分配单独的 mac 地址并通过分配 essid 并使用 dhclient 获取 ip 地址将其连接到网络。
- 如有需要可通过iptables命令进行ip伪装
我创建了新的界面,AP显示完美,但是我尝试连接AP时获取IP地址失败
我安装的软件:hostapd和dnsmasq
我使用 wlan0 作为站点,myAcc 作为 AP。
我的命令:
sudo systemctl disable NetworkManager.service
sudo ifconfig wlan0 down 192.168.27.1 up
sudo iw phy phy0 interface add myAcc type __ap
sudo ifconfig myAcc hw ether A4:17:FE:6E:00:53
sudo ifconfig myAcc 192.168.27.1 up
sudo nano /etc/hostapd/hostapd.conf
sudo service hostapd start
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o myAcc -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i myAcc -o wlan0 -j ACCEPT
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat
iptables-restore < /etc/iptables.ipv4.nat
sudo service dnsmasq start
在hostapd.conf中:
interface=myAcc
driver=nl80211
ssid=AP001
hw_mode=g
channel=6
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=12345678
rsn_pairwise=CCMP
在dnsmasq.conf中:
interface=wlan0
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=172.24.1.50,172.24.1.150,12h
在sysctl.conf中,net.ipv4.ip_forward已设置为1
尝试安装 isc-dhcp-server
sudo apt-get install isc-dhcp-server
要在您的界面上安装一个 dhcp 服务器,您要将其用作访问点。 你可以看到这个并学习如何配置它:
This post 有解决您问题的方法。它配置 Raspberry Pi 有 1 个接入点和许多无线连接。
它解释了在 hostapd 和 dnsmasq 中编辑哪些行。