标签: openvpn

在 openvpn 中传递 SSL 密钥的密码

目前我正准备更改一个名为“pkitool”的脚本(如果有人不使用 openvpn,但也想帮助我,pkitool 是这样的:https://joinup.ec.europa。 eu/svn/cube/trunk/cube/cube-integration/src/main/scripts/openvpn/pkitool)。我的目标是,我能够传递变量 $1(密钥名)和我在同一个脚本中导出的密码。它看起来像这样:

export KEY_PASSWORD=$2
./pkitool --pass $1
Run Code Online (Sandbox Code Playgroud)

目前,我被要求输入密码并进行验证。我想改变它,只是将密码和脚本传递给脚本,我希望脚本要求我输入一个密码短语......(我导出变量 KEY_PASSWORD 的原因是因为我想稍后使用它。)这个是我修改后的 pkitool 的摘录:

# Process options while [ $# -gt 0 ]; do
    case "$1" in
        --keysize  ) KEY_SIZE=$2
                     shift;;
        --server   ) REQ_EXT="$REQ_EXT -extensions server"
                     CA_EXT="$CA_EXT -extensions server" ;;
        --batch    ) BATCH="-batch" ;;
        --interact ) BATCH="" ;;
        --inter    ) CA_EXT="$CA_EXT -extensions v3_ca" ;;
        --initca   ) DO_ROOT="1" ;;
        --pass     ) NODES_REQ="-passin env:KEY_PASSWORD" ;;
        --csr      ) DO_CA="0" ;;
        --sign     ) DO_REQ="0" ;;
        --pkcs12   ) DO_P12="1" ;;
        --pkcs11   ) …
Run Code Online (Sandbox Code Playgroud)

bash shell openssl openvpn

5
推荐指数
1
解决办法
1974
查看次数

OpenVPN 源变量不适用于 debian

我必须创建一个脚本来自动设置 OpenVPN 服务器。在这个脚本中,我需要在 /etc/openvpn/easy-rsa/ 中获取 vars 文件

但是当我在 /etc/openvpn/easy-rsa/ 文件夹(脚本和 vars 文件上带有 chmod 775)中执行以下脚本时,它说“xxxx.sh: 3: xxxx.sh: source: not found: ”

#!/bin/bash
source ./vars
Run Code Online (Sandbox Code Playgroud)

当我写 . ./vars,它可以工作,但是如果我想做一个 ./clean-all 它说:

请首先获取 vars 脚本(即“source ./vars”) 确保您已编辑它以反映您的配置。

当我在与 . ./vars,它的工作原理。

感谢您的帮助(并为我的英语不好:/)

variables bash openvpn

5
推荐指数
1
解决办法
8406
查看次数

建立VPN连接后,SSH连接中断

对于我的问题,我进行了很多搜索,但没有找到可行的解决方案,因此我想自己要在这里提出一个问题。

问题:

我有一台运行Ubuntu 14.04的远程服务器(称为A)和本地计算机(称为B)。我可以这样做来建立连接A和B的反向SSH隧道在服务器A:ssh -R 2014:localhost:22 userb @ B在本地计算机B:ssh -p 2014 usera @ localhost

其中用户a和用户b分别是A和B的两个用户。

现在,我将A连接到VPN。成功建立VPN连接后,当前打开的ssh会话不再响应。另外,直到终止VPN连接后,我才能再进入A。

有没有办法让SSH和VPN都开心呢?也许要将SSH会话与VPN分开?(我发现了一种称为拆分隧道的东西,但并没有真正理解它)。有人可以启发我吗?

linux ssh openvpn

5
推荐指数
2
解决办法
7813
查看次数

OpenConnect 自动连接/重新连接脚本?

我有这个脚本:

#!bin/bash
NAME="user"
PIDFILE="openconnect.pid"
CERT="user.crt"
KEY="user.key"
PASS="pass"
HOST="https://example.com"
SCRIPT="/etc/vpnc/vpnc-script"

openconnect -b --script $SCRIPT --pid-file=$PIDFILE -c $CERT -k $KEY --key-password=$PASS --user=$NAME $HOST
Run Code Online (Sandbox Code Playgroud)

它可以工作,但有时如果出现问题(服务器重启或其他一些问题),它会与 VPN 断开连接。我需要再次重新运行脚本。有什么方法可以修改它或将其添加到 cron 作业或其他方式中吗?

注意。当我运行这个脚本时,我需要输入证书密码。因此,考虑到安全性,我想知道为了自动重新连接的目的,我应该在哪里保存该密码?

bash shell vpn openvpn openconnect

5
推荐指数
1
解决办法
6749
查看次数

使用用户名和密码的 Openvpn

我已经配置了 OpenVPN,它工作正常。但是我总是需要导入配置并且它有 ca 证书,我启用了用户名和密码身份验证。但我仍然需要添加此证书。

如何在没有证书和配置但只有用户名和密码的情况下连接 openvpn。

服务器配置

port 1194
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
auth SHA512
tls-auth /etc/openvpn/ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 94.237.127.99"
push "dhcp-option DNS 94.237.40.99"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 4
crl-verify /etc/openvpn/crl.pem
--verify-client-cert none
log-append /var/log/openvpn.log
script-security 2
auth-user-pass-verify /etc/openvpn/example.sh via-file
Run Code Online (Sandbox Code Playgroud)

客户端配置

client
dev tun
proto …
Run Code Online (Sandbox Code Playgroud)

authentication openvpn

5
推荐指数
1
解决办法
1万
查看次数

Ubuntu 18、VPN 和 DNS:curl 无法解析 VPN 主机,但 nslookup 和 dig 可以

我发现显然在 Ubuntu 18 中,整个 DNS 设置非常混乱。我通过 pritunl VPN 连接到我的 kube-cluster 并且我正在尝试使用 kube-dns 服务器。所以我首先尝试使用https://github.com/jonathanio/update-systemd-resolved通过从 VPN 推送的 DNS 服务器更新我的 DNS 设置,但目前似乎有些问题(https://github. com/jonathanio/update-systemd-resolved/issues/64)。由于我可以在某处对 DNS ip 进行硬编码,因此我尝试将 IP 放在某些地方:安装 resolvconf 并将其放入/etc/resolvconf/resolv.conf.d/head,放入/etc/systemd/resolved.conf,当然也尝试将其直接放入/etc/resolv.conf,因为我是一个天真的人。重新启动一些东西几次后,我达到了一个更加混乱的状态:

% dig pritunl-ui.infra.svc.cluster.local                      
[...]
;; ANSWER SECTION:
pritunl-ui.infra.svc.cluster.local. 30 IN A 10.15.246.61
[...]
Run Code Online (Sandbox Code Playgroud)

所以这看起来不错,但是:

% curl 'https://pritunl-ui.infra.svc.cluster.local' --insecure
curl: (6) Could not resolve host: pritunl-ui.infra.svc.cluster.local
Run Code Online (Sandbox Code Playgroud)

调用 IP 确实有效:

% curl 'https://10.15.246.61' --insecure
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should …
Run Code Online (Sandbox Code Playgroud)

dns curl openvpn ubuntu-18.04

5
推荐指数
1
解决办法
1481
查看次数

通过 VPN 容器路由 Docker 容器流量

我在运行 openmediavault(版本 4.1.27-1 Arrakis)的RockPro64(ARMv8 处理器 rev 2(v8|))上安装了几个容器。一切都像魅力一样工作。

我使用的容器包括传输、Jellyfin、Radarr、Sonarr、Jacket... 等等。我希望能够通过 VPN 连接这些容器,以便连接更加私密。

理想的情况是我有一个与我的 VPN 提供商连接的“VPN 容器”(目前这是 PIA,但我想要一个灵活的解决方案)。我的其他容器将通过此容器连接到 Internet,以便它们具有 VPN 连接。

也许值得一提的是,我有两个容器(Jellyfin 和 Nextcloud),我可以通过域名从外部通过 Internet 访问它们。也许通过 VPN 连接它们会有所不同。

我找不到任何明确的指南来为我的设置提供解决方案。我希望有人可以就从哪里开始提供一些想法或分享对我有用的指南。

vpn containers openvpn docker

5
推荐指数
1
解决办法
4023
查看次数

AWS 客户端 VPN 客户端间通信

我有一个使用证书身份验证设置的 AWS 客户端 VPN。我正在为客户端-客户端访问系统进行设置,基本上如本 AWS 场景/示例中所述。一切正常,如果我知道一个客户端的 IP 地址,我可以从一个客户端 ping 到另一个客户端。

我的问题是:在实际使用中,如果客户端每次连接到VPN时都被分配一个随机IP地址,并且在不检查AWS控制台的情况下无法知道哪些客户端已连接或者它们的IP地址是什么,那么这个系统有什么用或使用describe-client-vpn-connections CLI(需要IAM凭证)?

有什么办法可以:

  • 为特定客户端分配静态 IP 地址,以便他们每次连接到 VPN 时都会收到相同的 IP 地址?
  • 获取已连接客户端的列表(及其 CommonName 和 IP 地址)?
  • 使用连接的客户端的主机名/计算机名称而不是其随机 VPN IP 地址?
  • 有没有其他方法可以从一个客户端连接到另一个客户端,而无需使用 AWS 控制台或describe-client-vpn-connections CLI 来获取已连接客户端的列表?

vpn dhcp openvpn amazon-web-services amazon-vpc

5
推荐指数
1
解决办法
1143
查看次数

WSL2如何使用Windows主机上的openvpn客户端进行远程连接?

我正在使用 OpenVPN GUIOpenVPN连接远程服务器,现在我想让WSL2也能连接远程服务器,怎么办?

openvpn windows-subsystem-for-linux

5
推荐指数
0
解决办法
1205
查看次数

将 Android 应用程序包 (..aab) 上传到 Play 商店后,VPN 无法连接

我正在使用ics-openvpn最新版本 0.7.33。该应用程序在 .apk 下运行良好。但是一旦我通过 .aab 上传到 Google Play 商店,就无法连接。从 Play 商店安装应用程序后,可以正常打开,但在连接时会引发异常。以下异常正在...

从 OpenVPN 进程的输出读取时出错:无法运行程序“/data/app/com.mycompany.sslvpn-VkwWqlSgj-ZP5zBpQLYGNA== /lib/arm64/libovpnexec.so”:错误=2,没有这样的文件或目录

java.io.IOException: Cannot run program "/data/app/com.mycompany.sslvpn-VkwWqlSgj-ZP5zBpQLYGNA==/lib/arm64/libovpnexec.so": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)
    at com.mycompany.sslvpn.core.OpenVPNThread.startOpenVPNThreadArgs(OpenVPNThread.java:123)
    at com.mycompany.sslvpn.core.OpenVPNThread.run(OpenVPNThread.java:65)
    at java.lang.Thread.run(Thread.java:919)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
    at java.lang.ProcessImpl.start(ProcessImpl.java:141)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
Run Code Online (Sandbox Code Playgroud)

应用程序 .apk 运行没有任何异常。通过android应用程序包(.aab)将应用程序上传到Play商店时发生异常。

我不知道为什么会这样。

Android版本:11,ics-openvpn版本:0.7.33

vpn android openvpn ics-openvpn

5
推荐指数
2
解决办法
1692
查看次数