目前我正准备更改一个名为“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) 我必须创建一个脚本来自动设置 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,它的工作原理。
感谢您的帮助(并为我的英语不好:/)
对于我的问题,我进行了很多搜索,但没有找到可行的解决方案,因此我想自己要在这里提出一个问题。
问题:
我有一台运行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分开?(我发现了一种称为拆分隧道的东西,但并没有真正理解它)。有人可以启发我吗?
我有这个脚本:
#!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 作业或其他方式中吗?
注意。当我运行这个脚本时,我需要输入证书密码。因此,考虑到安全性,我想知道为了自动重新连接的目的,我应该在哪里保存该密码?
我已经配置了 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) 我发现显然在 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) 我在运行 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 连接它们会有所不同。
我找不到任何明确的指南来为我的设置提供解决方案。我希望有人可以就从哪里开始提供一些想法或分享对我有用的指南。
我有一个使用证书身份验证设置的 AWS 客户端 VPN。我正在为客户端-客户端访问系统进行设置,基本上如本 AWS 场景/示例中所述。一切正常,如果我知道一个客户端的 IP 地址,我可以从一个客户端 ping 到另一个客户端。
我的问题是:在实际使用中,如果客户端每次连接到VPN时都被分配一个随机IP地址,并且在不检查AWS控制台的情况下无法知道哪些客户端已连接或者它们的IP地址是什么,那么这个系统有什么用或使用describe-client-vpn-connections CLI(需要IAM凭证)?
有什么办法可以:
我正在使用 OpenVPN GUI
OpenVPN连接远程服务器,现在我想让WSL2也能连接远程服务器,怎么办?
我正在使用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
openvpn ×10
vpn ×4
bash ×3
shell ×2
amazon-vpc ×1
android ×1
containers ×1
curl ×1
dhcp ×1
dns ×1
docker ×1
ics-openvpn ×1
linux ×1
openconnect ×1
openssl ×1
ssh ×1
ubuntu-18.04 ×1
variables ×1