打造无线中继代理树莓派路由器

安装依赖

sudo apt install hostapd dnsmasq ss-libev

配置hostapd

#/etc/hostapd/hostapd.conf

# Basic configuration    
interface=wlan0
ssid=wifiname
channel=1
#bridge=br0

# WPA and WPA2 configuratio
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

# Hardware configuration
driver=nl80211
#driver=rtl871xdrv
#ieee80211n=1
hw_mode=g
#device_name=RTL8192CU
#manufacturer=Realtek

配置dnsmasq

# /etc/dnsmasq.conf

#interface=wlan0
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.188.10,192.168.188.100,12h

配置interfaces

auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-roam /etc/wpa.conf

或者不写配置地址,直接写配置

wpa-ssid    接入AP的名字
wpa-psk   接入AP的密码

sudo /etc/init.d/networking restart   重启网络

/etc/wpa.conf

network={
ssid="wifiname"
key_mgmt=NONE
#psk="xxxxx"
}

固定网卡mac地址

#/etc/udev/rules.d/99-com.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="wlan0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="wlan1"

配置ss信息

#/etc/ss-redir.json

{
  "server": "serverip",
  "server_port": 8388,
  "password": "password",
  "local_address": "0.0.0.0",
  "local_port": 12345,
  "method": "aes-256-cfb"
}

开机启动

#/etc/rc.local

sudo ifconfig wlan0 down
sudo ifconfig wlan0 192.168.188.1 netmask 255.255.255.0 up
sudo hostapd -B /etc/hostapd/hostapd.conf

iptables -t nat -A PREROUTING -d SERVER_IP -j RETURN
iptables -t nat -A PREROUTING -d 127.0.0.0/24 -j RETURN
iptables -t nat -A PREROUTING -d 192.168.0.0/16 -j RETURN
iptables -t nat -A PREROUTING -d 0.0.0.0/8 -j RETURN
iptables -t nat -A PREROUTING -d 10.0.0.0/8 -j RETURN
iptables -t nat -A PREROUTING -d 172.16.0.0/12 -j RETURN
iptables -t nat -A PREROUTING -d 224.0.0.0/4 -j RETURN
iptables -t nat -A PREROUTING -d 240.0.0.0/4 -j RETURN
iptables -t nat -A PREROUTING -d 169.254.0.0/16 -j RETURN

iptables -t mangle -I PREROUTING -d SERVER_IP -j RETURN
iptables -t mangle -I PREROUTING -d 127.0.0.0/24 -j RETURN
iptables -t mangle -I PREROUTING -d 192.168.0.0/16 -j RETURN
iptables -t mangle -I PREROUTING -d 0.0.0.0/8 -j RETURN
iptables -t mangle -I PREROUTING -d 10.0.0.0/8 -j RETURN
iptables -t mangle -I PREROUTING -d 172.16.0.0/12 -j RETURN
iptables -t mangle -I PREROUTING -d 224.0.0.0/4 -j RETURN
iptables -t mangle -I PREROUTING -d 240.0.0.0/4 -j RETURN
iptables -t mangle -I PREROUTING -d 169.254.0.0/16 -j RETURN
iptables -t mangle -I PREROUTING -d 255.255.0.0/8 -j RETURN

iptables -t nat -A PREROUTING -p tcp -s 192.168.188.0/24 -j REDIRECT --to-ports 12345

ip rule add fwmark 0x01/0x01 table 100
ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -N SSUDP
iptables -t mangle -A SSUDP -p udp -j TPROXY --on-port 12345 --tproxy-mark 0x01/0x01
iptables -t mangle -A PREROUTING -j SSUDP

ss-redir -c /etc/ss-redir.json -u

 使用 sudo /etc/init.d/networking restart 重启网络

 
posted @ 2018-05-13 22:04  JamVayne  阅读(283)  评论(0)    收藏  举报