使用问答

网络-内网穿透、防火墙、策略路由、翻墙

当前位置: 首页 -> 使用问答 -> 网络-内网穿透、防火墙、策略路由、翻墙 -> 正文

如何在教育网、云和家庭网中穿梭-在家使用教育网下载文件&防止ssh超时&内网穿透

信息来源: 发布日期:2023-06-09

环境

1、假设我有个云服务器,有个固定ip和差不多的带宽

2、假设我家没有固定ip,可以上网

3、假设我有校园网机器同时拨通网关

1、frp设置:https://blog.csdn.net/kwb2015130086/article/details/122663305

1)云服务器安装设置frps。ip为112.112.333.333

开放17000,17500,已经客服端端口28888

frps-token.ini 文件为:

[common]

bind_addr = 0.0.0.0

bind_port = 17000

token = 1234567890QWE

use_encryption = true

use_compression = true

dashboard_port = 17500

dashboard_user = admin

dashboard_pwd = 1234567890QWE

#allow_ports = 33600-33999,10000-19000

log_file = /home/ddd/frp_0.29.1_linux_amd64/all.log

log_max_days = 15

log_level = info

vhost_http_port = 7080

host_https_port = 7443

max_pool_count = 25

运行:/home/111/frp_0.29.1_linux_amd64/frps -c /home/111/frp_0.29.1_linux_amd64/frps-token.ini &

2)在校园网安装设置frpc --文件名为frpc_111-ssh.ini ,建立账户为chenwww

[common]

server_addr = 112.112.333.333

server_port = 17000

token =1234567890QWE

[sshproxy]

type = tcp

local_ip = 162.105.169.5

local_port = 22

remote_port = 28888

use_encryption = false //下面这两行是加密和压缩传输

use_compression = false

3)连接:

/home/111/frp_0.29.1_linux_amd64/frpc -c /home/111/frp_0.29.1_linux_amd64/frpc_111-ssh.ini&

成功提示:

4)在自己家电脑设置ssh代理:

测试:

ssh -D 127.0.0.1:8888 chenwww@112.112.333.333 -p 28888

这种能够连接成功就ok

正式运行

ssh -qTfnN -D 127.0.0.1:8888 -i ~/.ssh/pku_dsa chenwww@112.112.333.333 -p 28888

5)测试连接:

curl --socks5 127.0.0.1:8888 "https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE175758&format=file" -O aaa

教育网能快10倍吧。如下图

5)防止超时:

1、 配置服务器

在终端输入:

vi /etc/ssh/sshd_config

修改或添加下面两行:

# 3600秒=1小时

ClientAliveInterval 3600

# 允许超时3次

ClientAliveCountMax 3

2、 配置客户端

先在终端输入:

vi /etc/ssh/ssh_config

然后找到里面的ServerAliveInterval参数,如果没有你同样自己加一个就好了,参数意义相同,都是秒数,比如5分钟等(即ServerAliveInterval 300)

3、echo export TMOUT=1000000 >> /root/.bash_profile; source .bash_profile

在Linux 终端的shell环境中通过设置环境变量TMOUT来阻止超时。如果显示空白,表示没有设置, 等于使用默认值0, 一般情况下应该是不超 时. 如果大于0, 可以在如/etc/profile之类文件中设置它为0.

6)设置断开自动连接

开机自动运行加到/etc/rc.local

断开自动连接:

在/etc/crontab 加一行:

*/5 * * * * root /usr/local/bin/sshsocket

/usr/local/bin/sshsocket文件内容为:

#!/bin/bash

ps -ef |grep 8888 |grep -v $PPID |grep chenwww |grep -q pku_dsa ##寻找是否有运行的程序

if [ $? != 0 ];then

ssh -qTfnN -D 127.0.0.1:8888 -i ~/.ssh/pku_dsa chenwww@112.112.333.333 -p 28888

fi

添加可执行:

chmod 700 /usr/local/bin/sshsocket