基于树莓派 Mini 防火墙项目合作笔记

关于

这是 Evil Genius 团队的工作组笔记。小组成员将项目开发过程中产生的问题、解决问题的方案,以及引用的档案,记录在此,方便队员间查阅和后期整理成文。


 hostapd

1、官方版 源码

sudo apt-get install libnl-dev
cd hostapd-x.y.z/hostapd
cp defconfig .config
sudo make
sudo make install

This last step will move the created hostapd and hostapd_cli binary to /usr/local/bin

安装指南

2、For RT8188cus 版  源码

cd RTL8188-hostapd-2.0/hostapd
sudo make
sudo make install

This last step will move the created hostapd and hostapd_cli binary to /usr/local/bin, add a startup script and create a configuration file in /etc/hostapd/hostapd.conf.

安装指南

3、需要同时安装两个版本的 hostapd:

先安装 RTL8188版,将其 hostapd 二进制文件重命名为 hostapdrtl8188 ,将其配置文件 /etc/hostapd/hostapd.conf  更名为 hostapdrtl8188.conf 使用如下命令启动

sudo /usr/local/bin/hostapdrtl8188 /etc/hostapd/hostapd.conf 

接着便可以安装原版 hostapd 了,安装完成后使用如下命令启动

sudo /usr/local/bin/hostapd /etc/hostapd/hostapd.conf 
#如果没有 hostapd.conf 自行按教程所描述创建
#或按教程配置好后
sudo service hostapd start

注意原版hostapd与8188版本的 hostapd.conf 不通用

如果原版hostapd要使用安装8188版hostapd后产生的.conf文件,须修改并注释掉:

修改
driver=rtl871xdrv
#为
driver=nl80211

注释掉
ieee80211n=1
device_name=RTL8192CU
manufacturer=Realtek

配置 hostapd+udhcpd

主要文档(注意配置8188网卡配置conf时 driver 行填 rtl871xdrv )、其它文档

udhcp 配置好后启动前,须其监听的网卡为启动状态,即启动在 wlan1 配置ip之后(/etc/network/interfaces 里将静态的 wlan1 配置行放到动态的wlan0前面,因为wlan0连上wiif需要较长时间)

PPPoE

防火墙规则:

一、路由转发:

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE  #开启NAT

sudo iptables -A FORWARD -i wlan0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT

二、shadowsocks代理:

# dns 请求,dns 53 -> chinadns 5353
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 5353

# 其他请求:
# shadowsocks
iptables -t nat -N SHADOWSOCKS

iptables -t nat -A SHADOWSOCKS -p tcp --dport <your-server-port> -j RETURN
iptables -t nat -A SHADOWSOCKS -d <your-server-ip> -j RETURN

# ignore internal ip
iptables -t nat -A SHADOWSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 240.0.0.0/4 -j RETURN

# ignore asia ip
iptables -t nat -A SHADOWSOCKS -d 1.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 14.0.0.0/8 -j RETURN
iptables -t nat -A SHADOWSOCKS -d 27.0.0.0/8 -j RETURN

# 其他需要走直连的请自行添加 ......

iptables -t nat -A SHADOWSOCKS -p tcp -j REDIRECT --to-ports <your-local-port>
iptables -t nat -I PREROUTING -p tcp -j SHADOWSOCKS

其他问题

1、网卡固定命名

有两张usb无线网卡,由于系统随机命名wlan0,wlan1…,导致一些后续依据网卡名的命令混乱失效,解决方法:

 #编辑(新建)
sudo vim /etc/udev/rules.d/70-persistent-net.rules

#根据网卡 MAC 地址添加规则
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="macaddress", NAME="wlan0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="macaddress", NAME="wlan1"

重启系统

数字证书原理

发表评论

电子邮件可用于接收评论通知,但不会被公开。必填项已用 * 标注。