Score:0

การกำหนดค่าการเชื่อมต่อ Ethernet หลายรายการในเซิร์ฟเวอร์ linux

ฉันมีโทโพโลยีต่อไปนี้

                                                                                        .âââââââââââââââ        
   âââââââââââââââââ âââ _.â' `ââ.    
   â â ,â' 'â. 
   â เราเตอร์ ISP â IP แบบไดนามิก ; :
   â กับ NAT âââââââââââââââ âââââââââââââââââ âââââââââââââââââ âââââââââ: อินเทอร์เน็ต ;
   â â â² â± 
   âââââââââââ¬ââââââ âââ 'â. ,â'  
             â `ââ. _.â'     
             â 10.0.0.1 `âââââââ¬ââââââ'         
             â                
      .âââââââ´ââââ. .ââââââ´âââââ.          
   ,â' 'â. âââââââââââââââââ ââââââââââ ,â' 'â.       
 ,' `. â â ,' `.     
; LAN : Static DHCPââââ´ââââ ââââ´â´ââââ IP แบบคงที่ ; เน็ตสาธารณะ :    
: ;âââââââââââââ⤠eth1 â เซิร์ฟเวอร์ของฉัน â eth0 âââââââââââââ: ;    
 â² 10.0.0.0/24 â± 10.0.0.5 ââââ¬ââââ âââ⬠ââââ 1.2.3.5 â² 1.2.3.4/20 â±     
  `. ,' â เดเบียนบัสเตอร์ â mydomain.com ` ,'      
    'â. ,â' â â 'â. ,â'        
       `âââââââââ' âââââââ âââââââââââââââââ âââ `âââââââââ'

เนื่องจากเหตุผลทางประวัติศาสตร์ ISP ของฉันจึงใช้เครือข่ายแยกต่างหากเพื่อจัดหา IP แบบคงที่ ซึ่งหมายความว่าฉันต้องเชื่อมต่อเซิร์ฟเวอร์ของฉันโดยตรงกับการเชื่อมต่อพิเศษที่เปิดเผยโดยตรงกับอินเทอร์เน็ต (ในไดอะแกรมนี่คือ eth0 ด้วยไอพี 1.2.3.5).

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

สุดท้ายนี้ ฉันมีระเบียน DNS กับโดเมนของฉัน ในตัวอย่างนี้ มายโดเมน.คอมชี้ไปที่ 1.2.3.5.

ฉันพบปัญหาสองสามข้อ:

  • เมื่อฉันพยายามเข้าถึง มายโดเมน.คอม จาก LAN ของฉัน มันใช้งานไม่ได้ฉันเชื่อว่าเป็นเพราะเซิร์ฟเวอร์กำลังรับแพ็กเก็ตจากอินเทอร์เฟซ eth0 แต่ก็ตอบผ่านๆ eth1 และอุปกรณ์อีกเครื่องหนึ่งหยุดการตอบกลับเนื่องจากมาจาก IP อื่น
  • ในการบู๊ตเซิร์ฟเวอร์ควรเลือก 1.2.3.4 เป็นเครือข่ายเพื่อกำหนดทิศทางการรับส่งข้อมูลทางอินเทอร์เน็ตเพื่อให้การเข้าถึงภายนอกทำงานผ่าน มายโดเมน.คอม. อย่างไรก็ตามเนื่องจากทั้งสอง eth0 และ eth1 มีการเข้าถึงอินเทอร์เน็ตผ่านเกตเวย์ที่เกี่ยวข้อง บางครั้งก็บูทและเลือก 10.0.0.1 เป็นเกตเวย์เริ่มต้นแล้วเข้าถึง มายโดเมน.คอม ไม่ทำงาน ฉันเชื่อว่านี่เป็นปัญหาที่คล้ายคลึงกันกับการจราจรที่เข้ามา eth0 แต่ออกทาง eth1.

แม้ว่าฉันจะคุ้นเคยกับระบบเครือข่ายพื้นฐาน แต่ฉันไม่มีประสบการณ์ในการมีเซิร์ฟเวอร์เชื่อมต่อกับหลายเครือข่ายพร้อมกันเช่นนี้ ฉันต้องการกำหนดค่าเซิร์ฟเวอร์เพื่อให้:

  • การรับส่งข้อมูลทางอินเทอร์เน็ตทั้งหมดออกจาก eth0
  • การจราจรทั้งหมดจากการเข้ามา eth0 ได้รับการตอบกลับผ่าน eth0
  • การจราจรทั้งหมดจากการเข้ามา eth1 ได้รับการตอบกลับผ่าน eth1

เซิร์ฟเวอร์ของฉันใช้ Debian ฉันยินดีให้ความช่วยเหลือ

แก้ไข: ดังนั้นหลังจากปิดการใช้งานเกตเวย์ eth1 และเล่นด้วย tcpdump ฉันสามารถยืนยันได้ว่าทราฟฟิกเข้าจาก eth0 และออกจาก eth1 ปัญหาคือ ISP ไม่ได้ทำการรับส่งข้อมูลไปยังปลายทาง 1.2.3.5 จากนั้นเซิร์ฟเวอร์จะระบุ 10.0.0.X ที่อยู่ตามที่อยู่บนอินเทอร์เฟซ eth1.

in flag
นี่เป็นปัญหาการกำหนดเส้นทาง ไม่ใช่ปัญหาไฟร์วอลล์ Iptables ไม่ได้ทำอะไรให้คุณที่นี่
in flag
https://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html
Jose Javier Gonzalez Ortiz avatar
ฉันเข้าใจ คุณพูดถูก ฉันแก้ไขคำถามเพื่อสะท้อนให้เห็นว่า
in flag
อย่าใช้ DHCP บนเครือข่ายภายในของคุณ ใช้แบบคงที่ที่นั่นด้วย และอย่าเพิ่มเส้นทางเริ่มต้น เราเตอร์ ISP ควรมีการรับส่งข้อมูลทั้งหมดเป็น NAPT และเซิร์ฟเวอร์ eth0 ของคุณควรเห็น IP แบบไดนามิกนั้น ไม่ใช่ IP เครือข่ายภายในของคุณ อย่า "เชื่อ" ยืนยันด้วย `tcpdump` หรือเครื่องมือที่คล้ายกันซึ่งทราฟฟิกไปที่ใด
Score:1
ธง us

นี่เป็นปัญหาการกำหนดเส้นทางซึ่งสามารถแก้ไขได้ด้วยการกำหนดเส้นทางตามแหล่งที่มาหรือการกำหนดเส้นทางตามนโยบาย ซึ่งเกี่ยวข้องกับตารางเส้นทางสองตาราง หนึ่งตารางสำหรับที่อยู่ต้นทางแต่ละรายการ:

ดู http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html สำหรับรายละเอียดเพิ่มเติม

Jose Javier Gonzalez Ortiz avatar
ฉันลองสิ่งนี้ตามที่หนึ่งในความคิดเห็นแนะนำ อย่างไรก็ตาม มันไม่ได้ผลเนื่องจาก ISP ไม่ได้ NATing การรับส่งข้อมูลไปยัง `1.2.3.5` ดังนั้นแพ็กเก็ตจาก ips `10.0.0.X` จึงไปถึง `eth0` จากนั้นตารางเส้นทางจึงส่งกลับผ่าน `eth1`
Falstone avatar
us flag
ฉันสงสัยว่าการแก้ไขไฟล์โฮสต์ในแต่ละโฮสต์ในเครือข่าย 10.0.0.X เพื่อให้ส่งคำขอไปยัง mydomain.com เป็น 10.0.0.5 หรือไม่ หรือคุณสามารถตั้งค่า DNS ในเครื่องได้ดังนี้: https://tech.surveypoint.com/posts/installing-a-local-dns-server-behind-a-hardware-router/
Score:0
ธง in

ฉันเชื่อว่าเป็นเพราะเซิร์ฟเวอร์รับแพ็กเก็ตจากอินเทอร์เฟซ eth0 แต่ตอบกลับผ่าน eth1

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

ตรวจสอบบันทึกของคุณเพื่อยืนยันว่าไคลเอนต์กำลังส่งออกไปยัง 1.2.3.4 และเซิร์ฟเวอร์กำลังรับการเชื่อมต่อจากที่อยู่ NATed ip.ip.ip.ip

เมื่อบูตเซิร์ฟเวอร์ควรเลือก 1.2.3.4 เป็นเครือข่ายเพื่อกำหนดเส้นทางการรับส่งข้อมูลอินเทอร์เน็ตเพื่อให้การเข้าถึงภายนอกทำงานผ่าน mydomain.com อย่างไรก็ตาม เนื่องจากทั้ง eth0 และ eth1 มีการเข้าถึงอินเทอร์เน็ตผ่านเกตเวย์ที่เกี่ยวข้อง

อย่าทำอย่างนั้น. การมีเกตเวย์เริ่มต้นหลายรายการในการกำหนดค่าหลายบ้านไม่ค่อยได้ผลตามที่ผู้คนต้องการ ควรใช้เกตเวย์เริ่มต้นหลายตัวโดยคร่าว ๆ เมื่อทั้งสองเส้นทางให้การเข้าถึงเครือข่ายที่เหมือนกัน เช่น สำหรับเราเตอร์สำรอง/ความพร้อมใช้งานสูงในการตั้งค่าองค์กร เนื่องจากเราเตอร์ ISP ของคุณกับอินเทอร์เน็ตและการเชื่อมต่อโดยตรงกับเน็ตสาธารณะนั้นไม่เหมือนกัน คุณควรลบสิ่งนี้ออก eth0 ควรมีเส้นทางเริ่มต้น eth1 ควรมีเส้นทางไปที่ 10.x.x.x คุณยังสามารถทำสิ่งนี้กับ DHCP ได้ อย่างไรก็ตาม ฉันจะใช้วิธีนี้เป็นการจอง/ยกเว้นสำหรับ 10.0.0.5 และกำหนดค่า IP ของเซิร์ฟเวอร์ด้วยตนเอง

นอกเหนือจากเส้นทางเริ่มต้นภายนอก สิ่งที่คุณอธิบายคือการดำเนินการเริ่มต้นปกติ อย่าลืมมองหาปัญหาอื่นๆ ที่ไม่ได้อธิบายไว้ข้างต้น:

  • ไฟล์โฮสต์แตกต่างจาก DNS (คุณพยายามให้ลูกค้าเชื่อมต่อกับ 10.0.0.5 แทน 1.2.3.4 หรือไม่ ฉันชอบใช้ชื่อทางเทคนิคเป็นการภายใน เช่น webserver1.internalfqdn.com และชื่อที่จำง่ายภายนอก เช่น www.externalfqdn.com)
  • ตารางเส้นทางแบบแมนนวลไม่แสดงด้านบน (คุณพยายามทางลัด 10.0.0.x ถึง 1.2.3.4 ถึง 10.0.0.5 เป็นเราเตอร์หรือไม่ - ใช้งานได้ แต่ต้องมีการกำหนดค่าเพิ่มเติม)
  • โปรโตคอลการกำหนดเส้นทาง (เช่น RIP) (จริง ๆ แล้วเป็นรูปแบบด้านบน แต่ถ้าคุณเปิดใช้ RIP หรือการเผยแพร่เส้นทางอื่น ๆ คุณอาจกำลังเผยแพร่เส้นทางที่ไม่ถูกต้อง
Jose Javier Gonzalez Ortiz avatar
หลังจากปิดใช้งานเกตเวย์ `eth1` และเล่นกับ `tcpdump` เล็กน้อย ผมก็สามารถยืนยันได้ว่าทราฟฟิกเข้าจาก `eth0` และออกจาก `eth1` ปัญหาคือ ISP ไม่ได้ NATing ทราฟฟิกที่ไปยังจุดสิ้นสุด `1.2.3.5` จากนั้นเซิร์ฟเวอร์จะระบุที่อยู่ `10.0.0.X` ที่อยู่บนอินเทอร์เฟซ `eth1`
Doug avatar
in flag
หากไม่ได้ NATing แสดงว่าการกำหนดค่าทั้งหมดไม่ถูกต้อง ซับเน็ต 10.x.x.x/8 จะต้องไม่ปรากฏบนอินเทอร์เน็ตเนื่องจากเป็นพื้นที่แอดเดรสที่สงวนไว้ ฉันสงสัยว่ามีอย่างอื่นเกิดขึ้นเพราะฉันไม่เคยคาดหวังว่าแม้แต่ ISP ที่น่ากลัวจะทำสิ่งที่ไม่ดี
Score:0

ฉันลงเอยด้วยการแก้ปัญหาโดยใช้ a แยก DNS วิธีการปรับใช้เซิร์ฟเวอร์ DNS บนโฮสต์ของฉันและทำให้ LAN ทั้งหมดใช้เป็นเซิร์ฟเวอร์ DNS เริ่มต้น ที่นั่น ฉันได้เพิ่มกฎการเขียนซ้ำ DNS แบบกำหนดเองสำหรับ มายโดเมน.คอม เพื่อเปลี่ยนเส้นทางไปที่ 10.0.0.5 แทนที่อยู่สาธารณะด้วยวิธีนี้ โฮสต์ใน LAN จะแปลงโดเมนของฉันเป็น IP ภายใน และโฮสต์นอก LAN จะแปลงเป็น IP แบบสาธารณะ โดยที่ประโยชน์ของทราฟฟิกในเครื่องไม่จำเป็นต้องออกผ่านเครือข่าย ISP เหมือนแต่ก่อน

อีกทางเลือกหนึ่งที่ผมเชื่อว่าน่าจะแก้ปัญหานี้ได้คือ เส้นทางกิ๊บ. อย่างไรก็ตาม ดูเหมือนว่าเราเตอร์ที่ ISP ของฉันให้มาจะไม่รองรับ

โพสต์คำตอบ

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