Ubuntu 20.04 LTS 及更新版本

Ubuntu 20.04 LTS 及更新版本

如何设置接入点 (AP) 模式的 Wi-Fi 热点?

注意事项:无线接入点与 ad hoc 网络不同。它们有很大不同。简而言之,较新的设备和大多数 Android、Windows Phone 和 Blackberry 设备(可能还有 iOS 设备)不支持 ad hoc 网络,而 AP 模式 Wi-Fi 热点则支持。要了解 AP 模式热点、ad hoc 网络及其区别,请参阅这个维基百科页面

答案1

您的无线网卡是否支持接入点模式。

首先要测试你的无线网卡是否支持进入无线接入点模式。如前所述,以下测试适用于基于 mac80211 框架的驱动程序。

安装iw并执行下列操作

sudo aptitude install iw
iw list

查找支持的接口部分,其中应该是一个名为AP下面的条目

Supported interface modes:
         * IBSS
         * managed
         * AP
         * AP/VLAN
         * monitor
         * mesh point

如果您的驱动程序没有显示此 AP,这并不意味着它无法创建无线热点。但这些卡不在本教程的范围内。有关更多测试,请关注ubuntu 主模式文档

设置分为三个部分,

  1. 设置并托管无线网络
  2. IP 地址设置
  3. 网络共享

1.设置并托管网络

  • 所需软件:hostapd安装 hostapd(安装)
  • alt+F2并输入gksu gedit& 按enter。我们将编辑很多文件。
  • 在 gedit 中,按ctrl+ octrl+l并将其粘贴到位置框中/etc/hostapd/hostapd.conf。按Enter
  • 粘贴以下代码,

    interface=wlan0
    driver=nl80211
    ssid=test
    hw_mode=g
    channel=1
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=3
    wpa_passphrase=1234567890
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP
    

请确保没有尾随空格和行尾!Hostapd 是非常敏感结束难以解决的空白!

您需要做的改变:

  1. 更改interface=wlan0为您的无线网卡名称。(如果您有一张无线网卡,则应该是 wlan0)
  2. ssid=test.test是您的托管网络的名称。
  3. wpa_passphrase=12345678901234567890是你的网络密码。

上述配置在g模式下创建启用 wpa 和 wpa2 的接入点。可以找到有关构建配置文件的更详细说明这里

现在启动hostapd。编辑文件/etc/default/hostapd并修改 DAEMON_CONF 行,如下所示:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

然后hostapd使用以下命令启动服务,

sudo service hostapd start

它应该启动无线网络。现在您可以在移动设备上看到无线网络并可以进行身份​​验证。但设备不会获取 IP 地址。使用以下命令停止它sudo service hostapd stop

如果出现任何错误,可能是您的卡不支持g该模式。请尝试其他模式。指导

第 2 部分:设置 DHCP 服务器以进行 IP 地址管理

安装isc-dhcp 服务器安装 isc-dhcp-server

编辑文件/etc/default/isc-dhcp-server并设置接口如下:

INTERFACES="wlan0"

在 gedit 中,按Ctrl+ O,在位置框中粘贴/etc/dhcp/dhcpd.conf 查找(ctrl+ F)到行下方,然后输入#编辑后应该看起来像

# option definitions common to all supported networks…
#option domain-name “example.org”;
#option domain-name-servers ns1.example.org, ns2.example.org;

再次注释掉以下几行

#default-lease-time 600;
#max-lease-time 7200;

在末尾添加以下几行

subnet 10.10.0.0 netmask 255.255.255.0 {
        range 10.10.0.2 10.10.0.16;
        option domain-name-servers 8.8.4.4, 208.67.222.222;
        option routers 10.10.0.1;
}

范围描述地址池的长度。您还需要调整子网值。此配置最多可以为 15 个设备提供 IP

再次在 gedit 中按Cctrl+O并将以下内容粘贴到位置栏中/etc/network/interfaces,在下面添加

auto wlan0
iface wlan0 inet static
address 10.10.0.1
netmask 255.255.255.0

wlan0是您的无线接口。请相应地进行更改。

注意:重启后,无线将显示为未管理。因此您无法使用任何其他 Wi-Fi 网络。要使无线行为正常,请在新添加的行前添加 # 并执行sudo start networking

现在运行

sudo service isc-dhcp-server start

sudo service hostapd start

此时,您的移动设备将看到一个网络,对其进行身份验证,身份验证后,它将获得类似的 IP 地址10.10.0.2

设置互联网连接设置

对于 Internet 连接共享,我们需要ip forwardingip masquerading。启用 IP 转发:执行

echo 1| sudo tee /proc/sys/net/ipv4/ip_forward

现在假设您正在使用拨号/USB 调制解调器连接来连接到 INTERNET。您需要获取逻辑接口名称。为此,请执行ifconfigip address

对于拨号/USB 调制解调器:应该是ppp0。如果您想共享以太网连接,则应使用ethX其中 X 是您的以太网设备号。如果您通过具有 USB 网络共享功能的 Android 设备连接到互联网,则接口名称应该是usb0

现在一旦你获得接口名称执行 sudo iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -o ppp0 -j MASQUERADE

上面的命令ppp0是您通过无线共享其互联网连接的接口。

如果你已经编辑过,/etc/network/interfaces你可以使用这个脚本启动服务。如果您不共享,请编辑它ppp0。如果您正在使用脚本并想要停止服务器,请使用sudo killall hostapd


该博客主要是对这里描述的内容进行总结:http://dashohoxha.blogspot.com/2013/06/how-to-setup-wifi-access-point-on-ubuntu.html

尝试自动执行此处描述的步骤的脚本:https://gist.github.com/dashohoxha/5767262

请随时报告或修复您发现的任何错误。


获得以下人士的巨大帮助:

答案2

Ubuntu 20.04 LTS 及更新版本

借助 Ubuntu 20.04 LTS 上的 GNOME 3.36 桌面,WiFi 网络共享变得比以往更加简单!

答案3

我也遇到了同样的问题。我能找到的最佳解决方案是使用ap 热点用于创建 ubuntu 机器的热点。它可以很好地连接到几乎所有的 Android、Windows 手机等。

安装方法:

$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install ap-hotspot

接下来启动热点:

$ sudo ap-hotspot start

它以交互的方式询问您想要共享哪个适配器的互联网、网络名称、密码等。

要停止热点:

$ sudo ap-hotspot stop

配置方法:

$ sudo ap-hotspot configure

如果有任何问题,希望关联有帮助。

编辑:

目前看来 Ubuntu 14.04 存在一些问题,并且根据链接的 webupd8.org 文章中所述,您必须降级 hostapd:

64 位:

cd /tmp
wget http://ftp.ksu.edu.tw/FTP/Linux/ubuntu/pool/universe/w/wpa/hostapd_1.0-3ubuntu2.1_amd64.deb
sudo dpkg -i hostapd*.deb
sudo apt-mark hold hostapd

32位:

cd /tmp
wget http://ftp.ksu.edu.tw/FTP/Linux/ubuntu/pool/universe/w/wpa/hostapd_1.0-3ubuntu2.1_i386.deb
sudo dpkg -i hostapd*.deb
sudo apt-mark hold hostapd

答案4

我发现最简单的方法之一是使用创建_ap来自 github 用户

先决条件:

1)hostapd

sudo apt install hostapd

脚步 :

git clone https://github.com/oblique/create_ap
cd create_ap
make install  (use sudo if you want to install it systemwide)

然后打开热点

假设您想eth0使用 wifi 接口通过接口名称从以太网共享互联网wlan0,您可以使用以下语法:

create_ap -m nat wlan0 eth0 MyAccessPoint MyPassPhrase

了解更多信息和参考

https://github.com/oblique/create_ap

相关内容