Tôi hơi mắc kẹt ở đây vào lúc này và sẽ đánh giá cao mọi nỗ lực đi đúng hướng để giải quyết vấn đề này.

Hai mục tiêu của tôi là có được một máy chủ OpenVPN chạy trên một máy ảo từ xa (Digital Ocean Droplet) và cũng chạy máy chủ postfix của tôi trên máy ảo đó. Kết nối OpenVPN đang định tuyến các truy vấn DNS của tôi đến một lỗ hổng cung cấp cho tôi tính năng chặn quảng cáo thích hợp khi tôi không ở nhà (nơi có lỗ hổng trên rpi thực đang chạy).

Thiết lập này hoạt động gần như hoàn toàn tốt nhưng có một ngoại lệ. Sau khi kết nối với OpenVPN, tôi không thể nhận hoặc gửi email nữa. Không có gì xuất hiện trong nhật ký thư của tôi (postfix và dovecot đang chạy và ghi nhật ký) cả. Cả postfix và dovecot đều không ghi lại bất kỳ nỗ lực kết nối nào từ máy tính đồng bộ của tôi (máy tính này sau đó được kết nối với VPN). Sau khi tôi ngắt kết nối với VPN, việc gửi và nhận thư đang hoạt động trở lại.

Tôi đã chạy và ghi nhật ký ufw nhưng không có gì xuất hiện trong nhật ký của nó.

Tôi cho rằng nó có liên quan gì đó đến postfix chạy trên localhost và sau khi kết nối với giao diện VPN, có một cầu nối mà tôi phải xây dựng bằng cách nào đó. Nhưng tôi phải thành thật với các bạn, tôi không biết phải bắt đầu từ đâu, vì tôi không thể tìm thấy bất cứ thứ gì trên mạng về nơi chính xác vấn đề này được thảo luận.

Bạn sẽ nói tôi nên bắt đầu tìm kiếm ở đâu? Cấu hình tường lửa, VPN, cấu hình máy chủ thư? Tôi hơi bị lạc lõng.

$ 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 ghi lại kết nối máy tính của tôi

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)
answer

Cấu hình VPN có thể rất phức tạp vì nó thay đổi đường dẫn mặc định thông thường của hệ thống của bạn thành đường dẫn của máy chủ VPN. Đến lượt nó, máy chủ có thể thực hiện một số loại định tuyến nguồn cho lưu lượng đến từ ứng dụng khách vpn, cũng như thay đổi địa chỉ IP gửi đi của bạn.

Tóm tắt:

  1. Máy chủ thư có thể nhạy cảm với sự thay đổi địa chỉ đó.

  2. Dịch vụ VPN có thể hướng lưu lượng truy cập của bạn đến giao diện công cộng hoặc giao diện vật lý, chặn bạn khỏi các dịch vụ nội bộ của VM một cách hiệu quả, bao gồm cả bộ postfix.

  3. Các tính năng chặn quảng cáo cũng có thể gây ra sự cố với các dịch vụ e-mail.

Tốt hơn bạn nên tìm kiếm các tùy chọn cấu hình liên quan của Pihole hoặc thử các dịch vụ VPN khác cho tốt, ví dụ như các dịch vụ VPN Linux riêng cho người mới bắt đầu.