我知道如何在连接到有线网络时创建热点,但是当我通过WiFi连接使用互联网时,这会在激活热点时断开无线连接。
在Windows中,我可以使用Connectify Hotspot,它使我可以在创建访问点时从同一无线适配器共享Internet连接。您可以在技术概述页面上阅读:
接入点模式允许您使用用于访问Internet的同一Wi-Fi卡创建热点。
如何在Ubuntu上执行此操作?
我知道如何在连接到有线网络时创建热点,但是当我通过WiFi连接使用互联网时,这会在激活热点时断开无线连接。
在Windows中,我可以使用Connectify Hotspot,它使我可以在创建访问点时从同一无线适配器共享Internet连接。您可以在技术概述页面上阅读:
接入点模式允许您使用用于访问Internet的同一Wi-Fi卡创建热点。
如何在Ubuntu上执行此操作?
Answers:
简单步骤:在Ubuntu中创建wifi热点
打开终端(Ctrl + Alt + T),然后输入以下命令,并使用在步骤5中使用的连接名称。
sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
查找mode=infrastructure
并将其更改为mode=ap
现在检查“网络”部分,其中wi-fi将自动连接到创建的热点。如果找不到,请转到“ 连接到隐藏网络...”,找到并连接。
资料来源:http : //ubuntuhandbook.org/index.php/2014/09/3-ways-create-wifi-hotspot-ubuntu/
1. Disable WIFI and plug in an internet cable to your laptop so that your Ubuntu is connect to a wired internet and wireless is disabled.
换句话说,这个答案需要通过以太网访问互联网,然后才能以无线访问方式共享出去。通过WiFi适配器点。它无法在单个wifi适配器上以无线方式接收Internet和广播Internet。而是接收有线信号并以无线方式广播。
我看了以后这个链接所提供vasishath,我设置管理的无线热点共享来自同一个无线接口设备的互联网连接。此无线设备必须使用已经由nl80211支持构建的Atheros驱动程序。接下来,我将向您展示如何。
在终端中运行以下命令:
lsmod | grep ath
如果输出为null或字符串cfg80211
不在输出中,则继续下去是没有意义的,您应注意此答案的第二和第三点。
检查是否安装了以下所有软件包:iw,hostapd,iptables,udhcpd,udhcpc,macchanger。
您可以使用
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 #Change the ssid name as you wish
channel=11 #I sugest you to use the same channel as your wireless network
hw_mode=g
wme_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=1234567890 #Change the passphrase as you wish
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
在udhcpd.conf
文件中注释所有当前行(通过#
在行前面添加一个字符),并添加以下新行:
start 192.168.0.102 #These IPs must to be in the same subset as your current default route
end 192.168.0.117
interface new1
opt dns 192.168.0.1 #Your current default route (Gateway)
option subnet 255.255.255.0
opt router 192.168.0.101 #This IP must to be in the same subset as your current default route
option domain localhost
在/ etc / default / udhcp中,注释指出的行DHCPD_ENABLED="no"
。
在中,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"
}
保存所有文件并关闭它们。
注意:所有这些编辑都不会影响您当前的网络配置。
mkdir -p bin
- 如果您还没有bin
目录,此命令将在您的home
文件夹中创建目录。gedit ~/bin/hotspotsetup.sh
-这将hotspotsetup.sh
在gedit中创建新文件。#!/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
脚本之前一样重新启动网络管理器服务,请重新启动计算机(sudo reboot
)。
/etc/default/udhcp.conf
,但还是没有运气。它一直在给我提供帮助Sending discover...
,new0: CTRL-EVENT-SCAN-STARTED
即使其他一切都进行得不错...当我尝试连接到网络时,它也永远无法正常工作!我已经编辑了有关udhcpd的分析器,但是能否请您说一下如何解决连接问题?
让我向您介绍一个简化一切的出色工具: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%了。
完成后,请从倾斜的位置克隆存储库:
git clone https://github.com/oblique/create_ap.git
在下载的存储库中找到您的终端:
cd create_ap
使用以下工具安装该工具:
sudo make install
(无需编译make
)
很简单,对吧?好了,剩下的事情就更容易了……...如果您的设备能够同时用作客户端和PA(例如atheros wifi芯片- 编辑:也使用某些Intel芯片,请参见下面的第二条评论),您只需必须像通常那样使用网络管理器连接到家庭路由器,然后执行如下命令行:
sudo create_ap <connected interface> <repeater interface> <essid repeated network> <WPA Key>
例
sudo create_ap wlp2s0 wlp2s0 Bathroom_WiFi mysecuresecretkey
而且...就是这样! 难以置信,如此简单!现在,您只需要使用android设备连接到重复的网络即可。您将在便携式计算机终端中看到在便携式计算机与客户端之间进行协商的握手: 并且您可以通过Internet享受愉快的洗手间会话...一切都通过一个界面和一个简单命令完成。该工具有很多的选择,更多信息,请访问斜GitHub的仓库(前面给出的链接),如果你会说西班牙语,你可以检查此论坛主题:create_ap:拉soluciónPERFECTA对transformar TU ordenador恩未repetidor普遍待办事项TERRENO
正如您在此答案的注释中看到的,这是一种执行此操作的方法。它是针对FreeBSD(不是Ubuntu / Linux)的文档,网址为:https : //serverfault.com/questions/192144/connect-to-multiple-ap-with-one-wifi-adapter-under-linux-freebsd(链接来自评论)。在Linux上,它的工作方式似乎并不完全相同,但是应该相似。不幸的是,我无法找到有关此主题的更多详细信息。
可能最简单,最常见的方法是使用两个物理网络接口。因此,您可以购买另一个wifi棒,或仅使用其他技术进行进一步连接,并通过Wifi进行其中之一。例如,可能性是:
有一次我注意到Ubuntu Linux能够一次管理两个wifi设备,而不会变得很复杂。我没有以共享Internet连接等方式对此进行测试,但是应该可以。复杂程度可能取决于您使用的连接类型。在Linux上,您可能不需要特殊的软件。无需任何特殊工具就可以共享连接。不幸的是,我目前无法尝试。
如果您仍然有其他wifi棒,或者如果局域网或蓝牙(大多数笔记本电脑内置),则建议您尝试使用Wifi到Wifi。由于提供商数据计划等原因,3G / LTE共享有点不好。
这是另一个答案,因为另一个答案引起了很大争议。
最重要的是,您需要知道我们的无线适配器的名称。使用以下命令获取它:
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
第一行应该是您的网络适配器名称。在大多数情况下,不应更改第二行,除非您不走运并且需要第三方司机。第三行不需要解释。第4行应为您的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记录每条消息。此处的重要技巧是,如果您想使用两个不同的无线网络适配器来设置双频接入点,则应为每个ard创建单独的原始配置文件(第一个文件),并进行如下更改:
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
到此结束。现在,我们可以连接到我们新建的接入点。
目前仅适用于Atheros卡和极少数Broadcom卡。要知道您正在使用哪一个,请在终端中运行以下命令,并将输出粘贴到此处:
lspci | Wireless
或者,您可以直接尝试该方法。这是有关如何执行此操作的教程的链接: -Linux连单无线接口的connectify
我发现创建连接体验的最佳方法是使用AP-HOTSPOT!
(WPA2 ..不是像ubuntu中的Linux那样默认的哭泣)
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和免费的bsd可以做到...截至目前,我仍在设法弄清楚,因为直到昨天我才为自己准备了这种方案!我将向您报告... Linux也可以。.这不是可以与其他操作系统一起使用的适配器的硬件限制...
与Purushoth的答案一样,此答案也需要2个WiFi适配器(例如:一个内部和1个外部USB Wi-Fi适配器)。但是,我无法得到他为我工作的答案,所以这就是我所做的。
在Xubuntu 14.04中测试。
如何将Ubuntu / Xubuntu PC配置为WiFi热点(例如:在机场或飞机上使用,以便通过PC与手机和其他设备共享单个付费连接):
cd /etc/NetworkManager/system-connections
ls
sudo nano wifi-hotspot
参考:这是我在其中找到/etc/NetworkManager/system-connections
文件夹路径和另一种方法的方法(对我不起作用):https : //askubuntu.com/a/609199/327339