常见SEOopen云免服务器搭建教程上干货,rockylinuxopen配置使用。
阿里云香港服务器价格
好久没有在今日头条写文章了,今天来讲讲rocky linux10 open的配置,技术可以随时随地使用隧道访问自己家里的设备,是个不错的技术,我会尽量吧整个配置过程讲详细,以及配置会遇到什么困难和坑。
言归正传,我也不知道大家的linux水平如何,我本人机极其差的,如果我能够配置成功,我相信大家跟着我一起配置也可以成功。
以下操作均在root用户权限下。
首当其冲的事情肯定是安装open啦,在rockylinux上,可以直接用yum或dnf安装open。
但是这里会出现一个问题,open不是原生仓库有的软件,你得先安装epel仓库。
dnf install epel -y && dnf install open -y
好了安装了之后我们来看看有没有安装成功。
dnf list installed open
当返回一下结果就证明安装成功了。
OK,一切就绪,然后就是三板斧,编辑配置文件和生效及启动服务了。
欸别着急,我们先来了解一下open需要一些什么,咱们看看open的配置文件,这是我在网上找的模板文件。
经过对这些配置的仔细研读,我将需要用到的配置总结精炼出来:
一、客户端流量走向。
二、推送DNS
三、keepalive时间
四、隧道模式
五、日志存放位置
六、日志等级
七、认证模式
八、脚本执行权限
九、使用用户名作为Common Name
十、客户端认证配置
十一、DH加密算法配置
十二、tls加密配置
十三、ca根证书配置
十四、服务器crt文件配置
十五、服务器key文件配置
十六、加密编码
十七、程序运行权属
十八、程序权属组
port 1194
proto tcp
dev tun
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp" 可选(客户端流量走)
push "dhcp-option DNS 8.8.8.8" 可选(推送DNS)
keepalive 10 120
persist-key
persist-tun
status /var/log/open-status.log
verb 3
关键配置:启用用户名/密码认证
verify-client-cert none
auth-user-pass-verify /etc/open/checkpsw.sh via-env 使用自定义脚本验证
搭建云免流服务器视频
script-security 3 允许脚本执行
username-as-common-name 使用用户名作为Common Name
client-cert-not-required
verify-client-cert none
dh /etc/open/server/dh.pem
tls-auth/etc/open/server/ta.key 0 可选(防DoS)
ca /etc/open/server/ca.crt
cert /etc/open/server/server.crt
key /etc/open/server/private/server.key
cipher AES-256-CBC 加密算法
data-ciphers AES-256-GCM:BF-CBC
data-ciphers AES-256-GCM
cipher AES-256-GCM
tls-auth /etc/open/ta.key 0
user nobody
group nogroup
这个配置总结是我经过无数次踩坑总结出来的,其中dh、tls、ca、crt、key、加密编码是什么鬼,我不知道啊。
一开始,我也不知道,后面呢,查资料一直查才弄清楚的。
好我先来说说tls,它是一个隧道加密文件,主要是用来加密隧道通信的。
ca是服务器的根证书文件,它主要是验证服务器和客户端的认证,crt它是服务器的认证文件,key也是服务器的认证文件,当然,客户证书文件crt、key同样可以用根证书生成出来,这里我就不讨论了,我们直接大胆的用账号密码替代客户端证书认证。
好我们先生成dh加密文件,这个dh加密文件是用来检验啥的我忘了,全名叫做Diffie-Hellman,总而言之呢,是密钥交换的一个加密文件。
openssl dhparam -out /etc/open/server/dh.pem 2048
我们先用命令将他生成出来。
好了到了这一步哪tls文件如何生成呢?
open --genkey secret /etc/open/server/ta.key
很简单吧。
重头戏来了,现在要考虑生成ca文件服务器的crt文件以及key文件。
根据我的探索,新版本的rockylinux是没有easy-rsa这个软件包安装的。那么我们就只能到GitHub上面去获取。
用wget加地址下载下来。
这里有出现了一个问题,在我们这边是无法上GitHub的怎么办呢,我只能够说八仙过海各显神通,我呢,是花了一块钱在某鱼上面买了一个文件。福利来了,大家不用购买,直接私信我要就ok了。
好言归正转,我们拿到easy-rsa这个软件压缩包之后呢,把它放在,open文件下,用tar命令解压。
tar -xvf ./压缩包文件名
完了之后你就会得到一个文件,里面存放有easy-rsa的应用程序,以及它周边的各种配置文件。
我们得用cd命令进入到这个文件夹内。
对easy-rsa进行初始化。
./easyrsa init-pki
然后呢,开始touch创建一个vars文件,这个vars文件是用来配置你的ca根证书信息的,当然你也可以直接内嵌入命令生成。但不推荐这样。
然后nano进入该文件,把一下的配置信息自己修改一下粘贴进去配置文件内ctrl+o保存,ctrl+x退出。
set_var EASYRSA_REQ_COUNTRY "CN" 国家代码
set_var EASYRSA_REQ_PROVINCE "GuangDong" 省份
set_var EASYRSA_REQ_CITY "GuangZhou" 城市
set_var EASYRSA_REQ_ORG "Carlos" 组织名称
set_var EASYRSA_REQ_EMAIL "XXXXXXXX@qq.com" 邮箱
河北服务器品牌云服务器
set_var EASYRSA_REQ_OU "CarlosOnly" 组织单位
set_var EASYRSA_KEY_SIZE 2048 密钥长度(RSA)或曲线名(ECDSA)
set_var EASYRSA_ALGO "rsa" 算法(ec/rsa)
set_var EASYRSA_DIGEST "sha256" 哈希算法
之后呢,就是生成根证书了。
./easyrsa --batch "--vars=./vars" build-ca nopass
然后呢,就生成服务器证书以及KEY文件。
./easyrsa --batch "--vars=./vars" gen-req server nopass
./easyrsa --batch "--vars=./vars" sign-req server server
好到这一步就注意了,服务器crt证书在本目录下的pki下的issue文件夹内,而key文件则在pki的private文件夹内。
昨晚这几部工作,下面我们就要把所有有用的证书全部复制到open下的server文件内了。
cp /etc/open/easy-rsa/ca.crt /etc/open/server/ && cp /etc/open/easy-rsa/pki/issued/server.crt /etc/open/server/ && cp /etc/open/easy-rsa/pki/private/server.key /etc/open/server/
其中easy-rsa文件夹替换成你easy-rsa应用文件所在的文件夹名字。
现在cd到/etc/open/server/下,touch一个server.conf的文件夹。
将我刚刚发出来的配置用nano打开这个文件复制粘贴上:
保存退出。
在这里说明一下这些crt和key是什么作用,到底在什么地方才需要使用这些东西:
然后再touch /etc/open的一个checkpsw的文件。
用nano写一个账号密码验证脚本。c
!/bin/sh
USERNAME="$1"
PASSWORD="$2"
调试:打印参数
echo "DEBUG: USERNAME=$USERNAME, PASSWORD=$PASSWORD" >> /tmp/open_auth.log
定义允许的用户名和密码(每行一个)
VALID_USERS="admin1:admin1
admin2:admin2"
用 grep -F 逐行匹配(-F 表示固定字符串,非正则)
echo "$VALID_USERS" | grep -F -q "$USERNAME:$PASSWORD"
exit $?
VALID_USERS字段里面的内容,你可以替换成你想要的账号密码,这个账号密码和linux本地的账号密码不是关联的。
然后赋予它755的的权属。
chmod 755 /etc/open/checkpsw
再者就是赋予它可执行的属性。
chmod +x /etc/open/checkpsw
ok,现在已经万事具备只欠东风了。咱们来开启它的服务试一试,
systemctl enable open-server@server.service
systemctl start open-server@server.service
然后我们就会惊奇的发现启动不起来了。
用journalctl -u open-server@server -f看日志为什么会报错:
为什么呢,因为新编的rockylinux没有nogroup这个组。
我们先得用命令添加一个用户组。
groupadd nogroup
然后再试。嗯还是启动不起来。为什么呢,因为selinux阻止了脚本的运行。
关闭selinux
setenforce 0
然后再运行就成功了。
下面我们要放通防火墙的1194tcp端口。
firewall-cmd --add-port=1194/tcp --permanent
重启防火墙
firewall-cmd --reload
你会看到提示两个success。
然后再到我们的客户机上面去安装open客户端
因为我们这边也是无法正常上open的官网,所以你们需要open的windows客户端也可以私信找我要。
用wincsp登录到你的服务器上,把ca和ta.key复制出来放在d盘的opini目录下,新建一个配置文件,扩展名是.o。然后编辑。
client
dev tun
proto tcp
remote 6230754fork9.vicp.fun 13489 你的服务器IP和端口
resolv-retry infinite
nobind
persist-tun
persist-key
verb 3
ca d:\\opini\\ca.crt
tls-auth d:\\opini\\ta.key 1
cipher AES-256-GCM
--------------------------
用户名/密码认证
--------------------------
auth-user-pass 连接时会弹出输入框或使用外部文件
保存好。
然后双击启动open客户端。你就会发现能够正常连接了,中间会弹出个提示窗口,提醒你没有额外的验证文件,这是正常的,因为我们用的是账号密码验证,而不是客户端证书认证。点击contunue。
然后大家就会惊奇的发现,上不了网。
这是怎么一回事呢,因为我们已经访问了服务器的内部网络了,需要上外网,得从服务器端设置互联网出口,那么我们就要配置转发通过以及iptable的nat转发。
nano /etc/sysctl.conf
然后进去把原来的配置注释掉,改成:
net.ipv4.ip_forward=1
加载配置:
sysctl -p
配置iptable转发
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
这里的eth0是你的网卡名称,不知道的可以去查查。ip addr
然后iptable.save。
好现在重新连接一下你会发现能上互联网了。
这篇文章是重在让大家理解如何配置以及原理的,其实网上有很对一键部署脚本。不需要像我这样复杂的配置open。
格来云怎么进入服务器
推荐阅读
- hyy云服务器NameSilo托管域名快速转移到腾讯云,仅需15分钟! 2025-12-21 19:40:48
- 阿里云服务器qq三国腾讯官宣AI成果:50%的新增代码由AI辅助生成 2025-12-21 19:30:44
- 阿里云服务器登陆不上去告别迷茫,手把手教你进行排污登记网上填报,记得收藏 2025-12-21 19:20:41
- 轻云服务器尊享版不懂编程代码?只需5分钟你也能造一个自己的AI智能体 2025-12-21 19:10:37
- 云服务器url我的世界1.21.11第4预览版发布:发器与鹦鹉螺的优化来了! 2025-12-21 19:00:31

