树莓派变身智能无线路由器

  • 选购合适的无线网卡
进过我测试的网卡包括:腾达(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服务
  • 配置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]  
  • 配置AP
/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了。

转载于:https://my.oschina.net/surenpi/blog/481722

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值