Score:0

ไม่สามารถส่งหรือรับอีเมลเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ OpenVPN (ซึ่งเซิร์ฟเวอร์อีเมลกำลังทำงานอยู่ด้วย)

ธง in

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

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

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

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

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

คุณจะบอกว่าฉันควรเริ่มมองหาที่ไหน ไฟร์วอลล์, การกำหนดค่า VPN, การกำหนดค่าเมลเซิร์ฟเวอร์? ฉันหลงทางนิดหน่อย

ที่อยู่ IP $
1: จริง: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN กลุ่มเริ่มต้น qlen 1,000
    ลิงค์ / ย้อนกลับ 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 ขอบเขตโฮสต์ lo
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 :: โฮสต์ขอบเขต 1/128
       valid_lft ตลอดไป reserved_lft ตลอดไป
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel สถานะกลุ่ม UP เริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ 8a:0c:da:93:21:88 brd ff:ff:ff:ff:ff:ff
    inet XXXXXXXXXXXX/20 brd XXXXXXXXXXXX ขอบเขตสากล eth0
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet 10.19.0.5/16 brd 10.19.255.255 ขอบเขต global eth0
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 XXXXXXXXXXXXXXXXXXXXXXXX/64 ขอบเขตทั่วโลก
       valid_lft ตลอดไป reserved_lft ตลอดไป
    ลิงก์ขอบเขต inet6 XXXXXXXXXXXXXXXXXXXXXXXX/64
       valid_lft ตลอดไป reserved_lft ตลอดไป

[...]

21: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN กลุ่มเริ่มต้น qlen 100
    ลิงค์/ไม่มี
    inet 10.8.0.1 เพียร์ 10.8.0.2/32 ขอบเขตทั่วโลก tun0
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet6 XXXXXXXXXXXXXXXXXXXXXXXX/64 ลิงก์ขอบเขตที่เสถียร - ความเป็นส่วนตัว
       valid_lft ตลอดไป reserved_lft ตลอดไป


$cat /etc/openvpn/server.conf
พอร์ต 1194
โปรโตคอล udp
ทุนพัฒนา
แคลิฟอร์เนีย ca.crt
ใบรับรอง server.crt
คีย์เซิร์ฟเวอร์.คีย์
dh dh.pem
เซิร์ฟเวอร์ 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
กด "เส้นทาง 192.168.10.0 255.255.255.0"
กด "เส้นทาง 192.168.20.0 255.255.255.0"
กด "เปลี่ยนเส้นทางเกตเวย์ def1 บายพาส-dhcp"
กด "dhcp-option DNS 10.8.0.1"
รักษาชีวิต 10 120
tls-auth ta.key 0
รหัส AES-256-CBC
รับรองความถูกต้อง SHA256
ผู้ใช้ไม่มีใคร
กลุ่มโนกรุ๊ป
คีย์คงอยู่
คงอยู่-tun
สถานะ /var/log/openvpn/openvpn-status.log
บันทึก /var/log/openvpn/openvpn.log
กริยา 3
แจ้งออกอย่างชัดเจน 1

OpenVPN บันทึกการเชื่อมต่อคอมพิวเตอร์ของฉัน

วันเสาร์ที่ 25 ธันวาคม 09:10:51 2021 macbook/XXXXXXXXX:59001 MULTI: IP เสมือนหลักสำหรับ macbook/XXXXXXXXX:59001: 10.8.0.10
ส. 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-dhcpption, DNS 10.8.0.1,เส้นทาง 10.8.0.1,โทโพโลยี net30,ping 10,ping-restart 120,ifconfig 10.8.0.10 10.8.0.9,peer-id 0,cipher AES-256-GCM' (สถานะ=1)
in flag
ฉันจะเริ่มต้นด้วยการตรวจสอบให้แน่ใจว่าได้รับแพ็กเก็ตและส่งกลับไปยัง IP ที่ถูกต้อง `tcpdump -nni พอร์ตใด ๆ 25` สามารถช่วยได้
in flag
การตั้งค่าเซิร์ฟเวอร์อีเมลทำงานได้ดี การใช้ tcpdump จะบันทึกเมลขาเข้า ปัญหาคือเมื่อไคลเอ็นต์ของฉันเชื่อมต่อกับเซิร์ฟเวอร์ openvpn (ซึ่งอยู่บนเซิร์ฟเวอร์เดียวกัน) ก็จะไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์อีเมลได้ ลูกค้าของฉันกำลังพยายามเชื่อมต่อ แต่ในที่สุดก็หมดเวลา เมื่อฉันยกเลิกการเชื่อมต่อไคลเอนต์ของฉันจากเซิร์ฟเวอร์ openvpn ลูกค้าจะได้รับและส่งเมลอีกครั้ง ที่ฝั่งเซิร์ฟเวอร์ไม่มีอะไรปรากฏขึ้นใน mail.log
in flag
ฉันหมายถึงการตรวจสอบ tcpdump ในขณะที่คุณพยายามเชื่อมต่อ...
in flag
ตรวจสอบ `เส้นทาง ip' ทั้งบนเซิร์ฟเวอร์และไคลเอ็นต์ ลองทำความเข้าใจว่าแพ็กเก็ตจะใช้เส้นทางใด ในขณะเดียวกันก็พิจารณาเส้นทางภายนอกของบริการ VPN
in flag
น่าจะเป็นปัญหาเรื่องเส้นทาง แต่ฉันคิดว่าฉันจำเป็นต้องเรียนรู้เกี่ยวกับการกำหนดเส้นทางเครือข่ายก่อน เพราะตอนนี้ฉันยังไม่มีความคิดที่ดีว่าจะเริ่มต้นจากตรงไหน สิ่งหนึ่งขึ้นมาและเกี่ยวข้องกันได้เมื่อไคลเอนต์ของฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์เมลของฉันโดยใช้ telnet และในขณะที่เชื่อมต่อกับเซิร์ฟเวอร์ OpenVPN นั้นไม่ได้แก้ไข DNS ของเซิร์ฟเวอร์เมลอย่างถูกต้อง มันทำงานผ่าน 127.0.1.1 และติดขัดในการทำเช่นนี้ เมื่อตัดการเชื่อมต่อจากเซิร์ฟเวอร์ OpenVPN แล้ว จะแก้ไขรายการ DNS อย่างถูกต้องและเชื่อมต่อกับเซิร์ฟเวอร์อีเมล นี่คือสิ่งที่เราสามารถทำงานด้วยได้หรือไม่
in flag
`# เชื่อมต่อกับเซิร์ฟเวอร์ openvpn telnet mail.MAILSERVER.de 25 ลอง 127.0.1.1... # ไม่ได้เชื่อมต่อกับเซิร์ฟเวอร์ openvpn '
in flag
`telnet mail.MAILSERVER.de 25 พยายาม XX.XXX.XXX.XXX... เชื่อมต่อกับ mail.MAILSERVER.de อักขระ Escape คือ '^]' 220 mail.MAILSERVER.de ESMTP Postfix`
in flag
ดังนั้นเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ OpenVPN ไคลเอ็นต์จะพยายามแก้ไขรายการ DNS ของเซิร์ฟเวอร์เมลของฉัน และด้วยเหตุผลที่ฉันไม่เข้าใจทั้งหมด จึงพยายามเชื่อมต่อกับ 127.0.1.1 หากฉันพยายามเชื่อมต่อโดยตรงกับ IP ของเมลเซิร์ฟเวอร์ของฉัน telnet สามารถเชื่อมต่อได้อย่างถูกต้อง $telnet XX.XXX.XXX.XXX 25 พยายาม XX.XXX.XXX.XXX... เชื่อมต่อกับ NAMEOFLOCALHOST อักขระ Escape คือ '^]' 220 mail.MAILSERVER.de ESMTP Postfix
in flag
ดังนั้นฉันจะทำให้ OpenVPN ไม่สามารถแก้ไขรายการ DNS เป็น IP ในเครื่องของฉัน แต่เป็น IP สาธารณะได้อย่างไร ฉันถือว่าสิ่งนี้จะแก้ปัญหานี้ได้
Score:0
ธง aq
MTG

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

สรุป:

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

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

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

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

in flag
VPN สามารถกำหนดค่าให้เป็นเส้นทางเริ่มต้นได้ แต่เป็นการกำหนดค่า ไม่ใช่ค่าเริ่มต้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา