無線分享器刷Merlin(梅林)後,安裝 Entware、SSR、Softether VPN server 過程分享

寫錯的話,麻煩指正。 謝謝! 

ps: 感謝 风月 朋友的指導

前言:
網路上大部分為客戶端 (client) 教學。架設翻牆伺服器端 (VPN server) 文章少而且有些許不同,所以我成功後順便寫過程給有需要的人參考。(另一篇文章為 無線分享器刷Merlin(梅林)後,安裝V2Ray Server及使用 Proxifier 代理流量過程分享

無線分享器是使用淘寶來的 華碩 (Asus) RT-AC88UNetgear R6900 刷 Merlin 。

以下有 4 部份:
一、安裝 entware
二、安裝並設定 ShadowsocksR server
三、安裝並設定 Softether VPN server
(第二或三的 VPN server 可擇一)
四、開機自動啟動方法
====================================

一、安裝 entware(梅林已經內建 Entware 安裝腳本)
  Entware是嵌入式軟體的套件,所以在 merlin 安裝 SSR 或 Softether VPN server前要先安裝 entware。

1.http或https登入merlin。在系統管理 → 系統設定
 Frmat JFFS partition at next boot 選『是』。
 Enable JFFS custom scripts and configs 選『是』。
 啟動SSH。
 按下『套用本頁設定』後,按『重新開機』。

註:此時已經開啟並可讀寫JFFS空間。
  注意重新啟動後,是否有關閉Frmat JFFS partition at next boot。

2.將 entware 安裝在 JFFS。(大部分網路教學是安裝在USB隨身碟)
 使用 Putty 登入 SSH port 22

 登入後輸入(#後面是說明,不用輸入#後的文字。)
cp /usr/sbin/entware-setup.sh /tmp
sed -i "s/|ext4'/|ext4|jffs'/g" /tmp/entware-setup.sh
sh /tmp/entware-setup.sh
(出現 [1] --> /jffs => Please enter partition number or 0 to exit)
按 1(Enter) #選擇 entware 安裝到 JFFS
cd /opt # /opt 連接(link)到 entware 的安裝目錄,所以會切換到/jffs/entware目錄。
opkg update # 更新軟件(安裝包)列表

註:
 分享器重新啟動後,cd /opt 不會自動切換到/jffs/entware目錄。可執行 ln -nsf /jffs/entware /tmp/opt 指令重新link。
 Entware其餘指令有 opkg update、opkg upgrade、opkg list、opkg list_installed、opkg install 軟件(安裝包)名、opkg remove 軟件(安裝包)名

參考文章:
 SS/SSR + TPROXY 路由器透明代理 - 如风之岁月
 在k3梅林的jffs分区里面安装Entware-ng以及自动启动等相关设置 - 恩山无线论坛
 把XX-NET安装到jffs分区,从本地安装entware-ng,新玩法安装gop – KoolShare

====================================

二、安裝並設定 ShadowsocksR server
 安裝entware後繼續執行
opkg install python # 安裝 entware 中的 python
opkg install libsodium # 安裝 entware 中的 libsodium
opkg install git-http # 安裝 entware 中的 git-http
cd /jffs # 配合下面git clone指令可將SSR server安裝到此目錄
git clone -b manyuser https://github.com/shadowsocksr-backup/shadowsocksr.git # ShadowsocksR server 安裝完成

cd /jffs/shadowsocks # SSR server目錄為/jffs/shadowsocks

cp config.json ssr.json # 複製config.json為ssr.json。

vi /jffs/shadowsocksr/ssr.json #使用vi編輯ssr.json。請google vi 指令,例如『x』:刪除、『i』:輸入字元、Esc:跳出編輯、『:wq』:跳出並存檔、『:q!』:直接跳出不存檔。
{
"server": "0.0.0.0",  ← 不用改
"server_ipv6": "::",
"server_port": 443,  ← 輸入想要連入SSR的port
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "設定自己的密碼",
"method": "aes-128-cfb",  ← 設定加密模式
"protocol": "origin",  ← 設定協議
"protocol_param": "",
"obfs": "http_simple",  ← 設定混淆方法
"obfs_param": "",  ← 設定混淆參數,不會的話請保持空白。
"speed_limit_per_con": 0,
"speed_limit_per_user": 0,.0.0.0",
"additional_ports" : {}, // only works under multi-user mode
"additional_ports_only" : false, // only works under multi-user mode
"timeout": 120,
"udp_timeout": 60,
"dns_ipv6": false,
"connect_verbose_info": 0,
"redirect": "",
"fast_open": false
}

vi /jffs/shadowsocksr/shadowsocks/crypto/util.py
搜尋 '/usr/lib*/lib%s.*' % name, #在第73行。vi的『/』為搜尋
改成 '/opt/lib*/lib%s.*' % name,

/jffs/shadowsocksr/shadowsocks/server.py -d start -c /jffs/shadowsocksr/ssr.json # 啟動 ShadowsocksR (SSR) server

exit # 離開server(putty)

更新shadowsocksr方法(使用putty連入後)
/jffs/shadowsocksr/shadowsocks/server.py -d stop # 停止 ShadowsocksR (SSR) server
cd /jffs/shadowsocksr
git pull

更新完後再啟動 ShadowsocksR (SSR) server

註:
 若開啟分享器防火牆,則須開啟防火牆的port對應VPN server port。
 ps | grep server.py 命令,SSR server啟動會出現 (略..) /jffs/shadowsocksr/shadowsocks/server.py -d start -c /jffs/shadowsocksr/ssr.json

參考文章:
 路由器安裝ShadowsocksR Server教學 - Mobile01
 R6250+tomato+ssserver+softether+ssr, 2.4G穩定 - 電腦領域 HKEPC Hardware

====================================

三、安裝並設定 Softether VPN server
 安裝entware後繼續執行
opkg install python # 安裝 entware 中的 python
opkg install libsodium # 安裝 entware 中的 libsodium
opkg install softethervpn # 安裝 entware 中的 softethervpn。(可使用opkg list softether* 查server檔名)

/opt/etc/init.d/S05vpnserver start # 啟動 Softether vpn server

註:
 若開啟分享器防火牆,則須開啟防火牆的port對應VPN server port。
 /opt/etc/init.d/S05vpnserver stop # 停止 Softether vpn server
 可在 entware (armv7) 安裝包列表 中查到有 softether VPN server。
 Putty登入RT-AC88U後,執行 cat /proc/cpuinfo。可看到processor是ARMv7。

下載 SoftEther VPN Server Manager for Windows。安裝後使用 softether-vpn_admin_tools 設定 softether server。

執行vpnsmgr.exe → 新設置 → 主機名、端口 → 連接後設定密碼(預設port有443、992、1194、5555。若有其他程式佔用,則無法連入有衝突的port。)
連接Softether VPN Server後。先按關閉跳出的視窗

創建虛擬hub,例如輸入test。

管理虛擬hub
→ 日誌保存功能 → (不要打勾)保存安全日誌、保存數據包日誌 (特別注意!避免增加JFFS空間壓力。)
→ 管理用戶 → 新建 → (密碼認證)用戶名、密碼

本地橋接設置 → 虛擬hub選test、要創建的類型選『新tap設備的橋接』、新tap設備名稱輸入『tap-VPN或自己定義名』,按『創建本地橋』。(若狀態為錯誤,大約五分鐘才會變成『運行中』。)

加密與網路 → 設定『加密算法名』 → syslog發送功能(禁用系統日誌發送功能) (特別注意!避免增加JFFS空間壓力。)

IPsec/L2TP設置 → (要使用才打勾)

OpenVPN/MS-SSTP設置 → (要使用才打勾)

動態DNS設置 → (直接使用分享器DDNS或自己設定動態DNS名)

參考文章:
 R6250+tomato+ssserver+softether+ssr, 2.4G穩定 - 電腦領域 HKEPC Hardware
 【新插件发布】SoftEther V.P.N Server,附L2tp with ipsec设置教程 – KoolShare
 SoftEther V.P.N Server 补完教程 - KoolShare
 Tomato路由器安装SoftEther virtual**服务器图文教程 - 恩山无线论坛
 Default internal device network - DD-WRT Wiki

註:
搭配 Proxifier 使用好處有:
1.如果電腦客戶端需要經過伺服器(proxy)驗證帳號、密碼, Proxifier 可輸入代理方法。
2.除了瀏覽器外,其他軟體也能透過 Proxifier 再經由 VPN 連線。

====================================

四、開機自動啟動方法
 無線分享器重新開機後,需重新連接『/jffs/entware、/tmp/opt』這兩個目錄與啟動VPN server。其讓指令在開機重啟時會自動執行,則需在 /jffs/scripts 目錄中新增 init-start 檔案。其方法如下

cat > /jffs/scripts/init-start << EOF
#!/bin/sh
# Start ShadowsocksR Server
sleep 100 # sleep 延遲時間需依照 router 啟動速度而定,最好超過60秒。
ln -nsf /jffs/entware /tmp/opt
sleep 10 # 延遲10秒
/jffs/shadowsocksr/shadowsocks/server.py -d start -c /jffs/shadowsocksr/ssr.json # 啟動 ShadowsocksR (SSR) server
EOF

chmod 777 /jffs/scripts/init-start # 使init-start具有執行權限

參考文章:
 jffs/scripts/services-start not executed after reboot | SmallNetBuilder Forums
 Huawei WS880 v1 - Обсуждение - 4PDA

====================================
關鍵字 asus 夜鷹 無線基地台 翻牆 AP路由器 router
2019-01-19 13:47 #1
RT-AC88U JFFS 安裝 entware、SSR、Softether VPN server 的空間使用量。(沒安裝任何東西時為 1.74 MB)




ShadowsocksR 連線後的簡易測速



想請教是否有辦法在不插USB下,將SSR裝在JFFS中?
kidd232 wrote:
想請教是否有辦法在不插USB下,將SSR裝在JFFS中?

上面步驟一、二、三 都是將程式安裝在 JFFS 。

不過分享器重新啟動的話,要putty登入再手動啟動 SSR。 若需自動啟動,請看第四步驟。
重新開機後似乎無法直接手動啟動SSR,是因為entware也沒自動啟動嗎?
kidd232 wrote:
重新開機後似乎無法直接手動啟動SSR,是因為entware也沒自動啟動嗎?

無線分享器重新啟動後要先執行

ln -nsf /jffs/entware /tmp/opt

再執行

/jffs/shadowsocksr/shadowsocks/server.py -d start -c /jffs/shadowsocksr/config.json

啟動 ShadowsocksR (SSR) server。

==============================================
2019/01/24 已經在上面補充:四、開機自動啟動方法

下方為過程及備註事項。

指令寫在 post-mount 或 services-start 只能掛載 entware,但是連上SSR無法訪問外網。加上 sleep 延後 ln -nsf /jffs/entware /tmp/opt 執行時間也沒辦法訪問外網。

根據 http://4pda.ru/forum/lofiversion/index.php?t604816-1860.html (使用網頁自動翻譯)提到
內置的jffs非常重要,設置腳本創建的啟動腳本不是為jff設計的(例如,安裝它時,外部usb驅動器根本不會發生)。
安裝/ opt不在它的位置,而是在init-start中:
#!/ Bin / sh 
ln -nsf /jffs/entware.arm / tmp / opt

以及 https://www.snbforums.com/threads/jffs-scripts-services-start-not-executed-after-reboot.47564/ 這篇提到
Adding a sleep 60 at the beginning of the services-start script solved the issue for me

所以,同時使用 init-start 及 sleep 指令才能成功。 (sleep時間需依照router啟動速度而定,最好超過60秒。)

以下為我目前新增的 init-start,其內容為
#!/bin/sh
sleep 100
ln -nsf /jffs/entware /tmp/opt

sleep 10
/jffs/shadowsocksr/shadowsocks/server.py -d start -c /jffs/shadowsocksr/ssr.json
您好,很感謝您的幫忙
我昨天爬文後,根據網路上的scrips順序測試文
http://koolshare.cn/thread-136881-1-1.html

將開機起動加在firewall-start腳本中,內容為以下

#!/bin/sh
ln -nsf /jffs/entware /tmp/opt
sleep 10
/jffs/shadowsocksr/shadowsocks/server.py -d start -c /jffs/shadowsocksr/config.json
iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
iptables -I INPUT -p udp --dport 8443 -j ACCEPT

測試後正常運作,這樣應該就不用等sleep 60才運作
kidd232 wrote:
我昨天爬文後,根據網路上的scrips順序測試文
http://koolshare.cn/thread-136881-1-1.html
將開機起動加在firewall-start腳本中,內容為以下

我也曾用 firewall-start 這個腳本。但是如同 #6 樓所言:測試了許多腳本及方法,連上家裡 SSR server後都無法訪問外網。手機顯示如下。 



到目前為止,我只能用 sleep 加上 init-start 才能成功。 
linshengchih wrote:
写错的话,麻烦指正。...(恕刪)


想問一下,如果路由器是在內地,路由器上裝SSR Server後,在路由器上連結ssr,手機連上路由器Wifi就自動翻了?
蛋酒 wrote:
如果路由器是在內地,路由器上裝SSR Server後,在路由器上連結ssr,手機連上路由器Wifi就自動翻了?

看不懂你的問題。 

大陸的路由器有 SSR Server <-- 看得懂

在路由器上連結ssr <-- 看不懂! 因為路由器去連ssr server?還是被連線?

最後,你要從哪裡翻到哪裡?

ps:路由器可裝 SSR Server 及 SSR Client,而且路由器 Client 可連另外一台路由器 Server。所以請敘述詳細,我才能正確回答你的問題。 
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
提醒:內容可能因過於寫實、驚悚而令人感到不舒服,是否繼續觀看?

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結