無線論壇 門戶 UBNT優倍快知識庫 EdgeMax 查看內容

一点红开奖网一肖中特免费公开:EdgeMAX EdgeRouter ER-X路由器搭建透明代理

香港最快开奖现场直播一肖中特t www.cpbey.icu 2018-11-6 13:29| 查看: 1886| 評論: 1

在UBNT ER-X原生系統上如何自已搭建代理
分享到: 更多

我寫這篇文章的主要原因就是方便自己,以后在遇到特殊的情況諸如雷擊之類的災害時,不至于重新再來翻閱資料一遍,如果你有任何問題,可以留言,或者翻閱官方資料,我更推薦官方資料,因為人家資料齊全。我這個教程只通過我手頭有的mipsel架構的路由器進行的操作,當然你可以舉一反三,自行的架設在其他路由上。

我喜歡翻閱電子技術及互聯網技術的相關資料,由于眾所周知的原因,在防火墻內訪問一些技術站點通?;嵊齙剿俁嚷?04等問題。之前都是簡單的搭建一個\$\$服務讓PC可以使用。

現在這次的目的是在家庭里搭建一個網關,讓所有的設備包括手機、電腦、PS4等都可以做到無感知訪問相關站點,即一勞永逸,避免重復設置。 方案選擇了V2RAY,以下我都用Ray來代替。

Ray相比于其他Chi**DNS \$\$ -redir \$\$-tunnel KCPtun的混合體來說,操作更加簡便,當然配置也會相對復雜,不過理解了思路后,會有一種豁然開朗的感覺。事實上我沒仔細關它的實現方式,,我大致理解了其邏輯,如果大家有興趣完全可以參考官方站點搭建靈活的科學實驗工具。 我這里只是簡單的按照官方推薦的教程,搭建了家里的透明代理。大約花了我2小時的時間。


材料

1.一臺EdgeMax ERX路由器。

這個路由器在2017年我給了她很高很高的評價,作為一個不到300塊的路由器,帶有POE供電、256M的Flash、256M的RAM,原生debian系統。處理器是MT7621,帶硬件轉發。我覺得是相當值了,可玩性也非常高。而且重點是它不帶無線!我非常喜歡,我就想有個簡單可靠的鐵盒子放在弱電箱里。

2.一臺防火墻外的服務器

給你提供出路。

3.不怕失敗的決心。


操作步驟

0.開篇注意事項

服務器時間和路由器時間保持一致,時區沒有關系,精確至分鐘即可。

確保你的路由器有支持的Ray版本,如果不支持,你可能得下載源碼自己編譯。

Ray對硬件要求也挺高的,至少需要32M的內存,推薦64M或更多的內存,如果你的內存不足,還是洗洗睡覺吧不要熬夜看ray了,不行的。

如果你配置文件一般在哪里都不知道的話,我建議你查詢互聯網或者稍微補充一下linux基礎,這篇文章可能不適合你。

1.在服務器上搭建Ray。

使用SSH登陸海外linux服務器 運行腳本直接安裝。

bash <(curl -L -s https://install.direct/go.sh)

使用如下配置文件

{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 443,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "你自己的UUID",
          "level": 1,
          "alterId": 64
        }
      ],
    "detour": {        
        "to": "dynamicPort"   
      }
    }
  },
"inboundDetour":[
    {
      "protocol": "vmess",
      "port": "10000-20000",
      "tag": "dynamicPort",       
      "settings": {
        "default": {
          "level": 1,
          "alterId": 32
        }
      },
      "allocate": {
        "strategy": "random",
        "concurrency": 2,
        "refresh": 3
      }
    }
  ],
  "streamSettings": {
    "network": "kcp",
    "kcpSettings": {
      "mtu": 1350,
      "tti": 20,
      "uplinkCapacity": 5,
      "downlinkCapacity": 100,
      "congestion": false,
      "readBufferSize": 1,
      "writeBufferSize": 1,
      "header": {
        "type": "none"
      }
    }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "blocked"
        }
      ]
    }
  }
}

注意事項:

​ root權限。

​ 如果不支持yum和apt-get,請自行安裝unzip和daemon。

​ 請務必使用專用的UUID生成工具生成,否則自行修改的UUID很可能有問題。

​ 請務必使用諸如VS Code之類的編輯器編輯JSON,否則光是格式上的錯誤,就夠你喝一壺,浪費幾小時了。

​ 如果想理解這些配置是干啥用的,參考資料中的《官方推薦的白話教程》可能適合你。

​ vps文件傳輸可以方便的使用lrzsz,不需要安裝額外的諸如ftp之類的軟件。

2.在路由器上安裝Ray

ERX路由比較好的就是有原生的debian,所以這里我們可以直接在ERX安裝相應的支持包,不過得先更新一下源。我已經用上了最新的EdgeRouter X 1.10.0。在設置完成可以通過PPPOE上網后,進行如下操作。

2.1 更新源

在2.1系統中我們看到官方的軟件包庫不見了,所以我們要自己添加源。

使用 ssh 登陸路由器

root權限及編輯sources.list

sudo -i 
vi /etc/apt/sources.list

寫入軟件源

deb //http.us.debian.org/debian wheezy main contrib non-free 

更新軟件源

apt-get update

這部主要是為了安裝unzip和daemon

apt-get install unzip
apt-get install daemon

安裝完畢后

有兩種方式安裝v2ray,一種可以參考本文的第一步直接安裝,不過它的腳本判斷為mips,并非mipsel,我怕這么安裝出問題,所以我選用了本地安裝的方式。

這里放一下官方的安裝包和腳本,如果是最新版本的話,還是建議到官方去下載,下載鏈接可以參考參考資料中的官方教程,具體連接我不放了。

安裝腳本

mipsel安裝包

使用WinSCP登陸路由器,進入tmp目錄,拖進去安裝腳本和mipsel安裝包

chmod +x erx-install.sh
./erx-install.sh -l  ./v2ray-linux-mips.zip

一般這么操作,ray就安裝完畢了,如果有其他問題可以反饋一下,我沒遇到過,這么一搞就安裝成功了。

Archive:  v2ray-v3.10-linux-mips.zip
   creating: /tmp/v2ray/v2ray-v3.10-linux-mips/
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/geoip.dat  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/geosite.dat  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/readme.md  
   creating: /tmp/v2ray/v2ray-v3.10-linux-mips/systemd/
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/systemd/v2ray.service  
   creating: /tmp/v2ray/v2ray-v3.10-linux-mips/systemv/
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/systemv/v2ray  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/v2ctl  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/v2ctl.sig  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/v2ray  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/v2ray.sig  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/vpoint_socks_vmess.json  
  inflating: /tmp/v2ray/v2ray-v3.10-linux-mips/vpoint_vmess_freedom.json  
PORT:27016
UUID:542fbf50-82e7-41ad-8735-0081a3cf9a18
 Adding system startup for /etc/init.d/v2ray ...
   /etc/rc0.d/K20v2ray -> ../init.d/v2ray
   /etc/rc1.d/K20v2ray -> ../init.d/v2ray
   /etc/rc6.d/K20v2ray -> ../init.d/v2ray
   /etc/rc2.d/S20v2ray -> ../init.d/v2ray
   /etc/rc3.d/S20v2ray -> ../init.d/v2ray
   /etc/rc4.d/S20v2ray -> ../init.d/v2ray
   /etc/rc5.d/S20v2ray -> ../init.d/v2ray
V2Ray v3.10 is installed.

方便快速。

接下來就是修改配置文件

使用如下配置文件

{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 1080,
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false,
      "ip": "0.0.0.0"
    }
  },
  "inboundDetour": [
    {
      "domainOverride": ["tls","http"],
      "port": 你的端口,
      "protocol": "dokodemo-door",
      "settings": {
          "network": "tcp,udp",
          "followRedirect": true
      }
  }
  ],
  "streamSettings": {
    "network": "kcp",
    "kcpSettings": {
      "mtu": 1350,
      "tti": 20,
      "uplinkCapacity": 5,
      "downlinkCapacity": 100,
      "congestion": false,
      "readBufferSize": 1,
      "writeBufferSize": 1,
      "header": {
        "type": "none"
      }
    }
  },
  "outbound": {
    "protocol": "vmess",
    "settings": {
      "vnext":[
        {
          "address":"你的VPS IP地址",
          "port": 443,
          "users":[
            {
              "id":"你的UUID",
              "level":1,
              "alterId":64
            }
          ]
        }
      ]
    }
  },
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "adblock"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "chinasites",
          "outboundTag": "direct"
        },
        {
          "type": "chinaip",
          "outboundTag": "direct"
        },
        {
          "domain": [
            "tanx.com",
            "googeadsserving.cn",
            "baidu.com"
          ],
          "type": "field",
          "outboundTag": "adblock"       
        },
        {
          "domain": [
            "amazon.com",
            "microsoft.com",
            "jd.com",
            "youku.com",
            "baidu.com"
          ],
          "type": "field",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "direct"
        }
      ]
    }
  }
}

上面的json中包含了error信息,我建議把這些消息屏蔽掉,畢竟是路由器。

修改好配置文件內容后,拷貝至/etc/v2ray/config.json并重啟服務,使用curl測試谷歌訪問,如果看到如下信息,就說明你成功了。

 mv /tmp/config.json /etc/v2ray/
/etc/init.d/v2ray restart
curl -x socks5://127.0.0.1:1080 google.com


<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">

<TITLE>301 Moved</TITLE></HEAD><BODY>

<H1>301 Moved</H1>

The document has moved

<A HREF="//www.google.com/">here</A>.

如果你的配置文件一直都有問題,那么我建議你先不急著上路由器,先在家用電腦上用ray的客戶端試試看配置文件。沒問題后再上到路由上。一樣,如果你想知道這些配置文件做什么的,那么我建議你還是要仔細看下官方的推薦教程,看代碼是比較難看懂的。

接下來是幾條iptables規則,讓路由器內網的流量流入我們的ray。

#!/bin/sh

configIptables() {
  #tcp iptables rules
  iptables -t nat -N V2RAY
  iptables -t nat -N V2RAY_FILTER
  iptables -t nat -A PREROUTING -p tcp -j V2RAY_FILTER
  iptables -t nat -A V2RAY_FILTER -d 127.0.0.0/8 -j RETURN
  iptables -t nat -A V2RAY_FILTER -d 192.168.0.0/16 -j RETURN
  iptables -t nat -A V2RAY_FILTER -j V2RAY
  iptables -t nat -A V2RAY -p tcp -j REDIRECT --to-ports 10490
  
}
configIptables

以上代碼保存為update_iptables 保存到 ERX 的 /config/scripts/post-config.d/ 目錄,那樣即使設備重啟了,iptables也會自動更新。

注意事項:

update_iptables 注意加上可執行權限。

不支持UDP,由于ERX官方iptables不支持TPROXY,所以UDP我這邊就沒有放上來。目前正在解決中,如果有大神能夠指導那是最好的。

UUID服務器和設備上的要一致,再三提醒注意UUID和JSON的格式,一不小心就會在這里遇到問題。

不出意外,這時候配置完成就可以無縫瀏覽了。

參考資料

  1. 官方推薦的白話教程
  2. 官方教程
  3. 本文章首發于惜楓醉的個人博客: //arkis.me
發表評論

最新評論

引用 guduhao 2019-1-10 09:25
學習一下

查看全部評論(1)

返回頂部
pk10反买计划技巧 赌场常见的扑克牌赌大小 新疆时时三星万能七码走势图 北京pk10怎么玩才赚钱 pk10赛车计划软件手机苹果 pk10稳赚技巧方案 全骰是什么意思 485585财神六肖 腾讯分分彩六码二期计划 pt电子吧 扑克牌三公怎么玩 河北时时开奖结果查询 福利彩票店承包合同 彩票大小倍投方案 抢庄牛牛 广西时时彩