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
    • 最新
    • 标签
主页 / user-818514

user3450564's questions

Martin Hope
user3450564
Asked: 2024-03-03 07:14:14 +0800 CST

通过 VPN 本身将 Web 流量传递到 OpenVPN 信封之外的 VPN 端点

  • 6

我有一个 Linux 服务器,它是一个 OpenVPN 端点,但也托管一个网络服务器。当我的客户端连接到网络服务器的服务器地址时,数据包会在 VPN 之外传输。确实如此,因为 OpenVPN 设置的到服务器的路由比进入 VPN 的默认路由更具体。但我认为这是一个“泄漏”。

因此,我尝试设置与 Wireguard 类似的设置(Wireguard 很棒,但我需要 OpenVPN,因为它需要是 TCP)。

我的设置基于 Wireguard 页面以及其他问题: Prevent Routing Loop with FwMark in Wireguard (向那里举行的讲座致敬!) Routing fwmark to VPN gateway using nftables mark

尽管进行了设置,Wireshark 显示 http/https 请求仍然通过物理接口而不是通过 vpn tun0 接口。当我使用 nft 监视器跟踪查看数据包标记时,似乎元标记已正确设置,并且仅出现适当的数据包(发往/来自端口 1194)。

所以我怀疑这是:

  • PBR 规则未按预期工作。
  • 数据包标记没有尽早发生。

我尝试更改链以将传出数据包标记为:

  • 输入路由钩子输出
  • 类型过滤钩输出
  • --> 没有更多的运气

这些命令返回以下内容:

- ip rule:
0:  from all lookup local
32764:  from all lookup main suppress_prefixlength 0
32765:  not from all fwmark 0x4 lookup vpn
32766:  from all lookup main
32767:  from all lookup default

- ip route show table vpn:
default dev tun0 scope link

- ip route:
default via 10.8.0.1 dev tun0 proto static metric 50 
default via 192.168.1.1 dev wlp4s0 proto dhcp src 192.168.1.10 metric 600 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2 metric 50 
END.POINT.IP.ADDRESS via 192.168.1.1 dev wlp4s0 proto static metric 50 
192.168.1.0/24 dev wlp4s0 proto kernel scope link src 192.168.1.10 metric 600 

-nft list ruleset:
table inet vpn {
    chain premangle {
        type filter hook prerouting priority mangle; policy accept;
        ip saddr END.POINT.IP.ADDRESS tcp sport 1194 meta nftrace set 1
        meta mark set ct mark
    }

    chain postmangle {
        type filter hook postrouting priority mangle; policy accept;
        ip daddr END.POINT.IP.ADDRESS tcp dport 1194 meta nftrace set 1
        ip daddr END.POINT.IP.ADDRESS tcp dport 1194 meta mark set 0x00000004
        meta mark 0x00000004 ct mark set meta mark
    }
}

- traceroute -n --fwmark=0x4 END.POINT.IP.ADDRESS
    shows it goes via the physical interface out of the vpn (as expected)
    
- traceroute -n END.POINT.IP.ADDRESS
    shows it goes via the physical interface out of the vpn (UNWANTED)

非常感谢您提前!

linux
  • 2 个回答
  • 87 Views
Martin Hope
user3450564
Asked: 2021-09-22 04:04:41 +0800 CST

Dovecot 筛子连接 heqders

  • 0

设置

  • always_bccpostfix 通过,将所有邮件转发给 archive@domain 用户

  • 后缀将所有 RCPT TO 保存在X-Envelope-To标头中以保留密件抄送收件人,

  • X-Envelope-To出于隐私原因,用于 smtp 传输的postfix 删除,

  • postfix 通过lmtp.

  • dovecot 使用一个筛子脚本来刷新X-Envelope-To除archive@domain 之外的所有用户。

问题

最初X-Envelope-To每个都有一个。RCPT TO所以我希望筛子脚本添加一个连接多个值的Bcc标题。X-Envelope-To

require "fileinto";
require "imap4flags";
require ["editheader", "envelope"];
require "regex";
require ["variables","mime","foreverypart"];


if envelope :is "to" "archive@domain" {
   concat = """"";
   foreverypart {
        if header :regex "X-Envelope-To" "(.*)" {
        concat = ${concat}  "${1}";
        }
   }
   addheader "Bcc" "${1}";

} else {
   deleteheader "X-Envelope-To";
}

哪个不起作用...

有什么简单的方法可以在筛子中做到这一点?或者除了外部脚本之外别无他法?或者也许后缀可以连接所有这些,但这意味着 milter ?

提前致谢

dovecot sieve headers
  • 1 个回答
  • 58 Views
Martin Hope
user3450564
Asked: 2021-09-19 22:48:50 +0800 CST

使用 X-Envelope-To 保留 Bcc 的 Postfix 存档 - 使用 Lmtp 清理机密 X-Envelope-To

  • 1

密送[email protected] 用户,我们不希望人们收到该密送列表,除了[email protected]“用户”。

目标

  1. 我们希望归档所有通过 postfix 发送和接收的邮件。该设置使用:
  • 后缀,
  • 使用 Pam(从 Ldap 提取)用户进行 dovecot 身份验证,
  • 并通过Dovecot 的 LMTP发送到邮箱。
  1. 我们希望在邮件存档中包含密件抄送收件人。

  2. 除了[email protected]“用户”之外,我们不希望人们收到该密件抄送列表。

审判

  1. 使用 always_bcc = [email protected] 有效。但是密件抄送收件人(根据权利在信封中作为 RCPT TO 而不是在标题中)会丢失。

  2. 使用:(根据有哪些选项可以存档 Postfix 电子邮件并在标题中保留任何密件抄送信息)

main.cf
smtpd_recipient_restrictions =
  check_recipient_access pcre:/etc/postfix/prepend.pcre

而 pcre 表达式是:

prepend.pcre
/(.+)/          PREPEND X-Envelope-To: $1

这就像一个魅力:我存储的消息有标题 To:; 抄送; X 信封至。如果我们需要深入研究它,即使在密件抄送中,我们也可以知道谁收到了该消息。(注意:X-Envelope-To 包括收件人和抄送人员,以及外部域收件人)。

  1. 消除 X-Envelope-To: 发送:
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks.pcre

与内容:

smtp_header_checks.pcre
/^X-Envelope-To:/               IGNORE

一切都好,直到那里。

问题

消除未离开服务器的电子邮件的 X-Envelope-To。我做了:

lmtp_header_checks = pcre:/etc/postfix/lmtp_header_checks.pcre

lmtp_header_checks.pcre
/^X-Envelope-To:/               IGNORE

但这不是选择性的,甚至 [email protected] 也会丢失“保存”密件抄送列表的标题。

我找不到该标题检查选择性的方法,因为它只评估行本身并且不能使用收件人来制定条件(即使使用 pcre 的“if”)。 ( http://www.postfix.org/pcre_table.5.html )

有没有可以使用的变量?一个想法是:在附加的 X-Envelope-To 标头中包含“[email protected]”,在 lmtp_header_checks.pcre 中包含以下内容:[email protected] 不等于 $LMTP_DELIVERY_RECIPIENT Delivered-To 或 X-Delivered - 保留一个单独的标题,pcre 无法将其评估为变量。

否则有没有办法让 lmtp 触发一些 milter ?我可以使用一个简单的 lmtp_milter 过滤器吗?

在所有可能的文档中追逐了几天,在此先感谢

postfix archive
  • 2 个回答
  • 183 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