大黑客教你如何用树莓派自制一个无线路由器,干货收藏

最近在玩树莓派,我打算搞个无线路由器,这里的前提是树莓派要求有无线网卡(一个小小的usb)。这里就不介绍如何安装树莓派系统。好,让我们直接进入主题!

1.修改wlan0的ip

sudo vim /etc/network/interfaces

把其中有关wlan0的部分注释或者删掉。注意别把搞混eth0的部分,那个是有线网卡

iface wlan0 inet static

address 192.168.10.1

netmask 255.255.255.0

2.安装hostapd

sudo apt-get install hostapd

sudo nano /etc/default/hostapd

找到#DAEMON_CONF= "",修改为:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

sudo nano /etc/hostapd/hostapd.conf

里面的内容修改大致如下,按照需要来改自己的参数,主要那几个修改下便可以,其中wpa之前是等于3.这里要修改为2.我们平时接的wifi还是WPA2这种模式居多。其中driver=nl80211 是大部分人选用的驱动,因为我的驱动安装有问题,因此我安装了第三方的驱动,最后出现如下的driver。下面会有安装第三方驱动方法。

interface=wlan0

ssid=Raspberry

channel=11

#bridge=br0


# WPA and WPA2 configuration


macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=raspberry

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP


# Hardware configuration


driver=rtl871xdrv

ieee80211n=1

hw_mode=g

device_name=RTL8192CU

manufacturer=Realtek

hostapd主要便是这个hostapd.conf的文件设置。现在便可以重启你的hostapd服务

sudo service hostapd restart

如果没有出现错误,那可以下一步,我的就没那么幸运,出现下面错误,需要安装第三方驱动

Configuration file: /etc/hostapd/hostapd.conf

nl80211: 'nl80211' generic netlink not found

Failed to initialize driver 'nl80211'

卸载前面安装的hostapd驱动

sudo apt-get autoremove hostapd

下载第三方驱动

wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz

tar -zxvf v1.1.tar.gz

cd RTL8188-hostapd-1.1/hostapd

sudo make

sudo make install

Now!你可以重启hostapd服务,这下没问题了,嘻嘻。

3.安装dhcp服务

sudo apt-get install isc-dhcp-server

sudo nano /etc/dhcp/dhcpd.conf

内容如下:

default-lease-time 600;

max-lease-time 7200;

log-facility local7;


subnet 192.168.10.0 netmask 255.255.255.0 {

range 192.168.10.10 192.168.10.100;

option routers 192.168.10.1;

option broadcast-address 192.168.10.127;

option domain-name-servers 8.8.8.8,8.8.4.4;

default-lease-time 600;

max-lease-time 7200;

}

保存后重启服务

sudo service isc-dhcp-server restart

4.配置路由转发

sudo iptables -F

sudo iptables -X

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo bash

iptables-save > /etc/iptables.up.rules

exit

sudo nano /etc/network/if-pre-up.d/iptables

添加下面两行代码:

#!/bin/bash

/sbin/iptables-restore < /etc/iptables.up.rules

保存退出,然后修改iptables权限:

sudo chmod 755 /etc/network/if-pre-up.d/iptables

开户内核转发:

sudo nano /etc/sysctl.conf

找到下面两行:

# Uncomment the next line to enable packet forwarding for IPv4

#net.ipv4.ip_forward=1

把net.ipv4.ip_forward 前面的#去掉,保存退出。 然后

sudo sysctl -p

5.服务自启动

热点wifi当然是开机要自启动,不然还要bash命令的话,出去外面开个wifi都做不到。继续如下:

$ sudo chkconfig --add hostapd

$ sudo chkconfig --add isc-dhcp-server

上述内容不知道大家学习到了吗?网络世界的安全漏洞每天都会出现,安全知识和安全意识每个公民都应该了解和学习,有想学习网络安全技能的小伙伴可以随时私信我哦!


分享到:


相關文章: