如何创建 Wi-Fi 热点(在接入点模式下)?

Web*_*b-E 169 wireless wireless-access-point hot-spot ap-hotspot

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

需要注意的一点:无线接入点与 ad hoc 网络不同。他们有很大的不同。简而言之,较新的设备和大多数 Android、Windows Phone 和黑莓设备(也可能是 iOS 设备)不支持 ad hoc 网络,而 AP 模式 Wi-Fi 热点则支持。要了解 AP 模式热点、ad hoc 网络及其区别,请参阅此 Wikipedia 页面

Web*_*b-E 109

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

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

安装iw并执行以下

sudo aptitude install iw
iw list
Run Code Online (Sandbox Code Playgroud)

寻找支持的接口部分,它应该是一个AP如下所示的条目

Supported interface modes:
         * IBSS
         * managed
         * AP
         * AP/VLAN
         * monitor
         * mesh point
Run Code Online (Sandbox Code Playgroud)

如果你的驱动没有显示这个AP,并不代表它不能创建无线热点。但这些卡不在本教程的范围内。有关更多测试,请遵循有关主模式的 ubuntu 文档

设置分为三个部分,

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

1.设置和托管网络

  • 所需软件:hostapd安装hostapd (安装它)
  • alt+F2并输入gksu gedit并按enter。我们将要编辑很多文件。
  • 在 gedit 中,按ctrl+ octrl+l并将其粘贴到 location box 中/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
    
    Run Code Online (Sandbox Code Playgroud)

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

你需要做的改变:

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

上面的配置在gmode 中创建了一个启用 wpa 和 wpa2 的接入点。可以在此处找到构建配置文件的更详细说明

现在开始hostapd。编辑文件/etc/default/hostapd并像这样修改 DAEMON_CONF 的行:

DAEMON_CONF="/etc/hostapd/hostapd.conf"
Run Code Online (Sandbox Code Playgroud)

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

sudo service hostapd start

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

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

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

安装isc-dhcp-server安装 isc-dhcp-server

编辑文件/etc/default/isc-dhcp-server并像这样设置 INTERFACES:

INTERFACES="wlan0"
Run Code Online (Sandbox Code Playgroud)

在 gedit 中,按Ctrl+ O,在位置框中粘贴/etc/dhcp/dhcpd.conf Find ( ctrl+ F) 下面的行并在它前面加上#。编辑后应该是这样

# option definitions common to all supported networks…
#option domain-name “example.org”;
#option domain-name-servers ns1.example.org, ns2.example.org;
Run Code Online (Sandbox Code Playgroud)

再次注释掉以下几行

#default-lease-time 600;
#max-lease-time 7200;
Run Code Online (Sandbox Code Playgroud)

在末尾添加以下行

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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

auto wlan0
iface wlan0 inet static
address 10.10.0.1
netmask 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

wlan0是您的无线接口。相应地更改它。

注意:重新启动后,无线将显示为未管理。所以你不能使用任何其他 wi-fi 网络。要获得具有正常行为的无线网络,请将 # 放在那些新添加的行之前并执行sudo start networking

现在运行

sudo service isc-dhcp-server start

sudo service hostapd start

此时,您的移动设备将看到一个网络,对其进行身份验证,并且在身份验证后它将获得类似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. 如果你想共享以太网连接,你应该使用ethXX 是你的以太网设备号。如果您通过带有 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

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


来自以下方面的巨大帮助:

  • @neo 我遇到了同样的问题。我只是在安装 `ap-hotspot` 后在 `sudo gedit /etc/NetworkManager/NetworkManager.conf` 中将 `dns=dnsmasq` 更改为 `#dns=dnsmasq`。它解决了这个问题。 (2认同)

HEX*_*ube 96

Ubuntu 20.04 LTS 及更新版本

使用 Ubuntu 20.04 LTS 上的 GNOME 3.36 桌面,WiFi 网络共享变得前所未有的简单!只需从系统菜单中打开Wi-Fi 设置

系统菜单

Wi-Fi 设置窗口中,单击右上角的下拉菜单并选择打开 Wi-Fi 热点选项。

打开 WiFi 热点

将出现一个对话框,您可以在其中设置新热点的名称和密码。

设置热点名称和密码

如果您的热点创建成功,Wi-Fi 设置现在将显示一个部分,其中包含新创建的热点的切换按钮。

新创建的热点

热点指示器也会出现在顶部栏上,显示其处于活动状态。

活动热点指示器

如果您需要编辑热点并进行更高级的配置,请按照类似于下面描述的 Ubuntu 18.04 LTS 的说明进行操作。

Ubuntu 18.04 LTS

Ubuntu 18.04 LTS 上的 GNOME 3.28 桌面可以轻松启动 WiFi 热点。从系统菜单打开Wi-Fi 设置

GNOME 系统状态菜单

然后从 Wi-Fi 设置的汉堡菜单中,选择打开 Wi-Fi 热点。就是这样,您的 WiFi 接入点现已启动并运行!

无线网络设置

高级东西

如果您想更改接入点的名称 (SSID) 和密码,请通过在终端或+ 中输入以下内容来打开网络连接编辑器工具:AltF2

nm-connection-editor
Run Code Online (Sandbox Code Playgroud)

网络连接

双击 Hotspot,将出现编辑器窗口。您可以从 Wi-Fi 和 Wi-Fi 安全选项卡更改 SSID 和密码。

编辑 SSID 修改密码

Ubuntu 16.04 LTS 和 14.04 LTS

第一步:测试你的WiFi卡是否支持AP模式

按照Web-E提供的答案中接入点模式检查

第二步:启动内置热点

Network带有一个内置选项来启动 Ad-Hoc 热点。因此,让我们先使用它,以便在下一步中对其进行配置并转换为接入点模式热点。

在 Dash 中搜索网络并打开它。

短跑搜索

按“用作热点”按钮,网络管理器将启动一个 AdHoc 热点。

热点

但这不是我们想要的,不是吗?停止热点。

第 3 步:配置热点

从 Dash打开网络连接或从网络指示器菜单中的“编辑连接”。

编辑连接

在出现的网络连接窗口中,WiFi 部分下会列出一个名为Hotspot 的连接。选择它并单击“编辑”按钮。

网络连接

在出现的窗口中,您可以编辑热点的广播名称 (SSID)。现在是此配置中最重要的部分:将模式更改为“热点”,这将最终将热点转换为接入点模式。Ubuntu 14.04 LTS 的用户会注意到无法从下拉列表中选择此模式。不要失望,因为您仍然可以通过额外的Step 3.1 来完成

编辑热点名称和密码

保存并再次打开相同的编辑热点窗口。这次转到WiFi 安全选项卡以选择密码类型。如果不想设置密码,可以将 security 设置为 none,从而创建一个开放的热点。如果您要设置密码,建议将安全密钥从 WEP 更改为 WPA2。配置完成后,不要忘记保存它,以便更改可以应用。

在“常规”选项卡中,确保关闭“可用时自动连接到此网络”(除非您只将 wifi 用作热点)。否则,由于热点始终可用,您将不会在网络管理器小程序中看到连接到其他 wifi 网络的菜单条目。

步骤 3.1:仅适用于 Ubuntu 14.04 LTS

由于 Ubuntu 14.04 LTS 的网络( network-manager v9.8.8) 不提供用于选择 AP 模式的图形设置,我们将手动编辑它的配置文件以强制转换。复制以下命令,然后按Alt+F2或打开终端并将其粘贴到那里:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit /etc/NetworkManager/system-connections/Hotspot
Run Code Online (Sandbox Code Playgroud)

在出现的授权对话框中输入您的密码,配置文件将在文本编辑器中打开。找到以 开头的行mode=,将其更改为mode=ap并保存文件。

第 4 步:启动热点

现在配置部分已经结束,我们将启动热点。单击“网络指示器”菜单中的“创建新的 Wi-Fi 网络”。

创建新的 WiFi 连接

在出现的窗口中,单击连接下拉按钮并将“新建...”更改为“热点”。按“创建”按钮,您的热点将开始运行。从现在开始,当您需要一个热点时,您只需要执行这一步,即步骤 4

启动热点

K.. 就是这样!享受新接入点带来的乐趣


shi*_*nkr 32

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

要安装它:

$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install ap-hotspot
Run Code Online (Sandbox Code Playgroud)

接下来,启动热点:

$ sudo ap-hotspot start
Run Code Online (Sandbox Code Playgroud)

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

停止热点:

$ sudo ap-hotspot stop
Run Code Online (Sandbox Code Playgroud)

要配置它:

$ sudo ap-hotspot configure
Run Code Online (Sandbox Code Playgroud)

如果有任何问题,希望这个链接有帮助。

编辑:

目前看来 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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)


ngu*_*b05 5

现在,这里有一个简单的方法,肯定会完成这项工作。

安装 KDE 连接编辑器

打开终端 (Ctrl+Alt+T) 并依次键入以下命令。

$ sudo apt-get install plasma-nm
$ sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

现在,您刚刚安装了 KDE 连接编辑器。

让我们创建一个 Wi-Fi 热点。

创建 Wi-Fi 热点(接入点模式)

1.现在打开已安装的应用程序,

  1. 搜索 (Alt+F2) 以查找kde-nm-connection-editor(您一开始输入kde 就可以了)。

    或者

  2. 从终端手动打开它。

    $ sudo kde-nm-connection-editor
    
    Run Code Online (Sandbox Code Playgroud)

2.现在点击+添加并选择无线(共享)

添加新连接

3.现在,您将看到以下窗口。

连接设置选项卡

SSID:为您的新热点命名

模式:选择接入点

克隆的 MAC 地址:单击随机按钮以生成随机 MAC 地址。

其他一切都应该已经设置为罚款。

4.现在让我们转到无线安全选项卡。

WPA 密码选项卡

选择WAP & WPA2 Personal并输入您的密码。

单击确定

5.现在您的连接已准备就绪。

准备好

享受!

  • `kde-nm-connection-editor` 对我来说变成了 `kde5-nm-connection-editor` (2认同)