组网神器WireGuard安装与配置(实践笔记)

01 引言

博主之前也写过类似的一篇,有兴趣的同学可以参考下《组网神器WireGuard安装与配置教程(超详细)》

在这里插入图片描述
wireguard是什么?维基百科是这样描述的:

通过描述,我们知道了wireguard其实就是 一个FAST(速度快)、MODERN(流行)、SECURE (安全)的VPN TUNNEL(VPN隧道)

ok,那么如何安装呢?本文来讲解下在云服务器下的安装教程,本文是基于CentOS7.6的环境下安装的。

02 安装教程

step1:云服务器准备

如果要在外网的情况下使用wireguard,是需要有公网的ip地址(这些地址可以直接在腾讯云、阿里云等厂商购买);这里比较推荐的是腾讯云,他们有免费试用版,可以在这个地址申请:https://cloud.tencent.com/act/pro/free?from=19067
在这里插入图片描述
这里使用的是2核2G3M 1个月的版本。选择CentOS7.6版本,反正试用都是免费的。
在这里插入图片描述
ok,细节这些就不讲了,一直下一步即可。准备完成之后,可以ssh登录上去安装wireguard了。

step2:wireguard服务端安装

安装脚本如下:

curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
yum install epel-release
yum install wireguard-dkms wireguard-tools

在这里插入图片描述

step3:wireguard服务端配置

1.创建 WireGuard 配置文件

sudo mkdir /etc/wireguard
sudo chmod 600 /etc/wireguard

2.生成公钥和私钥

wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key

3.新建并编辑wireguard配置文件(例如:wg0.conf):

[Interface]
PrivateKey = 服务端私钥
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

10.0.0.1/24 是你为 WireGuard VPN 网络内部分配的 IP 地址。这个地址不需要从外部获取,而是由你自行定义的,用于 VPN 内部的通信。通常情况下,10.0.0.x/24 这类 IP 地址属于私有 IP 地址空间,可以自由使用,不会与公共互联网上的地址冲突。

step4:启用并启动 WireGuard

# 开机启动
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo systemctl stop wg-quick@wg0

开启ipv4流量转发:

sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
## 生效
sudo sysctl -p
## 检查
sysctl net.ipv4.ip_forward

其它命令:

# 手动删除已经存在的 wg0 接口
sudo wg-quick down wg0
# 尝试重新启动 WireGuard:
sudo wg-quick up wg0
# 重启wireguard命令
sudo systemctl restart wg-quick@wg0
# 服务端检测客户端是否注册上
sudo wg show

验证是否安装成功(如果有如下命令,表示安装成功):

sudo systemctl status wg-quick@wg0

在这里插入图片描述

03 完整配置示例

服务端:

[Interface]
PrivateKey = 服务端私钥(即上面生成的server_private.key的内容)
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
# 用户1
PublicKey = 客户端公钥(直接客户端或wg命令生成)
AllowedIPs = 10.0.0.2/32 

[Peer]
# 用户2
PublicKey = 客户端公钥(直接客户端或wg命令生成)
AllowedIPs = 10.0.0.3/32 

客户端:

[Interface]
PrivateKey = 客户端私钥(直接客户端或wg命令生成)
Address = 10.0.0.2/24

[Peer]
PublicKey = 服务端公钥
Endpoint = 公网IP:51820
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25

wg命令生成公钥和私钥的命令:wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.key

04 遇到的问题

1. CentOS 7.6 安装epel失败,解决方式如下:

curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
yum install epel-release
yum install wireguard-dkms wireguard-tools

2. 腾讯OpenCloudOS或其他内核比较低的版本安装失败,解决方式:升级内核并重启:

sudo yum update kernel
# 然后重启
sudo reboot

3. 外网端口不可用,解决方式:开放防火墙端口,如:51820
在这里插入图片描述

4. 可能用到的一些命令/font>

######## 修改ssh端口 ########
sed -i 's/#Port 22/Port 你想要修改的ssh端口/' /etc/ssh/sshd_config
systemctl restart sshd
systemctl status sshd

######## 安全防护 ########
## 安装clamav
sudo yum install clamav clamav-update
## 更新病毒库
sudo freshclam
## 全系统扫描
sudo clamscan -r /
## 设置定期扫描
crontab -e
## 添加一条,每天凌晨两点执行
0 2 * * * /usr/bin/clamscan -r / > /var/log/clamav/scan.log
## 扫描完成后,可以查看生成的日志文件
cat /var/log/clamav/scan.log
## 查看感染的文件
grep "Infected" /var/log/clamav/scan.log
## 删除文件
sudo rm <文件路径>
<think>好的,我现在需要帮助用户解决PL/SQL Developer初始化时出现的OCI DLL加载失败的问题。用户提到错误信息是“initialization error Could not load OCI.dll”,并且引用了多个相关的问题和解决方案。首先,我需要理解这个错误的常见原因,然后根据提供的引用信息整理出解决方案的步骤。 首先,用户提供的引用中提到,这个问题通常环境变量配置、路径错误或OCI.dll文件缺失有关。例如,引用[5]提到环境变量被修改导致PL/SQL找不到tnsnames和oci.dll。引用[3]和[4]也提到了路径配置的问题。所以,我需要将这些信息整合起来,形成有条理的解决步骤。 第一步应该是检查Oracle客户端的安装情况。用户可能没有正确安装Oracle Instant Client,或者安装路径有误。根据引用[3],正确的路径应该是类似于C:\oracle\product\11.2.0\dbhome_1\bin\oci.dll,而用户提到的是instantclient 11.2,可能需要确认安装路径是否正确。 接下来,需要检查PL/SQL Developer的配置。用户需要确保在PL/SQL的首选项中正确设置了Oracle Home和OCI Library的路径。比如,Oracle Home应该指向Instant Client的根目录,而OCI Library应该是该目录下的oci.dll文件。引用[2]和[4]中提到配置这两个参数是关键步骤。 然后,环境变量的设置也很重要。系统PATH变量需要包含Instant Client的路径,这样PL/SQL才能找到必要的DLL文件。引用[5]指出环境变量被修改可能导致问题,所以需要检查PATH是否包含正确的路径。 此外,还需要考虑位数匹配的问题。如果用户安装的是32位的PL/SQL Developer,那么必须使用32位的Oracle Instant Client,否则会出现兼容性问题。引用[3]和[5]可能暗示了这一点,需要提醒用户检查版本是否匹配。 还有可能需要检查文件权限,确保用户有权限读取oci.dll文件,或者重新安装Instant Client以修复可能损坏的文件。引用[1]中的LoadLibrary返回0可能意味着文件不存在或权限不足。 最后,用户可能需要重启计算机使环境变量生效,或者以管理员身份运行PL/SQL Developer,尤其是在权限不足的情况下。 总结起来,解决方案的步骤应该包括:安装或确认Oracle Instant Client的路径,配置PL/SQL的Oracle Home和OCI Library,设置系统环境变量PATH,检查版本兼容性,处理文件权限,以及重启或使用管理员权限运行程序。需要将这些步骤按照逻辑顺序排列,并确保每个步骤都有对应的引用支持,比如引用[2]、[4]、[5]等。同时,要使用用户提到的具体版本信息,如instantclient 11.2,确保建议的准确性。 在编写回答时,要保持结构清晰,分点说明,并且语言简洁。可能需要提醒用户注意常见的错误点,例如路径中的斜杠方向、多余的空格等。此外,提供下载链接和示例路径会有助于用户操作。最后,相关问题可以涉及更深入的环境配置问题或其他常见错误,帮助用户扩展知识。</think>### 分步解决方案:PL/SQL Developer初始化时OCI.dll加载失败 #### 1. **确认Oracle Instant Client安装路径** - **安装正确版本**:下载PL/SQL Developer**位数匹配**的Oracle Instant Client(例如32位PL/SQL必须用32位客户端)[^5]。 - 官方下载地址:[Oracle Instant Client 11.2](https://www.oracle.com/database/technologies/instant-client/downloads.html) - **检查路径有效性**:确保Instant Client解压到**无空格和特殊字符**的路径,例如:`C:\instantclient_11_2`[^3][^4]。 #### 2. **配置PL/SQL Developer的Oracle参数** - 打开PL/SQL Developer,取消登录,进入菜单:**Tools → Preferences**。 - **设置Oracle Home**: ```plaintext Oracle Home: C:\instantclient_11_2 ``` - **设置OCI Library**: ```plaintext OCI Library: C:\instantclient_11_2\oci.dll ``` - **保存后重启PL/SQL Developer**[^2][^4]。 #### 3. **配置系统环境变量** - 将Instant Client路径添加到系统`PATH`: ```plaintext 控制面板 → 系统 → 高级系统设置 → 环境变量 → 编辑系统变量Path → 添加C:\instantclient_11_2 ``` - **新建变量**(可选): ```plaintext TNS_ADMIN = C:\instantclient_11_2\network\admin (存放tnsnames.ora的目录) ``` - 重启计算机使环境变量生效。 #### 4. **检查文件完整性权限** - **验证oci.dll存在**:确认`oci.dll`位于Instant Client目录下。 - **修复文件权限**:右键`oci.dll` → 属性 → 安全 → 赋予当前用户**完全控制权限**。 - 若文件损坏,重新下载并解压Instant Client[^1]。 #### 5. **处理兼容性问题** - 若PL/SQL DeveloperInstant Client**位数不匹配**(如64位系统安装了32位PL/SQL),需更换对应版本的客户端。 - 尝试以**管理员身份运行**PL/SQL Developer。 --- ### 常见错误排查 - **错误示例**:`LoadLibrary returned 0` - 原因:路径错误、文件缺失或权限不足[^1]。 - **错误示例**:`TNS:could not resolve the connect identifier` - 解决:检查`TNS_ADMIN`环境变量和`tnsnames.ora`配置[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值