背景:
公司突然的要搬家了,同事远程连接了几台友商的服务器进行简单的ai训练。居家办公期间自然是没有办法固定IP了,白名单还是对方控制的,操作起来还是比较麻烦。小伙伴想有一个固定的IP去操作服务器。个人想到的方式:
- 因为经常用jumpserver,做一个堡垒机去操作?当然了小伙伴还有代码连接调试vs code连接的需求。之前远程办公也让他用过堡垒机的方式,他不太喜欢,毕竟就算给他再架设一台服务器,他还要去配置环境,web操作他也比较拒绝
- 老老实实搭建一个vpn服务 走隧道?也是可行的。关于隧道走什么呢?我是直接偷懒用了v2ray了!
注意:本文操作只用做合法应用,无不良导向!主要是为了满足公司搬迁过程中固定IP访问有ip限制资源
简单搭建v2ray实现固定IP访问
前置准备
其实为就是需要一个国内的服务器做代理就好了,但是国内服务器也下载不了github里面资源安装v2ray......故我临时开通了一台国外ubuntu20.04版本服务器完成了以下操作....
ubuntu服务器完成v2ray安装配置
更新系统
由于是新系统,简单更新一下:
apt update
v2ray安装配置
安装curl 使用curl进行安装v2ray
apt install curl
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
修改v2ray配置文件: vi /usr/local/etc/v2ray/config.json
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbounds": [{
"port": 11055,
"protocol": "vmess",
"settings": {
"clients": [{
"id": "xxxxxxxxxxx-xxxxxxxxxxxxxxx",
"level": 1,
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/tech"
}
}
}
],
"outbounds": [{
"protocol": "freedom"
}
]
}
这里主要修改clients配置下的id与wsSettings配置下的path!
启动v2ray服务:
systemctl start v2ray;systemctl enable v2ray
接下来:
然后呢?我用的某云的服务器,直接将镜像实现了跨地域复制将镜像复制到了北京区域: 然后在北京区域新建了一台此镜像的实例!
nginx代理v2ray
准备用nginx代理一下v2ray,顺便挂载一下ssl证书!
安装并配置nginx代理:
首先安装nginx
apt install -y nginx
创建一个站点目录:
mkdir -p /xxx/www
新建一个首页: vi /xxx/www/index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>优米格-有事儿没事儿分享一下</title>
<style>
.container {
width: 60%;
margin: 10% auto 0;
background-color: #f0f0f0;
padding: 2% 5%;
border-radius: 10px
}
ul {
padding-left: 20px;
}
ul li {
line-height: 2.3
}
a {
color: #20a53a
}
</style>
</head>
<body>
<div class="container">
感谢访问:
<ul>
<li>本站分享各类软件,方便大家获取使用!</li>
<li>请勿请本站分享内容用来获利,大部分内容来自网络,凡是经本站分发的内容都经试用过,可放心安装!</li>
<li>本站唯一网址:<a rel="nofollow" href="https://www.yomige.com/">https://www.yomige.com/</a>,谨防假冒!</li>
</ul>
</div>
</body>
</html>
别的地方抄来的,其实没有什么用! 修改nginx配置文件**/etc/nginx/sites-enabled/default **如下:
server{
server_name xxxx.xxx.com;
index index.html;
root /xxx/www/;
listen 443 ssl; #
ssl_certificate /etc/nginx/ssl/xxxx.xxx.com_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/xxxx.xxx.com.key;
location /tech {
proxy_redirect off;
proxy_pass http://127.0.0.1:11055;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
}
server{
if ($host = xxxx.xxx.com) {
return 301 https://$host$request_uri;
}
listen 80;
server_name xxxx.xxx.com;
return 404;
}
主要修改域名与上传ssl证书!
启动nginx服务
systemctl restart nginx
如果有报错,看一下**systemctl status nginx **看一下配置文件是否有错误!
关于客户端:
安装客户端都好麻烦,我直接找到一个https://binghe.gitbook.io/quan-ping-tai-fan-qiang-gong-ju/0/windows 找到v2ray打开: 下载了对应7z的压缩包: 解压运行即可: 添加vmess服务器: 修改下面的各项配置: 我是启动了全局代理,web访问实现了代理服务器IP切换! 然后ssh连接服务器发现还是原来的ip,由于我使用了xshell测试,问了一下chatgpt: 这里的端口是10808修改了一下: 测试后ssh也使用了代理的IP!至于vscode让小伙伴自己去尝试了......
特别提醒
还是的强调,这种方式只用做解决固定IP访问有IP限制资源应用访问,请在合法范围内使用,请毋用于其他操作!