进过我测试的网卡包括:腾达(TENDA)、360随身wifi 通过lsusb命令可以看到USB接口的网卡型号,可能类似如下: Ralink Technology, Corp. RT5370 Wireless Adapter
apt-get update apt-get upgrade apt-get install hostapd dhcpd hostapd是用于AP用户认证的守护进程 udhcpd是用于提供DHCP服务
/etc/udhcpd.conf [codesyntax lang="java"]
# Sample udhcpd configuration file (/etc/udhcpd.conf)
# The start and end of the IP lease block
start 192.168.19.20 #default: 192.168.0.20
end 192.168.19.254 #default: 192.168.0.254
# The interface that udhcpd will use
interface wlan0 #default: eth0
# The maximim number of leases (includes addressesd reserved
# by OFFER's, DECLINE's, and ARP conficts
#max_leases 254 #default: 254
# If remaining is true (default), udhcpd will store the time
# remaining for each lease in the udhcpd leases file. This is
# for embedded systems that cannot keep time between reboots.
# If you set remaining to no, the absolute time that the lease
# expires at will be stored in the dhcpd.leases file.
remaining yes #default: yes
# The time period at which udhcpd will write out a dhcpd.leases
# file. If this is 0, udhcpd will never automatically write a
# lease file. (specified in seconds)
#auto_time 7200 #default: 7200 (2 hours)
# The amount of time that an IP will be reserved (leased) for if a
# DHCP decline message is received (seconds).
#decline_time 3600 #default: 3600 (1 hour)
# The amount of time that an IP will be reserved (leased) for if an
# ARP conflct occurs. (seconds
#conflict_time 3600 #default: 3600 (1 hour)
# How long an offered address is reserved (leased) in seconds
#offer_time 60 #default: 60 (1 minute)
# If a lease to be given is below this value, the full lease time is
# instead used (seconds).
#min_lease 60 #defult: 60
# The location of the leases file
lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases
# The location of the pid file
#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid
# Everytime udhcpd writes a leases file, the below script will be called.
# Useful for writing the lease file to flash every few hours.
#notify_file #default: (no script)
#notify_file dumpleases # <--- useful for debugging
# The following are bootp specific options, setable by udhcpd.
#siaddr 192.168.0.22 #default: 0.0.0.0
#sname zorak #default: (none)
#boot_file /var/nfs_root #default: (none)
# The remainer of options are DHCP options and can be specifed with the
# keyword 'opt' or 'option'. If an option can take multiple items, such
# as the dns option, they can be listed on the same line, or multiple
# lines. The only option with a default is 'lease'.
#Examles
opt dns 192.168.19.1 192.168.18.1
option subnet 255.255.255.0
opt router 192.168.19.1
opt wins 192.168.10.10
option dns 129.219.13.81 # appened to above DNS servers for a total of 3
option domain local
option lease 864000 # 10 days of seconds
# Currently supported options, for more info, see options.c
#opt subnet
#opt timezone
#opt router
#opt timesrv
#opt namesrv
#opt dns
#opt logsrv
#opt cookiesrv
#opt lprsrv
#opt bootsize
#opt domain
#opt swapsrv
#opt rootpath
#opt ipttl
#opt mtu
#opt broadcast
#opt wins
#opt lease
#opt ntpsrv
#opt tftp
#opt bootfile
#opt wpad
# Static leases map
#static_lease 00:60:08:11:CE:4E 192.168.0.54
#static_lease 00:60:08:11:CE:3E 192.168.0.44
static_lease CC:07:AB:4F:97:F7 192.168.19.2
static_lease 68:17:29:43:D2:4E 192.168.19.3
[/codesyntax]
/etc/network/interfaces [codesyntax lang="php"]
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
address 192.168.1.123
netmask 255.255.255.0
gateway 192.168.1.1
auto wlan0
iface wlan0 inet static
address 192.168.19.1
netmask 255.255.255.0
#gateway 192.168.19.1
#allow-hotplug wlan0
[/codesyntax]
/etc/hostapd/hostapd.conf [codesyntax lang="php"]
interface=wlan0
driver=nl80211
ssid=suren_pi
hw_mode=g
channel=6
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
#wpa=1
#wpa_passphrase=surenyufu
#wpa_key_mgmt=WPA-PSK
#wpa_pairwise=TKIP
#rsn_pairwise=CCMP
macaddr_acl=0
accept_mac_file=/etc/hostapd/hostapd.accept
deny_mac_file=/etc/hostapd/hostapd.deny
[/codesyntax]
echo 1 > /proc/sys/net/ipv4/ip_forward 在/etc/rc.local中添加如下代码: iptables-restore /etc/hostapd/ip_ruler 以下是文件/etc/hostapd/ip_ruler的内容 [codesyntax lang="php"]
# Generated by iptables-save v1.4.14 on Thu Jul 3 09:31:08 2014
*nat
:PREROUTING ACCEPT [193:31412]
:INPUT ACCEPT [49:4920]
:OUTPUT ACCEPT [70:4419]
:POSTROUTING ACCEPT [1:108]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Jul 3 09:31:08 2014
# Generated by iptables-save v1.4.14 on Thu Jul 3 09:31:08 2014
*filter
:INPUT ACCEPT [794:69937]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [611:63929]
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
COMMIT
# Completed on Thu Jul 3 09:31:08 2014
[/codesyntax] 注意:上面的eth0是可以上网的网卡名称,wlan0是要分配ip地址的网卡名称,实际中要做相应的修改。
service hostapd restart service udhcpd restart
到此时,你就可以通过手机或者笔记本连接到suren的wifi了。