前言
raspberry pi(树莓派), 是一款针对电脑业余爱好者、教师、小学生以及小型企业等用户的迷你电脑,由于可以烧录Linux操作系统,因此可以衍生出各种各样的使用途径,诸如控制版,爬虫机器,个人vps,门禁系统…..本文主要介绍如何在raspberry pi上面完成pppoe拨号上网功能,以及如何利用raspberry pi完成路由转发功能,进而将其作为一个家用无线路由器来使用。
准备环境
raspberry pi 三代 b+版
Kali Linux 镜像,点此链接下载最新镜像
一款Kali Linux支持的,拥有AP模式的USB网卡, 可以参考此链接
root@kali:~# apt-get install pppoe pppoeconf hostapd udhcpd
设置拨号
在这里,我们使用Raspberry pi的以太网网口接入网线进行拨号设置。在命令行输入如下指令:
root@kali:~# pppoeconf
在这里,会提示相应的配置文件将发生改变,点选Yes。
下一步会提示在拨号的偏好设定,点选Yes。
下一步会提示输入拨号的用户名,直接输入然后点击OK。
下一步会提示输入拨号密码,直接输入然后点击OK。
下一步会确认是否将ISP供应商提供的DNS信息写入配置,选Yes。
下一步会提示修改ppp接口的MTU大小,选择Yes。
下一步提示是否在开机启动的时候就进行ppp拨号,选择Yes。
下一步提示是否现在进行拨号连接,选择Yes。
拨号成功之后,利用ip命令查看ppp情况:
root@kali:~# ip a s ppp0
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1488 qdisc pfifo_fast state UNKNOWN group default qlen 3
link/ppp
inet 10.12.6.137 peer 10.12.0.1/32 scope global ppp0
valid_lft forever preferred_lft forever
root@kali:~# ip r s t main
default dev ppp0 scope link
10.12.0.1 dev ppp0 proto kernel scope link src 10.12.6.137
20.20.20.0/24 dev wlan1 proto kernel scope link src 20.20.20.1
可以看到,已经拨号获取地址,ping一下 伟大的百度 试试……
root@kali:~# ping -c 3 www.baidu.com
PING www.a.shifen.com (119.75.217.109) 56(84) bytes of data.
64 bytes from 119.75.217.109 (119.75.217.109): icmp_seq=1 ttl=55 time=4.33 ms
64 bytes from 119.75.217.109 (119.75.217.109): icmp_seq=2 ttl=55 time=4.18 ms
64 bytes from 119.75.217.109 (119.75.217.109): icmp_seq=3 ttl=55 time=4.06 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 4.064/4.193/4.333/0.122 ms
至此,pppoe拨号配置完毕。
无线热点(AP)配置
首先查一下所用的无线网卡是否支持AP模式,我这里的无线网卡的标识为phy1, wlan1,可以看到,该网卡支持AP模式:
root@kali:~# iw phy1 info | grep -i ap
* AP
* AP/VLAN
Capabilities: 0x172
* start_ap
* set_noack_map
* set_qos_map
* AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* AP/VLAN
* #{ AP, mesh point } <= 8,
HT Capability overrides:
Device supports AP scan.
下一步,编辑/etc/hostapd/hostapd.conf文件:
interface=wlan1 #使用的接口名称
ssid=Raspberry_AP #AP的ssid名称
hw_mode=g #操作模式为IEEE 802.11g
channel=11 #设置频段为11
macaddr_acl=0 #启用mac地址白名单模式
auth_algs=1 #定义802.11鉴权算法为Shared Key Authentication
ignore_broadcast_ssid=0 #关闭broadcast_ssid功能
wpa=2 #采用wpa2标准
wpa_passphrase=raspberrypi #密码
wpa_key_mgmt=WPA-PSK #使用wpa2-psk类型进行加密
wpa_pairwise=TKIP #加密算法
rsn_pairwise=CCMP #加密算法
编辑完毕之后,利用如下命令启动hostapd:
root@kali:~# /usr/sbin/hostapd -B -P /run/hostapd.pid \
/etc/hostapd/hostapd.conf
配置DHCP功能
编辑/etc/udhcpd.conf文件,修改如下内容:
# Sample udhcpd configuration file (/etc/udhcpd.conf)
# The start and end of the IP lease block
start 20.20.20.2 #default: 192.168.0.20
end 20.20.20.20 #default: 192.168.0.254
# The interface that udhcpd will use
interface wlan1 #default: eth0
配置完毕之后,启动udhcpd服务:
root@kali:~# udhcpd /etc/udhcpd.conf
开启NAT转发功能
在Raspberry pi上面开启NAT功能,以实现路由转发。
root@kali:~# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
root@kali:~# iptables -t filter -A FORWARD -i ppp0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
root@kali:~# iptables -t filter -A FORWARD -i wlan1 -j ACCEPT
连接测试
通过本地windows连接Raspberry_AP,并用本地cygwin尝试连接 伟大的百度……测试连通成功,至此Raspberry pi已经可以作为家庭路由器进行工作了!
[jiangche00.jiangche00-PC] ping www.baidu.com
正在 Ping www.a.shifen.com [119.75.217.109] 具有 32 字节的数据:
来自 119.75.217.109 的回复: 字节=32 时间=5ms TTL=54
来自 119.75.217.109 的回复: 字节=32 时间=6ms TTL=54
来自 119.75.217.109 的回复: 字节=32 时间=6ms TTL=54
来自 119.75.217.109 的回复: 字节=32 时间=11ms TTL=54
119.75.217.109 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 5ms,最长 = 11ms,平均 = 7ms
本文出自 “技术成就梦想” 博客,请务必保留此出处http://jiangche00.blog.51cto.com/4377920/1910992
原文地址:http://jiangche00.blog.51cto.com/4377920/1910992