『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.