AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[openvpn](server)

Martin Hope
Brian B
Asked: 2025-02-28 04:29:44 +0800 CST

连接后如何使用 OpenVPN 隧道作为“默认网关”。但不能路由 VPN 端点,否则会中断

  • 5

这看起来应该很容易,但我不记得怎么做了。每个客户端始终被授予通过与其连接名称匹配的 CCD 文件访问服务器上不同资源(通常是子网)的权限。我通常会创建“拆分”隧道 - 指定仅通过推送“路由...”命令通过隧道访问某些私有子网或服务器。

在计算机上,假设我有管理员权限,我可以通过本地网关向端点添加特定路由,然后删除默认路由,然后通过隧道添加默认路由来操作。除端点(以及客户端上的任何其他特定路由)之外的所有内容都通过隧道路由。

是否有我可以用来执行此操作的 CCD 文件推送命令?也许关键字被实际值替换,例如:

push "route <VPN_Endpoint> 255.255.255.255 <current_default_gateway>"
push "route 0.0.0.0 0.0.0.0"  

就像我说的,我习惯使用 ccd 文件中的推送来推送特定的子网路由,但如何配置成为默认网关却很难找到。

openvpn
  • 1 个回答
  • 100 Views
Martin Hope
Dmitriano
Asked: 2025-01-27 07:07:19 +0800 CST

OpenVPN 客户端无需客户端到客户端选项即可互相看到

  • 5

我在 Docker 容器中运行一个实验性的 VPN 服务器。

我的docker-compose.yml文件:

version: '3'
services:
dockovpn:
    image: alekslitvinenk/openvpn
    cap_add:
        - NET_ADMIN
    ports:
        - 1194:1194/udp # Expose tcp if you defined HOST_TUN_PROTOCOL=tcp
    environment:
        HOST_ADDR: ${HOST_ADDR}
    volumes:
        - /var/lib/dockovpn:/opt/Dockovpn_data
    restart: always

HOST_ADDR我的 IP 地址在哪里?

我使用

sudo docker-compose up -d

命令,我可以从 Windows、Android 和 iOS 设备连接到 VPN。

没有client-to-client选项server.conf:

sudo docker exec -it dockovpn_dockovpn_1 bash
cd /opt/Dockovpn
cat config/server.conf

port 1194
proto %HOST_TUN_PROTOCOL%
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/MyReq.crt
key /etc/openvpn/MyReq.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
keepalive 10 120
cipher AES-256-GCM
ncp-ciphers AES-256-GCM:AES-256-CBC
auth SHA512
persist-key
persist-tun
status openvpn-status.log
verb 4
tls-server
tls-version-min 1.2
tls-auth /etc/openvpn/ta.key 0
crl-verify /etc/openvpn/crl.pem

因此,根据OpenVPN 文档,客户端不应该互相看到对方,但实际上他们可以看到对方。例如,我可以通过远程桌面连接到 IP 地址为 10.8.0.14 等的远程 Windows 计算机...

如何解决这个问题?

编辑1

在scripts\start.sh中找到以下内容:

# Allow traffic on the TUN interface.
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT

也许我最好删除iptables -A FORWARD -i tun0 -j ACCEPT而不是添加iptables -A FORWARD -i tun0 -o tun0 -j REJECT?

openvpn
  • 1 个回答
  • 94 Views
Martin Hope
Ami Heines
Asked: 2024-11-18 01:25:23 +0800 CST

升级到 python3.11 后 Openvpn3 无法工作,如何让服务改用 python3.8?

  • 5

在我将 Ubuntu 20.04 笔记本电脑从 python3.8 升级到 python 3.11 后,Openvpn3 停止工作

我收到此错误:

openvpn3-systemd[9972]: ModuleNotFoundError: No module named '_dbus_bindings'

我发现它import dbus适用于 python3.8,但不适用于 python3.11

我尝试通过将默认系统 python 改回 3.8 来使 openvpn3 正常工作

sudo update-alternatives --config python

我还验证了当我在命令行中使用 python 时,它会找到 dbus,

python -c 'import dbus'

重新启动服务仍然失败并出现相同错误。我编辑了文件/usr/libexec/openvpn3-linux/openvpn3-systemd,以便在尝试使用文件顶部的以下两行导入 dbus 之前打印 python 版本:

import sys
print ('openvpn3-python-version-used: ' + sys.version)

我看到它使用的是 python3.11

我如何更改服务文件以强制它使用旧版本的 python3.8?/lib/systemd/system/[email protected]

当前服务文件:

[Unit]
Description=OpenVPN 3 Linux - VPN session for %I
After=dbus.service network-online.target
Wants=dbus.service network-online.target
Documentation=man:openvpn3-linux(7)
Documentation=man:openvpn3-systemd(7)

[Service]
Type=notify
PrivateTmp=true
ProtectSystem=true
ProtectHome=true
Environment="PYTHONUNBUFFERED=on"
ExecStart=/usr/libexec/openvpn3-linux/openvpn3-systemd --start %i
ExecReload=/usr/libexec/openvpn3-linux/openvpn3-systemd --restart %i
ExecStop=/usr/libexec/openvpn3-linux/openvpn3-systemd --stop %i

[Install]
WantedBy=multi-user.target
openvpn
  • 1 个回答
  • 20 Views
Martin Hope
dzboot02
Asked: 2024-09-12 03:20:18 +0800 CST

将自定义环境变量发送到 OVPN 服务器

  • 5

我在 Ubuntu 22.04 上有一个正在运行的 OpenVPN 服务器。

一切运行正常,但我想将有关已连接设备的更多信息记录到我的服务器。我需要使用我的服务器发送一些有关设备的自定义信息。

我成功集成了client-connect/client-disconnect脚本,但我想在这些脚本中使用更多关于客户端设备的环境变量。

我尝试从客户端配置文件中推送这些变量,如下所示:

push-peer-info
setenv IV_TEST="test1"
setenv UV_TEST="test2"

但我无法从脚本中恢复这些变量。在日志中,我可以看到一些变量被传输:

2024-09-11 07:31:09 us=326572 192.168.175.1:49395 peer info: IV_VER=3.8.2connect3
2024-09-11 07:31:09 us=326583 192.168.175.1:49395 peer info: IV_PLAT=win
2024-09-11 07:31:09 us=326588 192.168.175.1:49395 peer info: IV_NCP=2
2024-09-11 07:31:09 us=326593 192.168.175.1:49395 peer info: IV_TCPNL=1
2024-09-11 07:31:09 us=326597 192.168.175.1:49395 peer info: IV_PROTO=990
2024-09-11 07:31:09 us=326601 192.168.175.1:49395 peer info: IV_MTU=1600
2024-09-11 07:31:09 us=326605 192.168.175.1:49395 peer info: IV_CIPHERS=xxxxxxxx
2024-09-11 07:31:09 us=326609 192.168.175.1:49395 peer info: UV_ASCLI_VER=3.4.4-3412
2024-09-11 07:31:09 us=326614 192.168.175.1:49395 peer info: UV_PLAT_REL= xxxxxx
2024-09-11 07:31:09 us=326618 192.168.175.1:49395 peer info: UV_UUID=xxxxxxxxxxx
2024-09-11 07:31:09 us=326635 192.168.175.1:49395 peer info: IV_GUI_VER=OCWindows_3.4.4-3412
2024-09-11 07:31:09 us=326638 192.168.175.1:49395 peer info: IV_SSO=webauth,crtext
2024-09-11 07:31:09 us=326641 192.168.175.1:49395 peer info: IV_HWADDR=xxxxxxxxxxx
2024-09-11 07:31:09 us=326645 192.168.175.1:49395 peer info: IV_SSL=OpenSSL_3.1.4_24_Oct_2023

但不是我设置的变量。

查看文档我们可以看到这一点:

编辑1:

--push-peer-info :将有关客户端的其他信息推送到服务器。以下数据始终推送到服务器:

这意味着使用--push-peer-info,我们可以允许客户端推送除了默认变量之外的其他自定义变量,但如何实现呢?

EDIT2: 我甚至尝试覆盖默认变量并改变顺序,但没有成功:

setenv IV_HWADDR="test1"
push-peer-info

任何帮助都将不胜感激。

openvpn
  • 1 个回答
  • 49 Views
Martin Hope
Ben Holness
Asked: 2024-08-17 02:49:52 +0800 CST

为什么 openvpn 没有选择我的新 .conf 文件?

  • 8

我正在运行 Ubuntu 22,并且我已将 openvpn(客户端)设置为作为服务运行。我以前在 /etc/openvpn 中有一个 .conf 文件,最近又添加了一个。

当 openvpn 启动或我重新启动它时,它仅从第一个 .conf 文件连接到 vpn,而不是第二个。

如果我运行,sudo openvpn --config secondvpn.conf它可以正常工作并连接。

该服务的脚本位于 /etc/init.d 中,内容如下

# Description: This script will start OpenVPN tunnels as specified
#              in /etc/default/openvpn and /etc/openvpn/*.conf

我没有在 /etc/default/openvpn 中指定任何隧道,并且两个配置文件都在 /etc/openvpn/ 中并具有 .conf 扩展名。

我已尝试过systemctl daemon-reload但似乎无济于事。

我还尝试注释掉 /lib/systemd/system/ [email protected]中的 LimitNPROC 行。(来自OpenVPN 不会作为带有配置文件的服务启动)但这并没有什么区别。

我如何让 openvpn 识别我的第二个配置文件?

openvpn
  • 1 个回答
  • 127 Views
Martin Hope
rvh
Asked: 2023-10-31 23:46:50 +0800 CST

在 OpenVPN 中,签名 CA 是用于相互验证客户端和服务器的机制吗?

  • 5

假设使用有效证书(例如日期等)进行双向密钥对身份验证,没有 tls-crypt,没有 CRL,也没有对通用名称进行检查。

这也是使用私有 CA 而不是公共 CA 的原因吗?

openvpn
  • 1 个回答
  • 29 Views
Martin Hope
fluxrider
Asked: 2023-07-07 05:20:17 +0800 CST

用于黑名单的 openvpn 分割隧道

  • 5

我希望所有的互联网流量都通过 VPN,除了少数网站(例如,这样我可以正常流式传输节目,但通过 VPN 运行其他内容)。

我的 VPN 提供商为我提供了一个 .ovnp 文件。我应该很快提到我患有纤维肌痛并且无法正常思考。因此,我盲目地将中间某处逐字添加到以下 ovnp 文件中,这是我从其他线程获得的。

allow-pull-fqdn
route www.netflix.com 255.255.255.255 net_gateway
route www.disneyplus.com 255.255.255.255 net_gateway
route www.primevideo.com 255.255.255.255 net_gateway

但可惜的是,当我访问列出的网站时,我可以看到我通过了 VPN,因为它们的行为不正确,缺少显示或根本无法加载(而当我不使用 VPN 时,它们就很好) 。希望不是因为这些域有多个 ip 或其他原因。我正在运行 arch linux。文件中是否有一个特殊的位置需要放置我的块?该文件看起来像这样(我认为这些文件无论如何都是公开的,但我删除了密钥):

client
dev tun
proto udp
remote 89.47.234.171 1194
resolv-retry infinite
remote-random
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ping 15
ping-restart 0
ping-timer-rem
reneg-sec 0
comp-lzo no

<-- I tried here

remote-cert-tls server

auth-user-pass
verb 3
pull
fast-io
cipher AES-256-CBC
auth SHA512
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
...
-----END OpenVPN Static key V1-----
</tls-auth>
openvpn
  • 1 个回答
  • 21 Views
Martin Hope
Iori
Asked: 2023-06-24 20:04:36 +0800 CST

更安全地存储 openvpn 用户名和密码

  • 5

我已经在我的服务器上设置了 OpenVPN 服务,使用用户名和密码身份验证,并且不需要客户端证书。

我已经在/etc/passwd和/etc/shadow中设置了用户名和密码。现在,与 OpenVPN 的特定用户(即client1)连接是可以的,但我尝试过root(linux 用户),也可以连接。

问题是,是否有办法为 OpenVPN 存储这些用户而不是 passwd?我认为这太危险了,或者其他任何组(在 /etc/gourp 中为 OpenVPN 创建一个组)来限制它们?

服务器配置文件

port 20487
proto udp
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.0.0.1"
push "dhcp-option DNS 1.1.1.1"
duplicate-cn
keepalive 10 120
tls-crypt ta.key 0 # This file is secret
data-ciphers AES-256-GCM
data-ciphers-fallback AES-256-GCM
max-clients 24
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log         /var/log/openvpn/openvpn.log
verb 5


explicit-exit-notify 1

plugin openvpn-plugin-auth-pam.so login
verify-client-cert none
username-as-common-name
script-security 2

客户端.ovpn

client
dev tun
proto udp
remote [destnation] 20487
auth-user-pass
#verify-client-cert none
#username-as-common-name
data-ciphers-fallback AES-256-GCM
data-ciphers AES-256-GCM
<ca>
-----BEGIN CERTIFICATE-----
ca.crt
-----END CERTIFICATE-----
</ca>
<tls-crypt>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
ta.key
-----END OpenVPN Static key V1-----
</tls-crypt>

/etc/密码

root:x:0:0:root:/root:/bin/bash
***
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
***
client1:x:1001:65534::/nonexistent:/usr/sbin/nologin

/etc/影子

root:$y$*:19532:0:99999:7:::
***
nobody:*:19172:0:99999:7:::
***
client1:$y$j9T$K0ubESGFtXD2Imra5pMVJ/$ZUM2HNYn.0X9smrtKEAdgjIclQIdcURbI4xxlTU6tHB:19532:0:99999:7:::
openvpn
  • 1 个回答
  • 48 Views
Martin Hope
Youran
Asked: 2023-06-08 04:37:17 +0800 CST

如何使用 duplicate-cn 在 OpenVPN 服务器上为客户端设置静态 IP?

  • 5

要为具有不同证书的客户端设置静态 IP,我们可以按照jdmorei 的回答为客户端设置静态 IP 。但是,如果duplicate-cn在服务器端设置,那么许多客户端共享同一个证书,如何为特定客户端设置静态 IP?

openvpn
  • 1 个回答
  • 31 Views
Martin Hope
Rahul
Asked: 2022-04-11 10:32:01 +0800 CST

openvpn 中的错误

  • 0
 openvpnas.service - OpenVPN Access Server
     Loaded: loaded (/lib/systemd/system/openvpnas.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-04-10 09:28:12 UTC; 5h 2min ago
   Main PID: 14649 (python3)
      Tasks: 13 (limit: 1081)
     Memory: 199.1M
     CGroup: /system.slice/openvpnas.service
             ├─14649 python3 -c from pyovpn.sagent.sagent_entry import openvpnas ; openvpnas() --nodaemon --logfile=>
             ├─14667 /usr/bin/python3 -c from pyovpn.cserv.wserv_entry import start ; start() -no -u openvpn_as -g o>
             ├─14668 /usr/bin/python3 -c from pyovpn.log.logworker import start ; start()
             ├─14680 /usr/bin/python3 -c from pyovpn.sagent.iptworker import start6 ; start6()
             ├─14682 /usr/bin/python3 -c from pyovpn.sagent.iptworker import start ; start()
             ├─14686 openvpn-openssl --errors-to-stderr --config stdin
             ├─14689 openvpn-openssl --errors-to-stderr --config stdin
             ├─14696 openvpn-openssl --errors-to-stderr --config stdin
             ├─14698 openvpn-openssl --errors-to-stderr --config stdin
             ├─14704 openvpn-openssl --errors-to-stderr --config stdin
             ├─14713 openvpn-openssl --errors-to-stderr --config stdin
             └─14718 iptables-restore -n

为什么即使openvpn运行良好我也会收到这些错误

linux openvpn
  • 1 个回答
  • 166 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve