在树莓派上使用Dockers运行Openwrt并作为主路由器的旁路由的方式比较爽,但是树莓派的风扇声音太大,考虑直接用电脑代替树莓派。在Ubuntu Server上安装V2Ray客户端+smartdns,客户端则使用proxy进行上网。

本文假设你已经安装了Ubuntu Server了

v2ray安装

v2ray安装比较简单,直接去github上找一个版本下载即可 然后将下载的文件scp到服务器并解压到一个目录中,假设解压的目录为/usr/local/bin/v2ray

编辑配置文件

配置文件的路径为解压目录中的config.json

1
vim /usr/local/bin/v2ray/config.json

我使用的配置文件如下:注意:需要outbounds,根据server来配置

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
{
  "log": {
    "access": "",
    "error": "",
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "tag": "socks",
      "port": 10808,
      "listen": "0.0.0.0",
      "protocol": "socks",
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "settings": {
        "auth": "noauth",
        "udp": true,
        "allowTransparent": false
      }
    },
    {
      "tag": "http",
      "port": 10809,
      "listen": "127.0.0.1",
      "protocol": "http",
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "settings": {
        "udp": false,
        "allowTransparent": false
      }
    }
  ],
  "outbounds": [
  ],
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "domainMatcher": "mph",
    "rules": [
      {
        "type": "field",
        "outboundTag": "Direct",
        "protocol": ["bittorrent"]
      },
      {
        "type": "field",
        "outboundTag": "Reject",
        "domain": ["geosite:category-ads-all"]
      },
      {
        "type": "field",
        "outboundTag": "Proxy",
        "domain": [
          "full:www.icloud.com",
          "domain:icloud-content.com",
          "geosite:google"
        ]
      },
      {
        "type": "field",
        "outboundTag": "Direct",
        "domain": [
          "geosite:tld-cn",
          "geosite:icloud",
          "geosite:category-games@cn"
        ]
      },
      {
        "type": "field",
        "outboundTag": "Proxy",
        "domain": ["geosite:geolocation-!cn"]
      },
      {
        "type": "field",
        "outboundTag": "Direct",
        "domain": ["geosite:cn", "geosite:private"]
      },
      {
        "type": "field",
        "outboundTag": "Direct",
        "ip": ["geoip:cn", "geoip:private"]
      },
      {
        "type": "field",
        "outboundTag": "Proxy",
        "network": "tcp,udp"
      }
    ]
  }
}

tips:

v2ray-rules-dat可以在这个仓库下载

编辑systemd文件

systemd文件路径为:/etc/systemd/system/v2ray.service systemd文件内容为:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
[Unit]
Description=V2Ray Service
Documentation=https://www.v2fly.org/
After=network.target nss-lookup.target

[Service]
User=nobody
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/bin/v2ray/v2ray -config /usr/local/bin/v2ray/config.json
Restart=on-failure
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target

如果自己解压的目录不一致,则需要替换ExecStart部分

启动v2ray

1
2
sudo systemctl enable v2ray
sudo systemctl start v2ray

smartdns

官网介绍的是:

SmartDNS 是一个运行在本地的 DNS 服务器,它接受来自本地客户端的 DNS 查询请求,然后从多个上游 DNS 服务器获取 DNS 查询结果,并将访问速度最快的结果返回给客户端,以此提高网络访问速度。 SmartDNS 同时支持指定特定域名 IP 地址,并高性匹配,可达到过滤广告的效果; 支持DOT(DNS over TLS)和DOH(DNS over HTTPS),更好的保护隐私。 与 DNSmasq 的 all-servers 不同,SmartDNS 返回的是访问速度最快的解析结果。

我使用了1年多,稳定、好用,就是解析Binance的时候经常出问题。

安装

安装比较简单,Ubuntu上直接使用

1
sudo apt-get install smartdns

其他系统可以参考smart官网介绍。

配置

smartdns默认的配置文件路径为:/etc/smartdns/smartdns.conf,需要修改的地方包括:

  1. 添加53端口的监听
1
2
bind [::]:53
bind-tcp [::]:53
  1. 添加一些dns服务器
1
2
3
4
5
6
7
8
9
  server 114.114.114.114:53
  server 223.5.5.5:53
  server 221.130.13.133:53
  server 119.29.29.29:53
  server-tls 1.1.1.1:853
  server-tls 8.8.8.8:53
  server-tls 8.8.4.4:53
  server 1.2.4.8:53
  server 8.8.8.8:53

启动

默认情况下,系统的53端口被systemd-resolved占用,启动smartdns则需要先停止systemd-resolved

1
2
sudo systemctl stop systemd-resolved.service
sudo systemctl disable systemd-resolved.service

然后启动smartdns

1
2
sudo systemctl enable smartdns
sudo systemctl start smartdns

配置代理访问

windows11可以配置系统代理

  1. 首先在设置里找到网络中的代理配置
  2. 手动配置
  3. 编辑配置 注意:proxy的ip可以配置为socks={proxy ip},声明使用socks代理

然后就可以在浏览器中访问对应的网页了