如何创建一个WiFi热点来共享无线网络连接(单个适配器)?

我知道如何在有线网络连接时创建热点,但是当我使用WiFi连接上网时,一旦我启用热点,无线连接就会断开。
在Windows中,我可以使用Connectify Hotspot,它使我能够通过同一个无线适配器共享互联网连接,并在其上创建访问点。正如您可以在技术概述页面上阅读到的:

访问点模式允许您使用相同的Wi-Fi卡来创建热点,该卡也用于访问互联网。

在Ubuntu上我该如何做到这一点?

3你有两个Wifi-Sticks还是内置的Wifi?因为你总是需要一个接收和一个发送。即使使用Connectify,我认为也是如此。如果你看他们的网站,他们总是展示如何通过wifi共享3G/4G,但从来没有像他们在广告中说的那样展示两个wifi。这是可能的,但只能通过两个wifi适配器实现。我从未听说过可以避免这一点的软件技术。不过,还有其他可能性。 - verpfeilt
6我已经投票重新开启这个问题,因为它与“如何共享您的互联网连接”的问题不同。首先,原作者已经找到了该选项(所以不需要那里的答案),其次,这是关于使用单个网络设备共享连接的情况。还可以参考Hotspot and Internet access together — why not? - gertvdijk
非常有趣。我想补充一下,在硬件方面,你需要一个功能强大的无线网卡(我知道办公室的联想电脑无法创建无线AP,这在硬件上根本不可能,因为商业安全原因)。另外,你至少需要两个天线才能真正使其工作,或者需要一款可以模拟一个天线上的两个连接的神奇软件。附言:我不是硬件技术人员。我可能什么都没懂,说的都是废话。;) - mondjunge
@mondjunge 单一天线会强制你只能使用相同的频率/信道。但是,当然可以在硬件上完全禁用这个功能。然而,大多数芯片组都是通过硬件实现的通用性。对于大部分来说,只是固件和驱动程序的差异。 - gertvdijk
11个回答

简单步骤:在Ubuntu中创建WiFi热点

  1. 禁用Wifi(取消勾选启用Wi-Fi)
  2. 进入网络连接(编辑连接...)
  3. 点击“添加”
  4. 选择“Wi-Fi”,然后点击“创建”
  5. 输入连接名称,比如“wifi-hotspot”
  6. 根据您的需求输入SSID
  7. 从下拉菜单中选择设备MAC地址(wlan0)
  8. 在Wifi安全性中选择“WPA和WPA2个人”,并设置一个密码。
  9. 进入IPv4设置选项卡,从方法下拉框中选择“共享给其他计算机”。
  10. 保存并关闭。
  11. 打开终端(Ctrl+Alt+T),并输入以下命令,将其中的连接名称替换为第5步中使用的名称。

    sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
    
  12. 找到mode=infrastructure并将其改为mode=ap

  13. 现在检查网络部分,Wi-Fi将自动连接到创建的热点。如果找不到,请转到“连接到隐藏网络...”找到该连接并连接。

来源:http://ubuntuhandbook.org/index.php/2014/09/3-ways-create-wifi-hotspot-ubuntu/


13简单,但似乎并没有回答这里提出的问题:在我的手中,它并不能通过一个无线网络接口实现无线到无线的共享。 - Alex Coventry
4
  1. a) 启用Wifi(勾选启用Wi-Fi)
- Jess Telford
我的Wi-Fi热点创建成功了,但是当我连接手机时,它显示已连接但无法上网。请问如何解决这个问题?请帮忙。 - Gagan
使用USB WiFi适配器作为热点,使得我的内置网卡能够接收网络信号。然而,我遇到了一个错误:“连接失败。无法激活连接。(32)此设备不支持接入点(AP)模式。”有什么方法可以修复这个问题吗? - Gabriel Staples
太棒了!...但是....我无法让它工作-无论是在我的外部USB WiFi适配器上还是在我的内置Wi-Fi卡上作为热点。:( 这是我刚写的解决方案,对我有效:https://askubuntu.com/a/986714/327339。 - Gabriel Staples
2真棒 :D 第14步 -> 将您的笔记本电脑连接到局域网并通过创建的热点在手机上使用。超级棒 :D - Satys
2
  1. 开启WiFi。
  2. 在终端中使用Ctrl+Alt+T,然后输入sudo service network-manager restart来重新启动网络管理器。
- Ferroao
3不明白最后一点13。我连接到一个名为“Wifi”的wifi,我使用上述路径创建了另一个名为“热点”的wifi。现在该怎么办?如果我断开与Wifi的连接,那么互联网源将从哪里来? - ahmadalibaloch
在Ubuntu 16.04中(可能是在将来或甚至以前的版本),在第6步暂停,以更改连接模式为“热点”。 - Koushik Shom Choudhury
它起作用了,但是我不得不重新启动我的电脑。 - Cequiel
1这不会按预期工作。这只是工作的一半。它可以创建WiFi热点,但无法连接到互联网。 - QkiZ
9从@Purushoth的来源(http://ubuntuhandbook.org/index.php/2014/09/3-ways-create-wifi-hotspot-ubuntu/)中,不要忘记第一步:`1. 禁用WIFI并插入一根网线到您的笔记本电脑上,以便您的Ubuntu通过有线网络连接,并禁用无线网络。`换句话说,这个答案需要通过以太网接收互联网,然后通过无线适配器将其作为无线访问点共享出去。它不会在单个无线适配器上同时接收和广播互联网。相反,它会接收有线网络并进行无线广播。 - Gabriel Staples
#11是你回答中唯一有用的观点。谢谢。 - stackunderflow
2在18.04版本中,您可以从命令行界面运行nm-connection-editor来打开“网络连接”界面。 - Leopd
这就是你创建WiFi热点的方法,没有其他更多的了。 - Bawantha
因为忽略了评论中提到的重要步骤,所以给予负评。 - polynomial_donut
似乎出于某种原因,检查“当网络可用时自动连接”也很重要。 在没有勾选这个选项的情况下尝试连接了一两次,甚至无法在我的其他设备上看到该网络的列表。此外,似乎在设置过程中可用的5Ghz并不意味着它被支持(对我来说没有起作用,即使其他设备曾经连接到另一个5Ghz的Wi-Fi网络)。 - polynomial_donut
发这种回复的人是否意识到并非每个人都使用相同的窗口管理器,甚至不是所有人都使用X Window系统? - Scott
我得到的是:此时设备wlx00e62d022ffd上没有可用的连接'wifi-hotspot'。 - Nathan B
请在步骤14中包含@Ferroao的评论。非常感谢这个出色的回答! - Yan King Yin

在我看到这个链接vasishath提供后,我成功地设置了一个无线热点,以共享来自同一单一无线接口设备的互联网连接。这个无线设备必须使用已经构建有Atheros驱动程序并支持nl80211的驱动程序。接下来我将向您展示如何操作。

检测您的无线设备是否适用于此方法

终端中运行以下命令:

lsmod | grep ath

如果输出为空或输出中不包含字符串cfg80211,继续操作没有意义,你应该注意this answer中的第二和第三点。

所需工具

检查以下提到的软件包是否已安装:iwhostapdiptablesudhcpdudhcpcmacchanger

你可以使用以下命令安装它们:

sudo apt-get install iw hostapd iptables udhcpd udhcpc macchanger

编辑一些文件

在终端中运行以下命令以编辑相应的文件:

sudo -H gedit /etc/hostapd.conf /etc/udhcpd.conf /etc/default/udhcpd /etc/wpa_supplicant.conf

hostapd.conf文件中添加以下代码:
interface=new1
driver=nl80211
ssid=my_wifi_hotspot      #根据您的喜好更改ssid名称
channel=11                #建议使用与您的无线网络相同的信道
hw_mode=g
wme_enabled=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

udhcpd.conf文件中注释掉所有当前行(在行前面添加#字符),并添加以下新行:
start 192.168.0.102         #这些IP地址必须与您当前默认路由的子网相同
end 192.168.0.117 
interface new1 

opt dns 192.168.0.1         #您当前默认路由(网关)
option subnet 255.255.255.0
opt router 192.168.0.101    #此IP地址必须与您当前默认路由的子网相同
option  domain  localhost

在/etc/default/udhcp中,注释掉包含的行。
wpa_supplicant.conf中,您必须提供当前无线网络的设置。请参阅man wpa_supplicant以获取一些快速示例。您可能还可以在/usr/share/doc/wpa_supplicant/目录中找到更多示例。我使用了类似以下的设置:
ctrl_interface=/var/run/wpa_supplicant
network={
  ssid="my_wifi_network"
  key_mgmt=WPA-PSK
  proto=WPA
  pairwise=CCMP
  group=CCMP
  psk="mypassphrase"
}

保存所有文件并关闭它们。
注意:所有这些编辑都不会影响您当前的网络配置。
创建一个shell脚本
在终端中运行mkdir -p bin - 这个命令将在您的home文件夹中创建一个bin目录,如果您还没有它。
然后运行gedit ~/bin/hotspotsetup.sh - 这将在gedit中创建一个名为hotspotsetup.sh的新文件。
复制并粘贴以下脚本到新创建的文件中:
#!/bin/bash

service network-manager stop
sleep 1

pkill -15 nm-applet
sleep 1

ifconfig wlan0 down             #wlan0 - the name of your wireless adapter
sleep 1

iw phy phy0 interface add new0 type station
iw phy phy0 interface add new1 type __ap
sleep 2

ifconfig new0 down
macchanger --mac 00:11:22:33:44:55 new0
ifconfig new1 down
macchanger --mac 00:11:22:33:44:66 new1
ifconfig new0 up
ifconfig new1 up

ifconfig new1 192.168.0.101 up  #192.168.0.101 - the same IP defined for router in 'udhcpd.conf' file 
hostapd /etc/hostapd.conf &
sleep 2

service udhcpd start

wpa_supplicant -inew0 -c/etc/wpa_supplicant.conf &
sleep 10

udhcpc -i new0

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface new0 -j MASQUERADE
iptables --append FORWARD --in-interface new1 -j ACCEPT
  • 保存文件并关闭。
  • 返回终端并运行:chmod +x ~/bin/hotspotsetup.sh - 为脚本授予执行权限。

在与同一无线适配器连接的无线网络中启动无线热点

以 root 权限在终端中运行上述脚本:

sudo ~/bin/hotspotsetup.sh

证明

hotspotsetup.sh

请注意:要重新启动网络管理器服务,使其在运行 hotspotsetup.sh 脚本之前的状态,需要重启您的计算机(sudo reboot)。
来源:Connectify for Linux with Single wireless interface

5这个问题是不可能通过硬件实现的。如果Windows和FreeBSD的应用程序/驱动可以做到这一点,那么在Ubuntu中也应该是可能的。也许不能通过常规的NetworkManager方式来实现,但这并不是一个有效答案的标准。 - gertvdijk
1Windows和Connectify的免费版本肯定可以使用同一张无线网卡来接收和共享互联网连接,我经常使用这个功能,这是我从Windows中唯一想念的东西。我相信如果有人创建一个具有与Connectify相同功能的开源驱动程序,Ubuntu也可以做到这一点。 - Nur
1@Nur Connectify经过测试或多个用户报告,已经确认一些设备可以与Connectify Hotspot完全兼容。因此,并不是所有的设备在这个意义上都能正常工作。请参考设备列表以了解更多信息。 - Radu Rădeanu
1我非常确定我的Atheros网卡是完全正常的,因为我已经使用Connectify很长时间了,从来没有出过任何问题。我打算尝试这个设置,希望它能够正常工作。 - Nur
1这是一个很好的答案,但我在让它工作时遇到了麻烦!我不得不在/etc/default/udhcp.conf中启用udhcpd,但仍然没有运气。它一直给我发送 Sending discover...new0: CTRL-EVENT-SCAN-STARTED,尽管其他一切都进行得很顺利...当我尝试连接网络时也从未成功过!我已经根据您关于udhcpd的答案进行了编辑,但您能否告诉我如何解决连接问题? - Richard
和@Richard一样的问题! - Augustin Riedinger
为什么您需要使用MAC地址更改器,以及为什么需要在物理设备和虚拟设备上都进行更改? - JSON
如何检查“#此IP必须与您当前的默认路由位于同一子网中”? - Mark Deven

让我向您介绍一个简化一切的优秀工具:create_ap(由oblique开发)。 这是官方存储库:https://github.com/oblique/create_ap。 该工具是Arch Linux存储库的一部分,应该也在Ubuntu存储库中! 它非常易于使用且非常有效。 要在Ubuntu中安装它,您首先必须安装依赖项:
sudo apt install bash util-linux procps hostapd iproute2 iw wireless-tools haveged iptables dnsmasq git

除非你使用了“迷你安装镜像”,否则你已经有了其中的90%...
完成后,从oblique克隆存储库。
git clone https://github.com/oblique/create_ap.git

在下载的存储库中找到您的终端:

cd create_ap

使用以下命令安装工具:
sudo make install

(不需要进行编译)
很简单,对吧? 剩下的更容易... ...如果您的设备能够同时用作客户端和PA(例如atheros wifi芯片-编辑:某些Intel芯片也是如此,请参见下面的第二条评论),您只需像通常一样使用网络管理器连接到家庭路由器,然后执行类似以下命令行:

sudo create_ap <connected interface> <repeater interface> <essid repeated network> <WPA Key>

例子
sudo create_ap wlp2s0 wlp2s0 Bathroom_WiFi mysecuresecretkey

而且...就是这样! create_ap 太不可思议了,而且非常简单! 现在你只需要用你的安卓设备连接到重复的网络。你会在你的笔记本终端上看到你的笔记本和客户端之间协商的握手: enter image description here 然后你就可以享受一个愉快的上网浴室时间...一切都通过一个简单的界面和一个简单的命令完成。这个工具有很多选项,想要了解更多信息,请访问oblique的GitHub存储库(之前给出的链接),如果你会说西班牙语,你还可以查看这个论坛帖子:create_ap:将您的计算机转变为全能中继器的完美解决方案

编辑 Oblique停止了这个项目

这个项目已不再维护。

免费代码的美妙之处在于好的项目永远不会消亡,有两个Github存储库继续保持Oblique的优秀工作:

  • {{link1:linux-wifi-hotspot}}
  • {{link2:linux-router}}

3非常令人印象深刻的工具! - George Udosen
1哇,太厉害了。我有英特尔公司的无线网卡3160,它能正常工作。我已经连接上了WiFi,并且在同一个适配器上创建了热点:D 谢谢。 - QkiZ
感谢您的反馈!我会修改提到一些英特尔芯片组也可以作为通用WiFi中继器的内容...太棒了。 - kcdtv
我应该学会在尝试任何事情之前先阅读所有的评论,用其他方法浪费了很多时间。这是最简单且唯一有效的方法。谢谢。 - vikki
非常容易,而且效果非常好。 - Talha Junaid
什么是“<connected interface> <repeater interface>”? - Mark Deven
5对于不支持同时作为AP和客户端的设备,请在您下载的repo中编辑文件“create_ap”,1.找到并注释掉“CHANNEL=$WIFI_IFACE_CHANNEL”这一行,2.找到函数“is_wifi_connected()”,并注释掉其中除了最后一行“return 1”以外的所有内容,然后运行“sudo make install”。这对我在GPD Pocket 2上的Ubuntu 18.04系统起作用了。(如果您能在回答中加入这些内容,那就太好了) - Sruli
3在我上一条评论中忘了提到,我所提供的指示是从https://github.com/oblique/create_ap/issues/107获取的。 - Sruli
@MarkDeven,<连接接口> <中继接口> 取决于你的硬件,如果你只有一个无线接口,那么两个名称将相同。例如,如果无线接口是 "wlp3s0",你想将其命名为 "MyHotspot" 并设置密码,则命令应为 "sudo create_ap wlp3s0 wlp3s0 MyHotspot password"。 - Sruli
完美运行(根据Sruli提到的修改和github问题)。 - Wang Tang
如何让systemd服务正常工作?如果我尝试使用systemctl start create_ap,日志文件中没有任何内容,会出现create_ap的错误提示。 - Ciasto piekarz
请注意,该仓库不再维护。:/ - Jeppe
谢谢Jeppe指出这一点,我已经编辑了帖子。 - kcdtv

这是我的项目Linux Wifi Hotspot,它具有图形用户界面和命令行界面。它可以在连接到互联网的同一无线适配器上创建一个虚拟的WiFi热点。它还具有其他功能,如MAC过滤、更改信道/频段、查看已连接设备等。

enter image description here


5这是最省事的选择。安装并使用。在我的7年老的HP Folio 1040笔记本电脑上,搭配Intel Wireless 7260无线网卡和Ubuntu 20 LTS系统可以正常工作。Linux WiFi热点可以同时连接和分发互联网连接,只需一个网卡。你救了我一天的忙! - igor
1这在Arch Linux上运行得很好,同样在Lubuntu上也一样出色。感谢您创建了这个项目! - Logan
1在Ubuntu 20.04上运行良好。我已经以root身份从控制台运行过它,它还允许我使用VPN(tun0)接口作为AP。 - Aleksandar Pavić
1优秀的工具。在Lubuntu上运行良好。 - Ramin Arabbagheri
2在Ubuntu 22.04上工作。非常感谢你!Nordlynx互联网界面(NordVPN)出现在UI下拉菜单中,我感到非常高兴!我无法使用5Ghz,不确定是我的硬件问题还是软件问题。 - Robert Rendell

正如您在对此答案的评论中所看到的,确实有一种方法可以做到这一点。在FreeBSD(不是Ubuntu/Linux)上有相关文档,链接在这里:https://serverfault.com/questions/192144/connect-to-multiple-ap-with-one-wifi-adapter-under-linux-freebsd(评论中的链接)。在Linux上似乎不能完全以相同的方式工作,但应该是类似的。不幸的是,我没有找到更详细的关于这个主题的信息。

可能最简单和最常见的方法是使用两个物理网络接口。因此,您可以购买另一个无线网卡或者使用其他技术来进一步连接,并且只使用其中一个通过Wifi连接。以下是一些可能性:

  • 蓝牙 + Wifi
  • LAN/Ethernet + Wifi
  • 3G/LTE + Wifi
  • Wifi(外部)+ Wifi(内置或第二个外部)
我注意到Ubuntu Linux可以同时管理两个WiFi设备,而且并不复杂。虽然我没有测试过共享互联网连接等方面的功能,但应该是可行的。它的复杂程度可能取决于您使用的连接类型。在Linux上,您可能不需要任何特殊软件。应该可以在不使用任何特殊工具的情况下共享连接。不幸的是,我现在无法尝试。
如果您有另一个WiFi适配器,我建议您尝试WiFi对WiFi的方式;否则,可以使用LAN或蓝牙(大多数笔记本电脑都内置了蓝牙)。由于供应商的数据计划等原因,3G/LTE共享可能会有些问题。

哇,这似乎并不难做。至少在FreeBSD上是这样的。但我仍然认为,如果这个功能经常使用和/或许多设备通过这两个连接进行路由,最好使用两个物理网络接口(如果有的话)。此外,它应该相对容易在Ubuntu的网络设置(图形界面)中进行配置。虽然这是一个非常有趣的想法,但在某些情况下肯定很有用。我注意到我的回答中有一些容易误解的地方(还有一些你也注意到了错误的地方)。我会进行编辑。 - verpfeilt
在同一设备上设置多个接入点与设置一个接入点并同时连接到另一个接入点是不同的。 - QkiZ

这是因为另一个答案引起了太多争议,所以才添加了这个答案。
首先,您需要知道我们的无线适配器的名称。请使用下面的命令来获取它:
iwconfig

最有可能是wlan0或wlan1。
有时我们会使用旧的WiFi适配器,并且想要知道它所使用的驱动程序。根据其类型(USB或PCI),我们可以使用以下命令来进行操作。
lsusb
lspci

使用以下命令查看您当前正在使用的驱动程序:
lsmod

需要安装一个程序。只需在键盘上按下Ctrl+Alt+T即可打开终端。打开后,运行以下命令:
sudo apt-get install hostapd

通过以下命令打开主网络适配器配置文件:
sudo gedit /etc/hostapd/hostapd.conf

然后像这样进行编辑:

interface=wlan0
driver=nl80211
country_code=US
ssid=mySSID
hw_mode=g
channel=1
wpa=2
wpa_passphrase=MyWiFiPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0

第一行应该是您的网络适配器名称。在大多数情况下,第二行不需要更改,除非您运气不好并且需要第三方驱动程序。第三行不需要解释。第四行应该是您的WiFi接入点名称(SSID)。第五行标识您的网络为a/b/g/n模式。下一行是您的网络信道。剩下的行设置安全性和加密。在大多数情况下,您只需要更改密码短语。
通过以下命令打开第二个配置文件:
sudo gedit /etc/default/hostapd

把它改成这样:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
RUN_DAEMON="yes"
DAEMON_OPTS="-dd"

第一行指向主网络适配器配置文件。第二行告诉hostapd在启动时以后台的DAEMON模式运行。最后一行告诉hostapd记录每条消息。这里的重要技巧是,如果您想使用两个不同的无线网络适配器设置双频访问点,您应该创建两个单独的原始配置文件(第一个文件)并进行如下更改:
DAEMON_CONF="/etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf"

配置已完成。
运行 DAEMON
现在您必须确保 hostapd DAEMON 在启动时启动(下面是第一个命令),您还应立即运行它以避免强制重启。
sudo update-rc.d hostapd defaults
sudo /etc/init.d/hostapd start

完成了。现在我们可以连接到我们新建的接入点。
来源:Hostapd:创建虚拟Wifi接入点的Linux方式Hostapd Linux文档页面

1你用自己的话说过:“你需要知道连接到互联网的网络适配器的名称。这必须与您上面配置的网络适配器不同”,但是你指定了相同的内容:“即wlan0”。同时,在给定的源代码中,在概念部分非常清楚地指定:“您需要有2个接口,一个用于访问网络(例如eth0),另一个用于提供访问点服务(例如wlan0)”。 - Radu Rădeanu
我认为OP想要使用同一个适配器:“但是当我正在浏览互联网WiFi连接时,我想创建一个无线热点,WiFi互联网就会断开”。而gertvdijk在开始悬赏时明确了这一点。 - Radu Rădeanu
@RaduRădeanu 这样好一些吗?你会告诉我吗?谢谢 - Mitch
在我看来,之前的版本更好(但这只是个人意见)。 - Radu Rădeanu

安装linux-hotspot
sudo add-apt-repository ppa:lakinduakash/lwh
sudo apt install linux-wifi-hotspot

已经由Lakindu Akash回答了。 - Zatigem

用AP-HOTSPOT是我发现创建CONNECTIFY体验的最佳方法!(不像Linux默认在Ubuntu中使用WEP,而是使用WPA2)
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 想要一个图形用户界面吗?
要安装它,请打开终端,然后浏览到所在位置:
cd /home/USERNAME/LOCATION
然后运行安装命令:
qmake make 创建一个程序...将其拖到桌面上,完成 :) 干杯!
就两个适配器来说……Windows和FreeBSD可以做到……目前我还在试图弄清楚它,因为昨天我才开始接触这个场景!等我有结果了会向大家报告的……Linux也可以做到……这对于那些可以在其他操作系统上实现此功能的适配器来说,并不是硬件限制。

欢迎来到AskUbuntu。今后请避免在您的消息中使用全大写字母。这可能被视为冒犯或具有攻击性。(参考链接:http://kathrynvercillo.hubpages.com/hub/What-People-Think-When-You-Type-in-All-Caps) - Luís de Sousa
1这是最直接有效的解决方案,可以通过连接到互联网的设备来设置热点。 - jmary

目前只有Atheros和少数Broadcom卡可以实现此功能。要确定你正在使用哪一种,请在终端中运行以下命令,并将输出粘贴在这里:-
lspci | Wireless

或者你可以直接尝试这种方法。这里是关于如何操作的教程链接:connectify-for-linux-with-single-wireless-interface

请在答案中包含关键步骤。目前这只是个链接式的答案,这种做法是不受欢迎的。尽管它提供了一个很好的源和说明,所以点个赞,但请改进你的答案。 - gertvdijk

Purushoth's的答案一样,这个答案也需要2个WiFi适配器(例如:一个内部和一个外部USB WiFi适配器)。然而,我无法让他的答案对我起作用,所以这是我做的事情。

在Xubuntu 14.04中测试。

如何将Ubuntu/Xubuntu PC配置为WiFi热点(例如:在机场或飞机上使用,以便与您的手机和其他设备共享单个付费连接):

插入一个USB WiFi适配器。并非所有的适配器都可以作为“ap”(接入点)使用,但是内部的网卡肯定可以,所以我们将(至少暂时地,直到你找到一个可以作为接入点的USB wifi适配器)使用外部的USB适配器连接到付费服务(例如:机上WiFi),然后使用内部的wifi适配器创建wifi接入点。
重要提示:不要使用错误的(外部)WIFI适配器支付并连接到付费服务,否则你将不得不再次支付才能切换,因为你的付费连接与你的WIFI适配器有某种关联——可能是通过其永久MAC地址或其他方式。
在面板中左键点击wifi图标,选择“创建新的WiFi网络...”→选择内部Wi-Fi适配器(即wlan0),设置一个网络名称(SSID)(例如:“wifi-hotspot”),选择“WPA和WPA2个人”作为“Wi-Fi安全性”,设置一个密码,然后点击“创建”。
注意:如果你同时插入了外部USB WIFI适配器,在这一步中有时会出现无法选择内部WIFI适配器的错误。如果发生这种情况,请在进行此步骤时简单地拔掉外部WIFI适配器以创建WIFI热点,然后在完成/下一步时重新插入它。
编辑刚刚创建的新WIFI热点的配置文件:
cd /etc/NetworkManager/system-connections ls 通过上面的GUI步骤找到你刚刚创建的热点文件,例如:“wifi-hotspot”,然后进行编辑: sudo nano wifi-hotspot 向下箭头移动并将“mode=adhoc”或其他内容更改为“mode=ap”。保存并退出。
现在,仍未插入外部USB WIFI适配器的情况下,通过再次左键点击面板中的WiFi图标,并选择“连接到隐藏的WiFi网络...”→再次选择内部WIFI适配器作为“Wi-Fi适配器”,选择接入点名称(例如:“wifi-hotspot”)作为“连接”。现在,“网络名称”,“Wi-Fi安全性”和“密码”字段将自动填充并变灰。点击“连接”。WiFi接入点将在你的内部网卡上激活。你可以连接你的手机等设备。
最后,在你的WiFi热点处于活动状态时,插入你的次要/USB WiFi适配器,并使用它连接到付费网络。支付你的订阅或其他费用,通过这个适配器的互联网将自动传播给通过你刚刚配置的内部“接入点”适配器连接到你的设备。
完成!
参考资料:这是我找到的/etc/NetworkManager/system-connections文件夹路径以及一个替代方法(对我来说没有起作用):https://askubuntu.com/a/609199/327339

单个适配器 - QkiZ
我没有忽视问题的那一部分。然而,如果最受赞同的答案(由@Purushoth提供)成为最受赞同的答案,并且也不使用任何适配器(它需要插入一个外部以太网连接来将互联网输入到电脑中),那么我认为回答需要通过以太网输入互联网和通过单个无线适配器访问点输出互联网的问题也是可以的。特别是考虑到最受赞同的答案对我来说并不起作用,因为它需要同时使用以太网和WiFi。 - Gabriel Staples
我使用了 https://github.com/oblique/create_ap 并且它在单个适配器上运行良好。请检查它是否适用于您。 - QkiZ