hostapd配置热点on ubuntu

1.查看自己的无线网卡信息:

代码:

$ hwinfo --netcard

如果不用桥接模式,用nat模式的话,只安装hostapd就可以了。

查看是否支持ap功能,如果有AP字样,说明支持
代码:
$ sudo apt-get install iw
$ iw list

2.安装hostapd,反正提示依赖什么包就安装什么包
代码:
$ sudo apt-get install libnl1 libnl-dev libnl-doc
$ sudo apt-get install libssl-dev
$sudo apt-get install bridge-utils
$sudo apt-get install hostapd
$sudo cp /usr/share/doc/hostapd/examples/hostapd.conf.gz   /etc/hostapd/
$sudo gzip -d /etc/hostapd/hostapd.conf.gz
$vi /etc/hostapd/hostapd.conf

hostapd.conf内容如下:
interface=wlan0
bridge=br0
driver=nl80211
ssid=ssa
hw_mode=g
channel=11
dtim_period=1
rts_threshold=2347
fragm_threshold=2346
auth_algs=3
wpa=1
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

以下都是桥接模式的方法,如果用nat模式往最后看。

3.设置网卡桥接模式

下面这个文件最后备份一下
代码:
$sudo vi /etc/network/interfaces

把里面内容替换成如下 (172.16.16.178是eth0原来的地址,意思就是br0现在成了该主机的对外网卡,eth0是br0桥接的端口之1
所以br0在这里的设置完全是和eth0一样的)
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto br0
iface br0 inet static
bridge_ports eth0
address 172.16.16.X ##这里是你的IP
netmask 255.255.255.0
network 172.16.16.0
broadcast 172.16.16.255
gateway 172.16.16.G ##这里是你的网关
编辑完成后保存
代码:
$sudo /etc/init.d/networking restart

最好是重启一下。
其实到这里网应该已经通了,ping 一下运营商的nds服务器
代码:
$ping 8.8.8.4.4

应该显示可以通了。但是
代码:
$ping www.baidu.com

应该是不能通的。
4.为主机重新设置dns
这里不在/etc/resolve.conf里改,因为重启后就没有了。下面这个文件重启后不会被改掉。
代码:
$sudo vi /etc/resolvconf/resolv.conf.d/tail

这个文件默认应该是没有的,保存
nameserver 202.100.64.68
保存后ping 下www.baidu.com,应该可以通了
5.手机与电脑eth0设置
电脑端eth0不用设置IP地址了。把原来设置的删掉。
手机端要手动设置IP地址,为172.16.16.Y,其它设置都一样

试一下,手机应该可以上网了。


上面是bridge模式上网,你的无线设备会和ubuntu主机一样出现在你的局域网里;下面是我用电信cdma无线网卡拨号上网,用笔记本的wifi来共享给手机和其它电脑,采用的是nat模式,用ubuntu主机作nat路由器,来对无线设备的数据进行转发,这里没有配置DHCP,所以要在无线设备上手动设置IP地址,网关,和DNS。
1.正确设置hostapd.conf
2. 设置/etc/sysctl.conf中ipforward
下面两步是关键
3.设置wlan0的IP地址
sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
4.设置iptables转发
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
5.把iptables 设置保存
sudo iptables-save > /etc/iptables-rules
6.在下次启动时加载iptables设置
sudo iptables-restore < /etc/iptables-rules


如果是安装系统时无线网卡插在计算机上,可能会引起Networkmanager接管无线网卡导致“nl80211 driver initialization failed.”错误

文章 https://wiki.archlinux.org/index.php/Software_Access_Point#NetworkManager_is_interfering中给出了解决办法,编辑/etc/NetworkManager/NetworkManager.conf

加入以下两行

[keyfile]

unmanaged-devices=mac:<hwaddr> 

把NetworkManager重启一下就好了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值