目录

Linux下Wifi热点开启

实验室只有有线网络,用Windows自然很方便,但是Linux下就很麻烦。

试过网上流传的各种方法,也尝试去装了ad-hotspot,都没效果。

今天去ad-hotspotGithub页面看到了create_ap这个项目,很快就把热点开起来了,简单记录一下。

1.准备

准备简单,这个东西依赖于以下软件包:

  • bash
  • util-linux
  • procps or procps-ng
  • hostapd
  • iproute2
  • iw

不管是什么版本,包管理器跑一遍没有的自然会装上。

这里有两个注意,第一个是如果你的iw无法识别所有网卡,那请再装这个:

  • iwconfig

第二个是,如果你要使用“NAT”共享网络,或者单纯就是开个内网,那请装这两个:

  • dnsmasq
  • iptables

装完了就结束了。之后直接安装就行:

1
2
3
git clone https://github.com/oblique/create_ap
cd create_ap
sudo make install

这里要注意,Arch LinuxGentoo有更加简便的安装方式,详细看项目主页。

2.使用

使用很简单,首先用ip link看一下你的所有网卡,看到如下结果:

1
2
3
4
2: enp109s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlp110s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

那么一般e开头的是有线网卡,w开头的是无线网卡。之后简单了,跑这个命令就行:

1
sudo create_ap <无线网卡名> <有线网卡名> <SSID> <密码>

回车就能跑起来了。

还有更多的例子看项目的Github主页就行。

3.按服务启动(Systemd)

上面的跑起来后shell界面不能关,一关进程就终止了。create_ap可以启动为服务,依赖于systemd,你可以自己安装(Debian和Ubuntu自带),也可以看一下启动配置,给其他同类型服务写一份配置。

设置主目录在/etc/create_ap.conf,重点改这些:

1
2
3
4
WIFI_IFACE=<无线网卡名>
INTERNET_IFACE=<有线网卡名>
SSID=<SSID>
PASSPHRASE=<密码>

改好了存一波就能直接开启了:

1
sudo service start create_ap

个人不推荐随机启动,你要是有需要就把上面的start换成enable就行。

好了,现在就掏出你的移动设备连上吧。