您尚未登录。

#1 2014-08-23 12:35:46

mongoose
会员
注册时间: 2014-07-07
帖子: 18

如何连接着wifi并创建wifi

windows 7  有这项功能,据说是使用了虚拟网卡的技术,能在一张无线网卡上面既连接着wifi又能一边创建着wifi。

我已经搜索了很长时间了,还是没有找到,在linux上都是利用hostapd 将有线连接的网络创建热点分享出去,也就是说必须插上网线……

另外我很久之前就发现有人可以在路由器上刷openwrt,然后连接这cmcc(肯定是无线网啊),并且创建热点,它是如何实现的呢?如果不是硬件上的原因的话,那么linux也应该能实现啊。

最近编辑记录 mongoose (2014-08-23 12:38:54)

离线

#2 2014-08-23 15:07:03

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 如何连接着wifi并创建wifi

Linux 好像没有支持这种联网的驱动。

离线

#3 2014-08-23 15:21:40

mongoose
会员
注册时间: 2014-07-07
帖子: 18

Re: 如何连接着wifi并创建wifi

百合仙子 说:

Linux 好像没有支持这种联网的驱动。

OK  那我就放心了……  不用再找了,死心了,还是老实的买个能刷openwrt的路由器吧

离线

#4 2015-05-27 02:09:40

himarch
会员
注册时间: 2015-03-26
帖子: 21

Re: 如何连接着wifi并创建wifi

aur安装create_ap , 然后create_ap wlan0 wlan0 热点名称 密码 ,wlan0换成自己无线网卡名称,这样就能在一张无线网卡上面既连接着wifi又能一边创建着wifi热点.
我自己使用过几次,打雷时怕雷劈就拔了网线,然后连接附近的wifi,共享给手机用,因为附近那wifi信号比较弱,手机经常连不上,就用笔记本把信号中转一下.

离线

#5 2015-05-27 11:45:29

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 如何连接着wifi并创建wifi

himarch 说:

aur安装create_ap , 然后create_ap wlan0 wlan0 热点名称 密码 ,wlan0换成自己无线网卡名称,这样就能在一张无线网卡上面既连接着wifi又能一边创建着wifi热点.
我自己使用过几次,打雷时怕雷劈就拔了网线,然后连接附近的wifi,共享给手机用,因为附近那wifi信号比较弱,手机经常连不上,就用笔记本把信号中转一下.

好像很不错的样子,不过是 shell 脚本读起来比较困难。已经看到一些副作用,比如它会修改 iptables,接受任意的 DNS 请求,这和我的配置会冲突。对 dnsmasq 的使用也会和我已经的配置冲突。

最近编辑记录 依云 (2015-05-27 11:47:36)

离线

#6 2016-03-28 23:44:08

innocence
会员
注册时间: 2016-03-27
帖子: 8

Re: 如何连接着wifi并创建wifi

我为了分享wifi装了KDE,

离线

#7 2016-03-29 07:47:02

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 如何连接着wifi并创建wifi

检查是否支持:

>>> iw list | grep -A2 'valid interface combinations'
        valid interface combinations:
                 * #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1,
                   total <= 3, #channels <= 2

支持就可以加个接口来跑 hostapd 了:

# /etc/systemd/system/wlan0_ap.service
[Unit]
Description=Setup wlan0_ap
Before=hostapd.service
After=sys-subsystem-net-devices-wlan0.device
After=iptables.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/iw dev wlan0 interface add wlan0_ap type __ap
ExecStart=/usr/bin/ip address add dev wlan0_ap 192.168.17.1/24
ExecStart=/usr/bin/iptables -w -t nat -A POSTROUTING -s 192.168.17.0/24 -j MASQUERADE
ExecStop=-/usr/bin/iptables -w -t nat -D POSTROUTING -s 192.168.17.0/24 -j MASQUERADE
ExecStop=/usr/bin/ip address delete dev wlan0_ap 192.168.17.1/24
ExecStop=/usr/bin/iw dev wlan0_ap del

[Install]
WantedBy=hostapd.service

systemctl enable wlan0_ap,然后配置好 hostapd:

# /etc/hostapd/hostapd.conf
interface=wlan0_ap
driver=nl80211
ssid=xxx
channel=1
hw_mode=g
ieee80211d=1
country_code=cn
ieee80211n=1
ieee80211h=1
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=yyy
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

以后 systemctl start hostapd 就可以了~

当然不想手动管理 IP 的话,你还需要一个 dnsmasq 来 DHCP。

离线

页脚