-
Notifications
You must be signed in to change notification settings - Fork 420
GfwList Support
Jian Chang edited this page Apr 19, 2018
·
7 revisions
此功能是访问控制功能的扩展应用, 在 ipset ss_spec_dst_bp
中设置 0.0.0.0/1
和 128.0.0.0/1
后, 所有 IP 都不使用 SS 代理了, 而 ipset ss_spec_dst_fw
中的 IP 是会被强制使用 SS 代理的, 且 ss_spec_dst_fw
的优先级要高于 ss_spec_dst_bp
, 所以可以达到使用 GfwList 的目的.
-
进入 Luci 界面 -> 访问控制 -> 外网区域
「被忽略IP列表」 选择留空(/dev/null)
「额外被忽略IP」 设置为0.0.0.0/1
和128.0.0.0/1
-
对于 GfwList 中的 IP 地址, 可以直接添加到「强制走代理IP」里
也可以保存为一个 IP 列表文件后将列表文件路径填到「走代理IP列表」里 -
对于 GfwList 中的域名, 新建一个 dnsmasq 的配置文件, 里面写入类似如下的内容
# 使用不受污染干扰的 DNS 解析该域名
server=/google.com/127.0.0.1#5353
# 将解析出来的结果保存到名为 gfwlist 的 ipset 表中
ipset=/google.com/gfwlist
您也可以使用 gfwlist2dnsmasq 更方便的生成 dnsmasq 配置文件
- 然后依次执行以下命令
ipset create gfwlist hash:ip
iptables -t nat -I SS_SPEC_WAN_AC 1 -m set --match-set gfwlist dst -j SS_SPEC_WAN_FW
/etc/init.d/dnsmasq restart
每次重启 shadowsocks 后 SS_SPEC_WAN_AC
都会被销毁重建, 所以您需要在每次重启 shadowsocks 后执行以下命令
iptables -t nat -I SS_SPEC_WAN_AC 1 -m set --match-set gfwlist dst -j SS_SPEC_WAN_FW