校园网 | 内网 下的服务器代理上网配置及 脚本

avatar
作者
猴君
阅读量:0

项目场景:

校园网-服务器上网

学生党一枚。实验室服务器在内网里,只有当主机连接了校园网才可以连接到服务器。服务器也连接着校园网,校园网需要登录认证才可以上网,所以服务器默认上不了网,只能上内网。


解决方案:

1、让服务器进行登录认证–对于命令行系统过于麻烦,故不讨论

有图形化界面还好说,唯一麻烦的就是一般校园网只让2台设备登录。
对于命令行系统来说就过于麻烦了,如果更方便点就需要自己编写脚本,不在此讨论。

2、进行代理上网。

1. 配置好代理服务器,我是让服务器直接走的我的主机代理。
我所知道是可以使用clashv2rayN这俩个软件,本身基本也是常用的学习软件了。以下以v2rayN举例:

打开软件后:“设置” --> “参数设置” --> “Core:设置" -->打开 ”允许来自局域网的连接”
获得端口号
然后软件基础页面的右下角,这里就是你代理服务器的http和sock端口号了。

2. 为服务器配置代理
使用export命令

export http_proxy=http://你的主机ip:刚刚得到的http端口号 #下面这个可以设置也可以不设置。 export all_proxy=socks5://你的主机ip:刚刚得到的socks端口号  

1、配置这个代理,在结束终端,比如ssh断开连接,就没有用了,下次启动就需要再次执行
2、docker要拉取镜像还需要再单独配置docker的配置文件
3、ping不通网页,但是可以通过yum下载软件,基本实现了做实验所需要的上网功能, 可以通过下面的命令看看能不能安装软件

# centos 使用yum yum install tree # 随便什么软件,vim也可以,如果存在了,也可以删了来测试,所以我一般用tree,有就yum remove tree。 

3. 编写个脚本

这个脚本的作用:获取每次连接到服务器的主机ip,然后配置代理,所以要求主机记得每次都要开启自己的代理软件比如v2rayN

vim set_proxy.sh #名字随便喜欢 

复制以下内容到这个文件里。

#!/bin/bash  # 获取主机的IP地址 last_login=$(last | grep $(whoami) | head -n 1 | awk '{print $3}')  # 检查是否成功获取到IP地址 if [ -n "$last_login" ]; then     # 设置代理,将主机IP替换成你获取到的IP地址     export http_proxy=http://$last_login:10809     export all_proxy=socks5://$last_login:10808      echo "Proxy configured successfully with host IP: $last_login" else     echo "Failed to retrieve host IP address." fi 

ps : 如果这个脚本运行没有用,可能是系统不一致造成的,可能需要自行修改,我是centos系统。

设置开机自启

vim ~/.bashrc #编辑这个文件 

添加以下内容进去

source /刚刚编写的文件所在的path/set_proxy.sh #这里是绝对路径。编写完文件后可以通过`pwd`来查看path(所在目录) 

完成后退出,之后每次用ssh连接服务器,就会自动配置代理了,想让配置文件立马生效也可以用下面的命令来测试成果

source ~/.bashrc 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!