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

项目场景:

校园网-服务器上网

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


解决方案:

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
### 外网连接校园内部服务器失败解决方案 #### 网络配置调整 当遇到外网无法连接到校园内的服务器时,首要检查的是网络配置。如果计算机的IP地址与其他设备发生冲突,则可能显示为`0.0.0.0`,这表明存在配置错误或动态分配过程中出现问题[^1]。 对于希望利用无线网卡实现特定网络环境下的访问需求,可以考虑如下方法:使服务器配备无线网卡,并通过有线局域网配合远程桌面的方式进行管理操作;与此同时,确保无线网卡能够正常接入目标网络(如校园Wi-Fi),从而间接达成对外部资源的获取途径[^3]。 #### 防火墙设置优化 为了保障Web服务的安全性并允许合法请求进入,应当合理配置防火墙规则。针对Web应用层面的安全防护措施尤为重要,比如部署Web应用防火墙(WAF),其主要功能在于防御诸如跨站脚本(XSS)以及SQL注入之类的常见威胁[^2]。 除了安装专用软件之外,在路由器级别上也需开放必要的TCP/UDP端口给外部流量,同时指定这些端口转发至内部私网中的实际提供服务的目标机器。需要注意的是,任何对外开放的服务都应经过充分评估风险后再做决定。 #### IP地址与端口映射策略 考虑到大多数情况下学校会采用NAT(Network Address Translation, 网络地址转换)技术来共享有限数量公网IPv4地址,因此需要在出口网关处完成静态端口映射(Port Forwarding)设定。具体来说就是把来自互联网上的某些固定端口号的数据包定向发送给位于内网里的某台主机。 假设要暴露HTTP(S)协议对应的80(443)端口供外界浏览网站,则可以在边界路由设备中创建相应条目,将该端口对应关系绑定到运行着web server程序那台PC的真实LAN侧IP之上。另外还需注意确认所选端口未被占用且符合安全标准。 ```bash iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.x.y:80 ``` 此命令片段展示了如何使用Linux平台自带工具iptables来进行简单的端口重定向处理,其中`192.168.x.y`代表内部真实服务器的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值