校园网-服务器上网
学生党一枚。实验室服务器在内网里,只有当主机连接了校园网才可以连接到服务器。服务器也连接着校园网,校园网需要登录认证才可以上网,所以服务器默认上不了网,只能上内网。
1、让服务器进行登录认证–对于命令行系统过于麻烦,故不讨论
有图形化界面还好说,唯一麻烦的就是一般校园网只让2台设备登录。
对于命令行系统来说就过于麻烦了,如果更方便点就需要自己编写脚本,不在此讨论。
2、进行代理上网。
1. 配置好代理服务器,我是让服务器直接走的我的主机代理。
我所知道是可以使用clash
和v2rayN
这俩个软件,本身基本也是常用的学习软件了。以下以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