差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
| digi:arm-embedded:linux:dey:pvpn [2024/01/16 09:38] – 创建 robin | digi:arm-embedded:linux:dey:pvpn [2024/01/23 11:21] (当前版本) – robin | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====如何在DEY系统中使用pvpn==== | ====如何在DEY系统中使用pvpn==== | ||
| - | peyoot/ | + | peyoot/ |
| + | |||
| + | 下面介绍如何编译pvpn支持的DEY系统固件: | ||
| + | |||
| + | 假定您的DEY-AIO安装在~/ | ||
| + | < | ||
| + | cd ~/ | ||
| + | mkdir mycc_pvpn | ||
| + | cd mycc_pvpn | ||
| + | source ../ | ||
| + | source ../ | ||
| + | bitbake < | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | 1. 开启内核配置选项TUN/ | ||
| + | |||
| + | 默认地,该内核选项是关闭状态,编译出的基础镜像并不带TUN/ | ||
| + | < | ||
| + | bitbake -c menuconfig virtual/ | ||
| + | </ | ||
| + | 在选项卡中,启用下面的选项,找到这个项Enable Device Drivers -> Network device support -> Universal TUN/TAP device driver support,用空格来选择,M表示编译成可加载的内核模块,*表示直接编译进内核。这里以编译成内核模块为例,保存并退出。然后执行: | ||
| + | < | ||
| + | bitbake virtual/ | ||
| + | </ | ||
| + | 编译结束后,可以检查~/ | ||
| + | 我们需要接着编译出镜像 | ||
| + | < | ||
| + | bitbake core-image-base 或是其它SOM所支持的镜像 | ||
| + | </ | ||
| + | |||
| + | 这样,就把支持TUN/ | ||
| + | |||
| + | 2. 编译pvpn所需的软件包 | ||
| + | 虽然我们已经编译出修改过内核配置的固件,但该固件并没有带有pvpn所需的相关软件包,我们还需要在conf/ | ||
| + | |||
| + | 默认地,DEY系统并没有安装好pvpn所需的相关依赖包,您可以在conf/ | ||
| + | |||
| + | IMAGE_INSTALL: | ||
| + | |||
| + | 这样,就生成了带有pvpn支持的DEY系统镜像。DEY-AIO项目整合了一个发布脚本,可以帮您迅速创建卡刷包,请到dey4.0目录下执行publish.sh脚本,根据提示选项项目,然后一路回车,卡刷包会在release目录内生成。 | ||
| + | |||
| + | 3. 用卡刷的方式来刷入固件 | ||
| + | 在uboot开始上电时,按任意键停在uboot界面,然后执行 | ||
| + | < | ||
| + | run install_linux_fw_sd | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | 如果image-name没有设置,或是默认镜像和你编译的镜像名不一致,则可以设置image-name再进行卡刷: | ||
| + | < | ||
| + | setenv image-name core-image-base 或 setenv image-name dey-image-qt | ||
| + | saveenv | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | 刷好固件后,进入板子的linux,在/ | ||
| + | |||
| + | 4. 运行pvpn安装脚本 | ||
| + | pvpn的DEY版本支持目前仅支持openvpn客户端模式,仅管tun/ | ||
| + | |||
| + | PVPN需要一台有公网IP地址的云服务器作为服务端,请确保您已经在服务端运行pvpn的安装脚本安装好openvpn的服务端,开放8000和8443端口,然后在客户端的板子运行: | ||
| + | < | ||
| + | install_vpn.sh | ||
| + | </ | ||
| + | 根据提示输入服务端的IP地址,然后其它选项一路回车即可安装好。然后我们可以通过date或是timedatectl来检查是否已经更新为正确的时间。 | ||
| + | |||
| + | |||
| + | 5. 开启pvpn的openvpn服务 | ||
| + | < | ||
| + | systemctl start openvpn-client@client | ||
| + | </ | ||
| + | |||
| + | 6. 修改某个接口的DNS | ||
| + | |||
| + | 如果您已经使用pvpn, | ||
| + | |||
| + | 查询当前所有的DNS服务器: | ||
| + | < | ||
| + | systemd-resolve --status | ||
| + | </ | ||
| + | 设置某个接口的DNS,如wlan0 | ||
| + | < | ||
| + | systemd-resolve --interface=wlan0 --set-dns=8.8.8.8 | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| - | 默认地,peyoot/ | ||
| - | wget https:// | ||