本文共 3520 字,大约阅读时间需要 11 分钟。
由于手机流量很容易就用完了,而且在学校又是用的校园网,笔记本共享无线wifi是非常普遍的事,对于windows平台,除去windows自带的,各种软件简直是漫天飞,
但是到了Linux上面,软件就比较少了,而Ubuntu自带的是Ad-hoc热点,很多安卓手机并不支持,在网上挖了两天的资料,终于找出一些靠谱的方案,下面就是其中一个
方法。
我的电脑是Ubuntu13.10,网卡是atheros的,用的是兼容驱动。
首先下个软件:
sudo apt-get install hostapd dnsmasq
auto eth0 iface eth0 inet static address 192.168 . 1.100 # ip地址,自己修改 netmask 255.255.255.0 # 子网掩码,自己修改 gateway 192.168.1.1 # 网关,自己修改 auto lo iface lo inet loopback
interface = wlan0 driver = nl80211 ssid = wbyxu # ssid 可以改成你喜欢的名字 hw_mode=g channel=11 #网上的资料很多,也可以是6或者其他的 dtim_period=1 rts_threshold=2347 fragm_threshold=2346 macaddr_acl=0 auth_algs=3 ieee80211n=0 wpa=3 wpa_passphrase=12345678 #自行设置密码,最好密码后要留空格(感觉留空格不靠谱) wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
interface = wlan0 bind - interfaces #这个是只监听wlan0,没有之会检测所有卡 except-interface=lo dhcp-range=10.0.0.10,10.0.0.110,6h #设置dhcp地址范围,即租借时间6小时 #address=/#/10.0.0.1 #这个会把#(代表所有网址)的dns到10.1.1.1这个地址 dhcp-option=3,10.0.0.1 #为手机配置网关 (此处参考) dhcp-option=6,202.114.128.2#为手机配置dns,请自己修改为外网的dns地址(此处参考)(这点很重要,不然有些网站上不了,特别是校园网)
#! /bin/sh # 为无线添加路由规则# 下面一堆iptables开头的似乎也不是必须的,有的版本就只有一个 iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE iptables -A FORWARD -s 10.0.0.0/8 -o eth0 -j ACCEPT iptables -A FORWARD -d 10.0.0.0/8 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT #dnsmasq与named一般情况下bind的named会占了53端口, # 然后dnsmasq会启动不了,所以我用killall named来杀了named再启动dnsmasq。 killall named killall hostapd ifconfig wlan0 10.0.0.1 #“-B”后台运行,之后的hostapd.conf需要指名路径. hostapd -B /etc/hostapd.conf #必须用-B选项,应为后面的DNS要执行到,不然上不了网,当然也可以先执行DNS的修改,然后就随意了 /etc/init.d/dnsmasq restart # dnsmasq启动后会出现电脑突然上不了网, # 因为dnsmasq更改了/etc/resolv.conf的原因。可以在/etc/resolv.conf加一行 # nameserver x.x.x.x #填入DNS服务器地址,根据自己的情况修改。 echo "nameserver 202.114.128.2" >> /etc/resolv.conf
sudo chmod a+x /usr/bin/myap
sudo su echo "net.ipv4.ip_forward=1" >> /etc/ sysctl . conf echo 1 > /proc/ sys / net / ipv4 / ip_forward exit
sudo ./myap
转载地址:http://stuws.baihongyu.com/