『SSH VPN翻牆路由器』之二 翻牆和優化篇



使用樹莓派(Raspberry pi 3 b/b+)打造一個便攜、低功耗並且牆內外數據分流的VPN翻牆路由器。
特點:
1、體積小巧,攜帶方便
2、功耗低,可以用充電寶供電
3、使用SD卡作為存儲,更換系統非常便捷
4、根據DNS域名和IP地址自動選擇是否走VPN流量,既保證牆內訪問的速度,也保證了牆外訪問的安全性和隱秘性
5、由於SSH的安全性和使用的廣泛性,被GFW牆的可能性比較小

==============================================================================
腳本內容:
1、ssh_tun_server.sh,將”eth0″改成你實際的VPS上乙太網介面的名稱
———————————————————————————————————————————————————–
#!/bin/sh
ip tuntap add mode tun
ip link set tun0 up
ip addr add 192.168.200.1/32 peer 192.168.200.2 dev tun0
arp -sD 192.168.200.2 eth0 pub
iptables -t nat -A POSTROUTING -s 192.168.200.2 -o eth0 -j MASQUERADE
———————————————————————————————————————————————————–

2、clean_up.sh
———————————————————————————————————————————————————–
#!/bin/sh
SSHPIDS=`sudo lsof -u “$USER” -i TCP:22 -a | awk ‘FNR 這裡是一個向右的尖括弧 1{ print $2}’`
for sshpid in $SSHPIDS
do
if [ $sshpid -eq $PPID ]; 然後繼續fi殺死$ sshpid完成——————————————- ————————————————– ————————————————– ———— 3,sshvpn ———————————– ————————————————– ————————————————– ——————– VPS =「 VPS的IP地址」 RUSER =「 VPS用戶名」 IDFILE =「 / root / sshvpn /私鑰文件名」 setup_remove( ){#做一些清理工作iptables -t nat -F iptables -t mangle -F ip路由刪除默認表china ip規則刪除fwmark 22表china ip路由刪除默認通過192.168.200.1 dev tun0 ip路由刪除192.168.200.1 ip路由刪除114.114.114.114 ip路由刪除$ VPS kill`ps -ef | grep「 ssh -NTCf」 | awk’NR == 1 {print $ 2}’`ip鏈接設置tun0 down ip tuntap刪除tun0模式tun} setup_add(){ip tuntap添加tun0模式tun ip鏈接設置tun0 up ip addr添加192.168.200.2/32對等192.168。 $(seq 9 -1 0)中的i的200.1 dev tun0會殺死`ps -ef | grep「 ssh -NTCf」 | awk’NR == 1 {print $ 2}’`ssh -T -i「 $ IDFILE」「 $ RUSER」 @「 $ VPS」「〜/ clean_up.sh」 ssh -NTCf -w 0:0 -i「 $ IDFILE 「」 $ RUSER「 @」 $ VPS「 RETURN_CODE = $? 如果 [ ! $RETURN_CODE ] ; 然後setup_remove退出1 fi STATUS =`ip link show tun0 | awk'{print $ 9}’`如果 [ “$STATUS” = “UP” ] ; 然後斷開fi完成#中國DNS伺服器ip路由通過「 $ new_routers」添加114.114.114.114 ip路由通過「 $ new_routers」添加$ VPS ip路由通過192.168.200.1開發默認值tun0 ip規則添加fwmark 22表china ip路由添加默認值通過「 $ new_routers」 dev eth0表中國iptables -t nat -F iptables -t mangle -F iptables -t nat -A POSTROUTING -d「 $ VPS」 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -d 114.114 .114.114 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.240.0/24 -d「 $ new_network_number」 /「 $ new_subnet_cidr」 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0- m mark –mark 0x16 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.240.0/24 -o tun0 -j MASQUERADE iptables-restore / root / sshvpn / it_rules}如果([ “$interface” = “eth0” ]); 然後在BOUND | RENEW | REBIND | REBOOT中設置$ reason)setup_add ;; EXPIRE | FAIL | RELEASE | STOPPED)setup_remove ;; esac fi出口0 ———————————————- ————————————————– ————————————————– ——— 4,China.dns ———————————— ————————————————– ————————————————– ——————-下載鏈接:wget https://raw.githubusercontent.com/qiuyuanfeng/dnsmasq-china-list/master/accelerated-domains.china.conf ————————————————– ————————————————– ————————————————– —– 5,中國IP —————————————– ————————————————– ————————————————– ————–下載鏈接:wget https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt處理後文件格式:*纏結:接受接受 [0:0]
:輸入接受 [0:0]
:接受 [0:0]
:接受輸出 [0:0]
:接受發布 [0:0]
-A PREROUTING -d 1.0.1.0/24 -j MARK –set-xmark 0x16 / 0xffffffff -A PREROUTING -d 1.0.2.0/23 -j MARK –set-xmark 0x16 / 0xffffffff -A PREROUTING -d 1.0.8.0 / 21 -j MARK –set-xmark 0x16 / 0xffffffff -A PREROUTING -d 1.0.32.0/19 -j MARK –set-xmark 0x16 / 0xffffffff —————- ————————————————– ————————————————– —————————————。

5 comments
  1. 榮昌劉剛簡歷
    1985年02月17日,即甲子年臘月廿八出生在川東南的榮瀘隆地區的榮昌安富塔水橋畔。
    1992年至1998年在安富中心小學九八級四班就讀,班主任是黃常慧
    1998年至2001年在安富中學讀初中,班主任是何太瓊
    2001年至2004年在安富中學高中部讀高中。
    高一班主任是何家均
    高二班主任是韓仁權
    高三班主任是呂繼恩
    高四在廣順永榮中學復讀,班主任是孫偉
    2005年至2006年在寧夏固原師專政法系歷史教育專業就讀。到了大二後因為翻牆上網和反對學校專升本而被校方的陳志勇給使用各種下三濫的手段給逼迫退學了。
    2007年春天劉剛獨自去北京遊學,在北大校園裡的三角地貼了很多大字報表達自己的憤懣之情。
    2008年11月,他被重慶市榮昌公安一科的雷天明,楊恩培,顏春以在牆內的博客,論壇上轉發《九評共產黨》和《中共策劃暴力轉嫁危機》而被送榮昌拘留所行政拘留了七天。
    2009年初,也就是快過年的時候,他因為被行政拘留的事去榮昌縣政府信訪辦上訪而被信訪辦的項主任,榮昌國保的雷天明,安富派出所的鄭益民,安富沙河村的村組幹部劉國成等人強制送榮昌精神病院關押迫害摧殘,導致他過年也是在精神病院里過的。從此他就被貼上了「精神病人」的標籤了。
    2010年03月03日,他在重慶市渝中區人民大禮堂那裡因為打110戲弄警察而被抓了且還被送李子壩看守所關了一個月。渝中區公安局刑偵支隊的劉民素等人實在找不出劉剛觸犯刑法的證據就只好夥同國保警察和網監警察查劉剛的網上言論,硬是把劉剛送西山坪勞教了兩年。後來劉剛的家人利用他被貼上的「精神病人」這個標籤才被保外就醫出來。
    2010年秋天,保外就醫出來到廣州打工的劉剛又因為網上言論被重慶市渝中區公安局刑偵支隊的劉民素等人跨省非法綁架回重慶送解放軍324醫院精神中心非法關押迫害。從醫院出來後又被榮昌公安局治安支隊的曾騎等人夥同安富派出所的陳安東送榮昌精神病院關押迫害。

  2. 參考您的方法搭建透明網關,在優化分流的時候出現了問題:google.com訪問成功,baidu.com失敗,查看路由發現訪問baidu.com走的還是隧道,但mangle規則添加成功。猜測:由於網關伺服器與路由器在同一網段,區域網內通過網關連接的數據訪問上級路由時怎麼設置(iptables -t nat -A POSTROUTING -s 192.168.240.0/24 -d 172.18.168.0/24 -o ens33 -j MASQUERADE)?

  3. 之前看到你的windows用ssh tunnel連接vps,沒有在vps上做設置。現在你在vps上也做了很多設置並加了shell腳本。還沒有具體研究你的設置和腳本,因為視頻有點長。為啥不可以用windows的方式免去vps上的麻煩?

  4. 按您提供的方法試做了一下,出現了一個問題,運行clean_up.sh後,vps提示如下錯誤:Error: no such file "}",請幫助解決,謝謝!
    clean_up.sh文件內容如下:
    #!/bin/sh

    SSHPIDS='lsof -u "$USER" -i TCP:22 -a | awk 'FNR > 1{ print $2}''

    for sshpid in $SSHPIDS

    do

    if [ $sshpid -eq $PPID ]; then

    continue

    fi

    kill $sshpid

    done

Comments are closed.