เลือกอินเทอร์เฟซเครือข่ายเริ่มต้น


12

ฉันมีเซิร์ฟเวอร์ที่มี 2 อินเตอร์เฟส eth0 เร็วกว่า eth1 100 เท่า แม้ว่าจะด้วยเหตุผลบางอย่างการรีบูตทุกครั้งอินเทอร์เฟซเริ่มต้นจะถูกเลือกแบบสุ่ม เพื่อทำให้สิ่งต่าง ๆ น่ารำคาญยิ่งขึ้นพวกเขาทั้งคู่ใช้เกตเวย์เดียวกันดังนั้นการเลือกเกตเวย์เริ่มต้นจะไม่ทำงาน linux เลือกอินเทอร์เฟซเริ่มต้นได้อย่างไรและฉันจะเลือกอินเทอร์เฟซเริ่มต้นได้อย่างไร

นี่คือของฉันที่route -nจะช่วยอธิบายสถานการณ์เล็กน้อย

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth1
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth0
0.0.0.0         173.246.103.254 0.0.0.0         UG    0      0        0 eth1
0.0.0.0         173.246.103.254 0.0.0.0         UG    100    0        0 eth0

PS นี่คือ VPS ดังนั้นผู้ให้บริการของฉันอาจผิดปกติ เหตุผลที่อินเทอร์เฟซที่สองคือการมี IP อื่นสำหรับ dns เพราะมันทำ DNS เท่านั้นมันช้ามาก

แก้ไข: นี่คือเซิร์ฟเวอร์ Ubuntu 10.04


น่าสนใจเนื่องจาก ifconfig manpage ระบุสิ่งนี้ไว้ในส่วนเกี่ยวกับ "metric": พารามิเตอร์นี้ตั้งค่าตัวชี้วัดอินเตอร์เฟส ไม่สามารถใช้งานได้ภายใต้ GNU / Linux
wzzrd

1
ดีใจที่คุณคิดออก หากไม่มีใครตอบคำถามนี้และการแก้ไขของคุณเป็นวิธีแก้ปัญหาคุณควรเพิ่มคำตอบด้านล่างในส่วนคำตอบของตนเองแล้วยอมรับว่าเป็นคำตอบที่ถูกต้อง (หลังจากหมดเวลา) กรุณาอย่าใส่คำตอบในส่วนคำถาม
คาเลบ

@Caleb: ฉันยังคงหมดเวลาฉันโพสต์ anwser ของฉัน
user163365

คำตอบ:


15

ใช้ifmetricเพื่อเปลี่ยนค่าการวัดของทั้งสองอินเตอร์เฟส การเพิ่ม eth1 ด้านบน eth0 จะทำให้ eth0 ใช้สำหรับการเชื่อมต่อทั้งหมด แก้ปัญหาทั้งหมด


2
สิ่งนี้เปลี่ยนเกตเวย์เริ่มต้นทันทีหรือหลังจากรีบูตเครื่องหรือไม่
CMCDragonkai

2

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

sudo vi /etc/network/interfaces

เมื่อคุณเข้าถึงไฟล์เครือข่ายแล้วคุณอาจพบสิ่งต่อไปนี้:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 173.246.100.1
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

auto eth1
iface eth0 inet static
    address 173.246.100.2
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

กำหนดค่าใหม่เพื่อให้มีลักษณะดังนี้:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 173.246.100.1
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

iface eth0:1 inet static
    address 173.246.100.2
    network 173.246.100.0
    netmask 255.255.252.0

สิ่งนี้จะกำหนด IP ทั้งสองให้กับ NIC แรก เมื่อคุณทำสิ่งนี้แล้วให้บันทึกไฟล์และเรียกใช้:

/etc/init.d/networking restart

และการเปลี่ยนแปลงที่จะเกิดขึ้น

<- แก้ไข ->

จากประสบการณ์ของฉันถ้ามันอยู่บน Virtual Switch ตัวเดียวกันมันก็ไม่สำคัญแม้ว่าสภาพแวดล้อมที่โฮสต์อาจล็อคมันลงไปอีก มันอาจจะคุ้มค่าที่จะลองถ้ามันไม่ได้ผลคุณสามารถขอให้ บริษัท โฮสติ้งของคุณเปลี่ยนอินเทอร์เฟซเสมือนเป็นสิ่งที่มีความสามารถมากกว่า

<- แก้ไข ->

นอกจากนี้หาก IP หลักของคุณไม่ได้ให้บริการ DNS ดังนั้นทำไมไม่ใช้สำหรับ DNS ด้วย คุณสามารถโฮสต์บริการที่แตกต่างกันหลายแห่งบน IP เดียวเนื่องจากใช้พอร์ตต่างกัน


0

ดูเหมือนว่าคุณจะมีสองอินเตอร์เฟสในซับเน็ตเดียวกันซึ่งค่อนข้างแปลก ลินุกซ์ (สมมติว่าคุณกำลังใช้อนุพันธ์ Red Hat) /etc/sysconfig/networkหยิบเกตเวย์เริ่มต้นโดยการอ่านค่าจาก อย่างไรก็ตามตัวแปรนี้เก็บที่อยู่ IP เป็นตัวระบุเกตเวย์ไม่ใช่ชื่ออินเตอร์เฟส ดังนั้นในกรณีของคุณที่อยู่ IP เดียวสามารถเป็นเกตเวย์สำหรับทั้งสองอินเทอร์เฟซนำหน้า (ฉันคิดว่า) กับสภาพการแข่งขันบางประเภท

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


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

1
คุณสามารถกำหนดค่าที่อยู่สองแห่งได้อย่างง่ายดายบนอินเทอร์เฟซเดียวด้วยนามแฝง การรับส่งข้อมูลทั้งหมดผ่านอินเทอร์เฟซที่รวดเร็วการกำหนดค่า IP สองรายการการแก้ปัญหาไม่ใช่หรือไม่ และเมื่อพิจารณาว่า "linux เลือกอินเทอร์เฟซเริ่มต้นได้อย่างไรและฉันจะเลือกค่าเริ่มต้นได้อย่างไร" นี่เป็นปัญหาเกตเวย์ไม่ได้อย่างไร
wzzrd

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

2
คำขอที่เข้ามาอาจมาถึงอินเทอร์เฟซเดียว แต่สิ่งที่ส่งออกกำลังดำเนินการผ่านอินเทอร์เฟซแบบสุ่มอยู่แล้ว ลองทำตามคำแนะนำแล้วปล่อยอินเทอร์เฟซตัวใดตัวหนึ่งวาง IP อีกอันไว้ที่อีกตัวหนึ่งด้วยนามแฝงแล้วดูว่าใช้ได้หรือไม่ หากพวกเขาเป็นเสมือนจริงแล้วทำไมความแตกต่างของความเร็วและทำไมความพยายามแยก? บางสิ่งไม่เจล
EightBitTony
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.