ฉันยังติดอยู่ที่นี่ในขณะนี้และจะขอบคุณทุกการผลักดันไปสู่ทิศทางที่ถูกต้องเพื่อแก้ไขปัญหานี้

เป้าหมายสองประการของฉันคือการทำให้เซิร์ฟเวอร์ OpenVPN ทำงานบน VM ระยะไกล (Digital Ocean Droplet) และเรียกใช้เซิร์ฟเวอร์ postfix ของฉันบน VM นั้นด้วย การเชื่อมต่อ OpenVPN กำลังกำหนดเส้นทางการสืบค้น DNS ของฉันไปยัง Pihole ซึ่งให้การบล็อกโฆษณาที่เหมาะสมแก่ฉันเมื่อฉันไม่อยู่ที่บ้าน (ซึ่งมี pihole บน rpi จริงที่ทำงานอยู่)

การตั้งค่านี้ทำงานได้เกือบสมบูรณ์แบบ แต่มีข้อยกเว้นประการหนึ่ง เมื่อเชื่อมต่อกับ OpenVPN แล้ว ฉันไม่สามารถรับหรือส่งอีเมลได้อีก ไม่มีอะไรปรากฏขึ้นในบันทึกจดหมายของฉัน (Postfix และ dovecot กำลังทำงานและเข้าสู่ระบบ) เลย ทั้ง postfix และ dovecot ไม่ได้บันทึกความพยายามในการเชื่อมต่อใดๆ จาก copmuter ของฉัน (ซึ่งจากนั้นก็เชื่อมต่อกับ VPN) เมื่อฉันตัดการเชื่อมต่อจากการส่งและรับอีเมล VPN ก็ใช้งานได้อีกครั้ง

ฉันใช้ ufw และบันทึก แต่ไม่มีสิ่งใดปรากฏขึ้นในบันทึก

ฉันคิดว่ามันเกี่ยวข้องกับ postfix ที่ทำงานบน localhost และเมื่อเชื่อมต่อกับอินเทอร์เฟซ 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)
answer

การกำหนดค่า VPN อาจทำได้ยาก เนื่องจากจะเปลี่ยนเส้นทางเริ่มต้นปกติของระบบไปเป็นเส้นทางของเซิร์ฟเวอร์ VPN ในทางกลับกัน เซิร์ฟเวอร์อาจทำการกำหนดเส้นทางต้นทางบางประเภทสำหรับการรับส่งข้อมูลขาเข้าจากไคลเอนต์ vpn เช่นเดียวกับการเปลี่ยนที่อยู่ IP ขาออกของคุณ

สรุป:

  1. เซิร์ฟเวอร์อีเมลอาจอ่อนไหวต่อการเปลี่ยนแปลงที่อยู่นั้น

  2. บริการ VPN อาจนำการรับส่งข้อมูลของคุณไปยังอินเทอร์เฟซสาธารณะหรือทางกายภาพ บล็อกคุณจากบริการภายในของ VM อย่างมีประสิทธิภาพ รวมถึงชุดโปรแกรมแก้ไขภายหลัง

  3. คุณลักษณะการบล็อกโฆษณาอาจทำให้เกิดปัญหากับบริการอีเมล

คุณควรมองหาตัวเลือกการกำหนดค่าที่เกี่ยวข้องของ Pihole หรือลองใช้บริการ VPN อื่นๆ ให้ดี เช่น บริการ Linux VPN สำหรับผู้เริ่มต้น