怎么用 OpenWRT 组建可用的网络环境

由于众所周知的原因,有时候我们的电脑在访问国外网站的时候回出现永久或间歇性的失败。也就是我们常听说的“墙”。在这样的情况下,组建一个可以完全访问互联网的自用网络环境变得尤为重要。以下就我自己的组建方法总结如下,以备后用。

我所使用的材料:

STEP 1: 在路由器上下载必须的软件包

使用 PuTTY 登陆 OpenWRT 路由器。我使用的 OYE-001,所以登陆 IP 地址是 192.168.8.1。不同的路由器会有不同的 IP 地址,比如 192.168.1.1。登陆后输入 root 用户的密码即可。

使用命令 cd /tmp 切换到 tmp 目录,以便展开后面的操作。

使用命令

# wget 'http://tcpdiag.dl.sourceforge.net/project/openwrt-dist/shadowsocks-libev/2.1.4-87ec497/ramips/shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk'

下载 Shadowsocks-libev-spec for OpenWRT 软件包。

使用命令

# wget 'http://jaist.dl.sourceforge.net/project/openwrt-dist/luci-app/shadowsocks-spec/luci-app-shadowsocks-spec_1.3.0-1_all.ipk'

下载 OpenWRT-dist LuCI 软件包。

STEP 2: 在路由器上安装软件包

使用命令

# opkg install shadowsocks-libev-spec_2.1.4-1_ramips_24kec.ipk

安装 Shadowsocks-libev-spec for OpenWRT 软件包。

使用命令

# opkg install luci-app-shadowsocks-spec_1.3.0-1_all.ipk

安装 OpenWRT-dist LuCI 软件包。

STEP 3: 配置 Shadowsocks 服务器

使用命令

# vi /etc/shadowsocks/config.json

打开 Shadowsocks 配置文件,将其中的内容按照服务器的配置参数填写完毕。比如我的就填写成这样:

{
  "server": "107.89.0.12",
  "server_port": 8345,
  "local": "0.0.0.0",
  "local_port": 1080,
  "password": "thisisapassword",
  "timeout": 60,
  "method": "aes-256-cfb"
}

STEP 4: 配置 dnsmasq 解决 dns 污染

使用以下命令

# mkdir /etc/dnsmasq.d
# echo "" >> /etc/dnsmasq.conf
# echo "conf-dir=/etc/dnsmasq.d" >> /etc/dnsmasq.conf

修改默认的 dnsmasq 设置,以完成 dns 污染问题的解决。

在 /etc/dnsmasq.d 目录下创建一个被命名为 gfwlist.conf 的文件,其内容在 dnsmasq config file 中找到。

STEP 5: 启动服务

使用命令 /etc/init.d/dnsmasq restart 重新启动 dnsmasq 服务,以便让刚才所做的修改起作用。

使用命令 /etc/init.d/shadowsocks enable 使得每次路由器启动的时候能自动加载 shadowsocks 服务。

使用命令 /etc/init.d/shadowsocks start 立即加载 shadowsocks 服务。


参考文献

  1. Shadowsocks-libev for OpenWrt
  2. OpenWrt 智能、自动、透明翻墙路由器教程