我刚刚搬到一个更大的公寓,我的路由器信号在它的边缘之前达到峰值,这是我刚刚安装的家庭服务器,一台带有 ubuntu 服务器的旧笔记本电脑,我用它来存储媒体和作为打印机服务器。
所以这个想法是让服务器也充当范围扩展器,问题是我找不到有关如何做到这一点的任何文档。
能做到吗?
答案1
我使用这篇文章中描述的脚本在我的 Ubuntu 服务器中创建热点:
http://www.webupd8.org/2013/06/how-to-set-up-wireless-hotspot-access.html
基本上,它可以帮助你创建热点。你需要在要使用的电脑上安装两个接口,一个连接到互联网,另一个用于热点。
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot
安装完成后,运行:
sudo ap-hotspot configure
它会询问您几个问题(互联网接口、创建接入点的无线接口、密码),然后可以运行和停止热点:
sudo ap-hotspot start
sudo ap-hotspot stop
请注意,该脚本自动执行了创建热点的过程,可以通过手动安装和配置 dns-masq 和 hostapd 来完成,但结果是一样的。
答案2
创建_ap是创建任何接入点的绝佳工具。
我能够使用以下配置创建一个 wifi 扩展器:
CHANNEL=default
GATEWAY=192.168.2.1
WPA_VERSION=2
ETC_HOSTS=0
DHCP_DNS=gateway
NO_DNS=0
NO_DNSMASQ=0
HIDDEN=0
MAC_FILTER=0
MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept
ISOLATE_CLIENTS=0
SHARE_METHOD=nat
IEEE80211N=0
IEEE80211AC=0
HT_CAPAB=[HT40+]
VHT_CAPAB=
DRIVER=nl80211
NO_VIRT=0
COUNTRY=
FREQ_BAND=2.4
NEW_MACADDR=
DAEMONIZE=0
NO_HAVEGED=0
WIFI_IFACE=wlan0
INTERNET_IFACE=wlan0
SSID=MyAccessPoint
PASSPHRASE=12345678
USE_PSK=0
此配置基本上创建了一个新的热点,其 SSID 为:MyAccessPoint,密码为:12345678,它将通过 ubuntu 服务器的 INTERNET_IFACE 连接到互联网
重要笔记:
NO_VIRT=0
WIFI_IFACE
如果和INTERNET_IFACE
相同,则为必定的。- 可以使用这些参数
IEEE80211N IEEE80211AC HT_CAPAB VHT_CAPAB
来提高 ubuntu 服务器 wifi 的性能,但这需要你对 wifi 硬件有更多的了解 - 我使用
SHARE_METHOD=nat
因为它SHARE_METHOD=bridge
给了我一个错误,但我想安装一些要求和/或更新内核可以解决这个问题。
答案3
以下说明假设笔记本电脑(服务器)按如下所示连接 - 请原谅我的 ASCII 艺术。具体来说,它与 LAN 有线连接,并且还具有无线接口。
^ ^
| | SSID: This here be my WiFi
| | PSK: St@yTh3#ell0ut!
/ \ CHANNEL: 6
----------------- / \ -----------------
| Laptop | |wlan0 wlan0| | Router |
| (Server) ---| |--- |
| ---| |--- |
| | |eth0 -- -- eth0| | |
----------------- | | -----------------
| |
-----------------
| Switch |
-----------------
在这种情况下,您可以使用以下配置扩展路由器的 WiFi。以下步骤需要该配置hostapd
并dnsmasq
安装在笔记本电脑上:
cat <<EOF | ~/extendwifi.sh
#!/bin/bash
sudo apt install -y hostapd
sudo mv /etc/hostapd.conf{,.old}
wget -qO- https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf | egrep -v '^$|^#' | sed -e 's/test/This here be my WiFi/;s/rts_threshold=-1/rts_threshold=2347/;s/fragm_threshold=-1/fragm_threshold=2346/' | sudo tee /etc/hostapd/hostapd.conf
echo -e "wpa=2\nwpa_passphrase=St@yTh3#ell0ut!\nwpa_key_mgmt=WPA-PSK WPA-EAP WPA-PSK-SHA256 WPA-EAP-SHA256" | sudo tee /etc/hostapd/hostapd.conf
EOF
chmod +x ~/extendwifi.sh
~/extendwifi.sh
执行完上述脚本后,您应该重新启动hostapd
服务systemctl restart hostapd
如果您已WiFiAnalyzer (open-source)
在 Android 手机上安装,那么您现在应该能够看到这个新接入点(检查 MAC 地址)。看到了吗?很好!如果没有,请仔细检查您的配置。值得注意的是频道;/etc/hostapd/hostapd.conf
如果它们出现在同一个频道上,请务必更改它。
现在,由于此过程已将您的低端笔记本电脑变成了路由器,我们现在需要处理一些网络问题。为此,您肯定会需要dnsmasq
,以下是您需要做的事情:
- 安装 dnsmasq -
sudo apt install -y dnsmasq
- 启用 IP 转发(文件
/etc/sysctl.conf
)nano /etc/sysctl.conf
- 取消注释
net.ipv4.ip_forward=1
- 保存文件并退出编辑器
sudo sysctl -p
现在我们需要为 dnsmasq 创建配置。假设我们将创建一个具有以下详细信息的新子网: - 子网 IP:10.11.12.0/24 - DHCP 范围:10.11.12.13 至 10.11.12.32 - 这样您就可以将 20 个设备连接到此 wifi 子网。 - 如果需要更多,请增加 - wlan0 IP:10.11.12.1/24 - 您需要以某种方式将此 IP 添加到接口 - 互联网上有很多关于如何完成此操作的教程 - 租用期:12 小时 - DNS 服务器:192.168.1.1 - 假设路由器的 IP 为 192.168.1.1,也是 DNS 服务器
将下面的几行复制并粘贴到终端上,然后按回车键:
cat <<EOF | sudo tee /etc/hostapd_dnsmasq.conf
bind_interfaces
interface=wlan0
dhcp-range=10.11.12.13,10.11.12.32,255.255.255.0,12h # increase if you need more
dhcp-option=option:router,10.11.12.1
dhcp-option=option:dns-server,192.168.1.1
EOF
现在我们需要创建一个服务文件来启动 dnsmasq 服务
将下面的几行复制并粘贴到终端上,然后按回车键:
cat <<EOF | sudo tee /etc/systemd/system/hostapd_dnsmasq.service
[Unit]
Description=DHCP and DNS caching server for wlan1.
After=network.target
[Service]
ExecStartPre=/sbin/iptables -t nat -A POSTROUTING ! -o wlan0 -j MASQUERADE
ExecStart=/usr/sbin/dnsmasq -k --conf-file=/etc/hostapd_dnsmasq.conf
ExecStopPost=/sbin/iptables -t nat -D POSTROUTING ! -o wlan0 -j MASQUERADE
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=300
[Install]
WantedBy=multi-user.target
EOF
现在所有部分都已准备就绪,让我们启动服务:
sudo systemctl restart hostapd_dnsmasq
restart
即使服务停止,我也始终使用。这是我的最佳实践。
如果一切正常,那么您可以启用该服务,以便它在笔记本电脑重启时自动启动:
sudo systemctl enable hostapd_dnsmasq
享受!
NOTE
:如果您的笔记本电脑没有 RJ45 端口,那么您唯一的选择就是使用多个 WiFi 适配器,并且新 WiFi AP 的 SSID 肯定不同。配置将类似;主要区别在于您不会扩展当前的 WiFi,而是创建一个新的 WiFi。
CAVEAT EMPTOR
我有一个类似的设置,我偶尔会在测试时使用。如果您的系统上出现任何损坏,您将独自对损坏负责,并且您可以保留所有部件。