连接到 OpenVPN 服务器(邮件服务器也在该服务器上运行)时无法发送或接收邮件

连接到 OpenVPN 服务器(邮件服务器也在该服务器上运行)时无法发送或接收邮件

我现在有点陷入困境,并将感谢一切朝着正确方向的努力来解决这个问题。

我有两个目标:在远程虚拟机 (Digital Ocean Droplet) 上运行 OpenVPN 服务器,并在该虚拟机上运行我的 postfix 服务器。OpenVPN 连接将我的 DNS 查询路由到 Pihole,当我不在家时,它可以为我提供适当的广告拦截功能(实际的 rpi 上运行着一个 pihole)。

这个设置几乎完美无缺,但有一个例外。一旦连接到 OpenVPN,我就无法再接收或发送电子邮件。我的邮件日志中什么都没有弹出(postfix 和 dovecot 正在运行并记录)。postfix 和 dovecot 都没有记录来自我的计算机(然后连接到 VPN)的任何连接尝试。一旦我断开与 VPN 的连接,发送和接收邮件就可以再次正常工作了。

我已经运行并记录了 ufw,但其日志中也没有任何内容弹出。

我猜想这与在 localhost 上运行的 postfix 有关,一旦连接到 VPN 接口,我就必须以某种方式建立一座桥梁。但我必须坦诚地告诉你们,我不知道从哪里开始,因为我在网上找不到任何讨论这个问题的内容。

您说我应该从哪里开始查找?防火墙、VPN 配置、邮件服务器配置?我有点迷茫了。

$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 8a:0c:da:93:21:88 brd ff:ff:ff:ff:ff:ff
    inet XXXXXXXXXXX/20 brd XXXXXXXXXXXX scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.19.0.5/16 brd 10.19.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 XXXXXXXXXXXXXXXXXXXXXX/64 scope global
       valid_lft forever preferred_lft forever
    inet6 XXXXXXXXXXXXXXXXXXXXXX/64 scope link
       valid_lft forever preferred_lft forever

[...]

21: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 XXXXXXXXXXXXXXXXXXXXXX/64 scope link stable-privacy
       valid_lft forever preferred_lft forever


$ cat /etc/openvpn/server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "route 192.168.10.0 255.255.255.0"
push "route 192.168.20.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.8.0.1"
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log         /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1

OpenVPN 记录我的计算机的连接

Sat Dec 25 09:10:51 2021 macbook/XXXXXXXXX:59001 MULTI: primary virtual IP for macbook/XXXXXXXXX:59001: 10.8.0.10
Sat Dec 25 09:10:51 2021 macbook/XXXXXXXXX:59001 SENT CONTROL [macbook]: 'PUSH_REPLY,route 192.168.10.0 255.255.255.0,route 192.168.20.0 255.255.255.0,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 10.8.0.1,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.10 10.8.0.9,peer-id 0,cipher AES-256-GCM' (status=1)

答案1

VPN 配置可能非常棘手,因为它会将系统的正常默认路由更改为 VPN 服务器的路由。反过来,服务器可能会对来自 VPN 客户端的传入流量进行某种源路由,并更改您的传出 IP 地址。

总之:

  1. 邮件服务器可能对该地址的改变很敏感。

  2. VPN 服务可能会将您的流量引导至其公共或物理接口,从而有效地阻止您使用 VM 的内部服务,包括 postfix 套件。

  3. 广告拦截功能也可能会导致电子邮件服务出现问题。

您最好寻找 Pihole 的相关配置选项,或者尝试其他 VPN 服务,例如首先尝试原生 Linux VPN 服务。

相关内容