最近在Ubuntu找了很久,也找不到一个可以将无线网卡作AP的软件,试了网上很多方法都不行,有些是可以搜到热点,但我的Android手机连上去的时候获取不了ip地址。研究了几天,昨晚花了一晚时候,去写个脚本,成功的连上了。希望我这个脚本能帮到大家解决问题。主要是用到iwconfig这个无线配置工具,然后用iptable设置NAT规则,使用dnsmasq去分配ip地址。
- ifconfig wlan0 192.168.2.254 netmask 255.255.255.0
- ifconfig wlan0 up
- #设置为ad-hoc模式
- iwconfig wlan0 mode ad-hoc
- #设置essid,即搜索到的名字
- iwconfig wlan0 essid Leon_in_GuangZhou
- iwconfig wlan0 channel auto
- #设置密码
- iwconfig wlan0 key s:androidworkab
- iwconfig wlan0 key restricted
-
- #删除旧的规则
- iptables -N wireless-adhoc
- iptables -F wireless-adhoc
- iptables -t nat -F PREROUTING
- iptables -t nat -F POSTROUTING
- iptables -t nat -F
- #建立新的规则
- iptables -A wireless-adhoc -m state --state ESTABLISHED,RELATED -j ACCEPT
- iptables -A wireless-adhoc -s 192.168.2.0/24 -j ACCEPT
- iptables -A wireless-adhoc -p 47 -j ACCEPT
- iptables -A wireless-adhoc -j DROP
- iptables -A FORWARD -m state --state INVALID -j DROP
- iptables -A FORWARD -j wireless-adhoc
- iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
- echo "1" > /proc/sys/net/ipv4/ip_forward
- dnsmasq -i wlan0 --resolv-file=/etc/resolv.conf --conf-file=/etc/adhoc/dnsmasq.conf
/etc/adhoc/dnsmasq.conf文件内容为
- dhcp-authoritative
- dhcp-range=192.168.2.100,192.168.2.105,12h
- dhcp-leasefile=/var/run/dnsmasq.leases
- pid-file=/var/run/dnsmasq.pid
- user=root
- no-negcache
完整脚本下载地址:免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /pub/2011/08/01/Linux Wifi共享上网脚本/
以下是脚本的使用方法:#先加可执行的权限,XXX代表脚本的路径
chmod +x /XXX/XXX/adhoc#运行脚本
sudo /XXX/XXX/adhoc#停止共享
sudo /XXX/XXX/adhoc -s#重启动共享
sudo /XXX/XXX/adhoc -r注意:如果运行脚本后,手机或电脑搜不到你的共享,运行重新启动共享命令
sudo /XXX/XXX/adhoc -r即可,多次几次就行了。在Linux下找不到cutil.h的解决方法Linux系统增加交换空间的方法相关资讯 Linux教程
- Linux教程:如何在命令行中查看目 (07/28/2014 12:22:23)
- Linux 修改root密码 (11/03/2012 07:53:38)
- su - root 与su root的区别 (06/06/2012 00:39:40)
| - Linux进程间通信:消息队列 (01/28/2013 09:43:00)
- U盘安装Linux开机无法启动解决方法 (10/07/2012 08:55:52)
- Windows 7/Linux 同步时间 (05/15/2012 06:17:55)
|
本文评论 查看全部评论 (0)