ประโยชน์ของการใช้ที่อยู่ IP หลายแห่งบนเซิร์ฟเวอร์คืออะไร


17

ด้วยifconfigผมสามารถที่จะกำหนดค่าที่อยู่ IP หลายบนการ์ดอินเตอร์เฟซเครือข่ายเดียว เหตุใดฉันจึงต้องการทำเช่นนั้นและฉันจะใช้ที่อยู่หลายแห่งในภายหลังได้อย่างไรเช่นซอฟต์แวร์ทราบได้อย่างไรว่าควรใช้ที่อยู่ใด

ฉันใช้เครือข่ายอินเทอร์เฟซกับที่อยู่ IP เดียวเท่านั้น

คำตอบ:


31

เหตุผลบางประการ (แต่ไม่ใช่ทั้งหมด):

  • เพื่อโฮสต์เว็บไซต์ SSL หลายแห่งตามที่กล่าวไว้แล้ว
  • เนื่องจากคุณอาจรวมบริการจากโฮสต์หลายแห่งและคุณต้องเก็บรักษาที่อยู่
  • เพื่อใช้ที่อยู่ IP ที่สามารถโอนไปยังโฮสต์อื่นในภายหลัง
  • เพื่อชดเชยโฮสต์ที่หยุดทำงานในขณะนั้นโดยเพิ่มที่อยู่ IP ของมันไปยังอีกที่หนึ่ง
  • หากคุณมีหลายเครือข่าย IP ในเครือข่ายทางกายภาพ / โลจิคัล / vlan เดียวกันจะป้องกันการรับส่งข้อมูลผ่านเกตเวย์เร่งสิ่งต่าง ๆ และลดภาระ
  • ในการตั้งค่าอุปกรณ์ที่มีที่อยู่ IP เริ่มต้นคุณต้องเพิ่มที่อยู่ในเครือข่ายเดียวกัน
  • เพื่อใช้ที่อยู่ IP สาธารณะที่แตกต่างกันเพื่อหลีกเลี่ยงไฟร์วอลล์หรือเพื่อหลีกเลี่ยงการขึ้นบัญชีดำในตัวกรองสแปม
  • เพื่อที่จะทำให้สิ่งต่าง ๆ ชัดเจนน้อยลงกับคนภายนอก เช่นคุณอาจใช้ apache บนที่อยู่ IP 1.2.3.4 และอนุญาต SSH เพียง 1.2.3.5 เท่านั้น ด้วยวิธีนี้หากมีคนพยายามโจมตีที่อยู่ IP ที่อยู่เบื้องหลังไซต์พวกเขาจะไม่พบ SSH ที่ทำงานอยู่
  • เพื่อเรียกใช้บริการเดียวกันหลายครั้ง
  • เพื่อใช้ชื่อโฮสต์ที่แตกต่างกันในการค้นหา DNS ย้อนกลับ เช่นหากคุณกำลังเชื่อมต่อจากโฮสต์นี้กับสิ่งภายนอกและคุณต้องการให้แสดงเป็นชื่อโดเมน / ชื่อโฮสต์ที่แตกต่างกันสองรายการ
  • เพื่อไม่ให้เปิดเผยความเหมือนกันระหว่างบริการ เช่นหากคุณโฮสต์ไซต์ 1.example.com และ site2.example.org และคุณจับคู่กับ IP อื่นแทนการใช้ CNAME จะไม่มีลิงค์ชัดเจนระหว่างพวกเขา

1
เพื่อเพิ่มจำนวนการเชื่อมต่อไปยังอินเทอร์เฟซทางกายภาพเดียว ดู: stackoverflow.com/questions/410616/…
Homer6

4

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

 <VirtualHost 10.10.10.1:80>
   ...
 </VirtualHost>

นอกจากนี้คุณยังสามารถใช้ VirtualHost Listen บนอินเทอร์เฟซที่มีอยู่ทั้งหมดซึ่ง Apache กำลังฟังอยู่ในปัจจุบัน (ผ่านฟัง Directive เช่น Listen *:80

 <VirtualHost *:80>
   ...
 </VirtualHost>

ในกรณีที่คุณมีหลายไซต์ที่ทำงานบนเซิร์ฟเวอร์ที่เปิดใช้งาน SSL หลายไซต์คุณควรมี IP แยกต่างหากสำหรับแต่ละไซต์ นี่เป็นเพราะมีการแลกเปลี่ยนใบรับรอง SSL ก่อนที่จะส่งส่วนหัว HTTP หากคุณมีหลายโฮสต์บน IP เดียว Apache จะไม่ทราบว่าไซต์ใดที่คุณพยายามเข้าถึงโดยไม่มีส่วนหัวโฮสต์

ฉันแน่ใจว่ามีอีกหลายกรณีที่ใช้นี่เป็นกรณีทั่วไป


คุณลืมว่า SSL ไม่สำคัญอีกต่อไปและมีวิธีที่จะเอาชนะข้อ จำกัด ใน TLS;)
0xC0000022L

1

เป็นความคิดที่ดีที่จะมี IP แยกต่างหากสำหรับบริการแยกต่างหากจากนั้นเมื่อคุณจะต้องย้ายบริการหนึ่งไปยังฮาร์ดแวร์ / ตำแหน่งอื่นจะมีความโปร่งใสสำหรับส่วนประกอบอื่น ๆ

บริการบางอย่างใช้หมายเลขพอร์ตเดียวกันจากนั้นคุณต้องมี ips หลายตัวในการเรียกใช้บริการนี้บนเซิร์ฟเวอร์เดียว

นอกจากนี้หากคุณต้องการจัดการการเชื่อมต่อพร้อมกันมากกว่าที่คุณมีพอร์ตชั่วคราวคุณจะต้องมี IP มากขึ้น


หากฉันใช้งานเว็บเซิร์ฟเวอร์จะรู้ได้อย่างไรว่าใช้ที่อยู่ IP ใด ติดตั้งเพื่อใช้IP หลักเป็นค่าเริ่มต้นหรือไม่
Nickolai Leschov

3
มันสามารถกำหนดค่าได้ โดยค่าเริ่มต้นมันListenหรือBindsทุก IP บนโฮสต์
fazie

1

ที่อยู่ IP หลายรายการช่วยให้คุณมี Service IP หรือพูดอีกอย่างหนึ่งว่าคุณสามารถจับคู่ IP กับบริการเฉพาะเช่นใน sendmail ที่คุณทำ:

DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=192.168.1.25')dnl

และอื่น ๆ มันสามารถใช้สำหรับความพร้อมใช้งานสูงสำหรับการทดสอบและการกำหนดเส้นทางเครือข่าย ^^

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.