Openwrt的一些小折腾

/ 3 Comments / 7310 View

最近看到一些案例,电信对“内网宽带私设 web 服务”的直接封禁,令直接把 443 这些常用端口映射出去的我瑟瑟发抖。赶紧把 web 相关的端口全部关闭,只保留远程桌面和 SSH 端口,但这样操作对于经常要用的服务器上一些服务时就麻烦了。

上一次把主路由刷了 openwrt,干脆把路由重新配置一遍,通过 VPN 连接家庭网络来使用内网服务顺便翻墙。不过安装固件后只剩 3M 多点的容量来安装软件,好好规划了一下才把需要的服务安装上了。

安装 kms & vpn

我提供的两个 IPK 适用于 CPU 架构为 mips_24kc

cd /tmp
opkg update
wget https://cdn.uefeng.com/op/vpn.ipk
opkg install vpn.ipk
wget https://cdn.uefeng.com/op/kms.ipk
opkg install kms.ipk

安装 Shadowsocks

(教程来源于 飞羽博客

首先添加 a65535 的 gpg key,通过签名验证。执行:

wget http://openwrt-dist.sourceforge.net/packages/openwrt-dist.pub -O /tmp/openwrt-dist.pub
opkg-key add /tmp/openwrt-dist.pub

添加软件源:

vi /etc/opkg/distfeeds.conf
#在最后添加下面两行,mips_24kc 为 cpu 架构,自行替换
src/gz openwrt_dist http://openwrt-dist.sourceforge.net/packages/base/mips_24kc
src/gz openwrt_dist_luci http://openwrt-dist.sourceforge.net/packages/luci

安装依赖和 Shadowsocks :

opkg update
opkg install ipset libpthread
opkg install shadowsocks-libev
opkg remove dnsmasq && opkg install dnsmasq-full

配置 shadowsocks:

vi /etc/shadowsocks.json (11月20日更正)
#输入配置
{
  "server": "服务器 IP 地址",
  "server_port": "端口",
  "password": "密码",
  "local_port": "1080",
  "method": "加密方式"
}


vi /etc/init.d/shadowsocks
#输入配置

#!/bin/sh /etc/rc.common

START=95
 
SERVICE_DAEMONIZE=1
CONFIG=/etc/shadowsocks.json
DNS=8.8.8.8:53
TUNNEL_PORT=5353
 
start() {
    # Proxy Mode
    service_start /usr/bin/ss-redir -c $CONFIG -b 0.0.0.0
    # Tunnel
    service_start /usr/bin/ss-tunnel -c $CONFIG -b 0.0.0.0 -u -l $TUNNEL_PORT -L $DNS
}
 
stop() {
    # Proxy Mode
    service_stop /usr/bin/ss-redir
    # Tunnel
    service_stop /usr/bin/ss-tunnel
}

修改文件权限:

chmod +x /etc/init.d/shadowsocks

启动shadowsocks,并设置开机运行:

/etc/init.d/shadowsocks enable
/etc/init.d/shadowsocks start

配置 ipset:

vi /etc/firewall.user
#最后面增加配置

ipset -N gfwlist iphash
iptables -t nat -A PREROUTING -p tcp -m set --match-set gfwlist dst -j REDIRECT --to-port 1080
iptables -t nat -A OUTPUT -p tcp -m set --match-set gfwlist dst -j REDIRECT --to-port 1080

修改 dnsmasq 配置:

vi /etc/dnsmasq.conf
#最后面增加配置

conf-dir=/etc/dnsmasq.d

添加 gfwlist

cd /etc/dnsmasq.d
wget https://cokebar.github.io/gfwlist2dnsmasq/dnsmasq_gfwlist_ipset.conf
/etc/init.d/dnsmasq restart

配置 dnspod 更新

2019年11月12日:更改代码。

利用 hotplug 脚本在网络接口启动或关闭时执行相应的动作,login_token,domain_id,record_id,sub_domain 自行修改

vi /etc/hotplug.d/iface/30-ifup.sh
#输入配置

#!/bin/sh
# wan ifup
[ $ACTION = "ifup" -a $INTERFACE = "wan" ]
curl -X POST https://dnsapi.cn/Record.Ddns -k -d "login_token=888888,8a8a8a8a8a8a8a8a8a&format=json&domain_id=888888&record_id=88888888&record_line_id=0&record_type=A&sub_domain=router"

#增加可执行权限(11月20日更正)
chmod +x /etc/hotplug.d/iface/30-ifup.sh

完成

最后,overlay 空间就剩余100多k而已,还有一两个需要的依赖无法安装,不过也不影响日常使用了。

openwrt-2.jpg

WDR4310 的性能虽然很让人捉急,不过 100Mb 的宽带跑满还是不成问题。

已有 3 条评论
  1. 真的会被封禁吗?我内网穿透了还绑定了域名。。。

    回复
    1. @山小炮

      上海深圳有几个被封过的,所以也不知他们的具体标准是什么

      回复
  2. 小白直接刷潘多拉了

    回复
发表新评论