Pilih antarmuka jaringan default

12

Saya memiliki server dengan 2 antarmuka. eth0 adalah 100 kali lebih cepat dari eth1. Meskipun karena beberapa alasan, setiap reboot, antarmuka default dipilih secara acak. Agar lebih menyebalkan, keduanya menggunakan gateway yang sama, sehingga memilih gateway default tidak akan berfungsi. Bagaimana linux memilih antarmuka default, dan bagaimana cara memilih yang default?

Inilah saya route -nuntuk membantu menjelaskan situasinya sedikit.

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. Ini adalah VPS, jadi penyedia saya mungkin juga salah di suatu tempat. Alasan untuk antarmuka kedua adalah memiliki IP lain untuk dns, karena hanya DNS, sangat lambat.

EDIT: Ini adalah server Ubuntu 10.04

pengguna163365
sumber
Menarik, karena manual ifconfig menyatakan ini di bagian tentang "metrik": Parameter ini menetapkan metrik antarmuka. Ini tidak tersedia di bawah GNU / Linux.
wzzrd
1
Senang Anda menemukan ini. Jika tidak ada orang lain yang menjawab ini dan hasil edit Anda mewakili solusinya, Anda harus menambahkannya di bawah di bagian jawaban sendiri lalu menerimanya sebagai jawaban yang benar (setelah batas waktu). Tolong jangan menaruh jawaban di bagian pertanyaan.
Caleb
@ Caleb: Saya masih di batas waktu, saya sudah diposting anwser saya
user163365

Jawaban:

15

Gunakan ifmetricuntuk mengubah nilai metrik kedua antarmuka. Peningkatan eth1 di atas eth0 akan menyebabkan eth0 digunakan untuk semua koneksi. Selesaikan masalahnya sepenuhnya.

pengguna163365
sumber
2
Apakah ini mengubah gateway default segera atau setelah reboot?
CMCDragonkai
2

Anda harus menonaktifkan antarmuka lambat kedua dan kemudian menambahkan IP sekunder ke primer. Untuk melakukan ini, edit file antarmuka Anda dengan:

sudo vi /etc/network/interfaces

Setelah Anda mengakses file jaringan Anda mungkin akan disajikan sesuatu seperti berikut:

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

Konfigurasikan ulang agar terlihat seperti ini:

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

Ini akan menetapkan kedua IP ke NIC pertama. Setelah selesai, simpan file dan jalankan:

/etc/init.d/networking restart

Dan perubahan akan dilakukan.

<- EDIT ->

Dalam pengalaman saya jika pada Virtual Switch yang sama itu seharusnya tidak masalah, meskipun lingkungan yang dihosting dapat menguncinya lebih lanjut. Mungkin patut dicoba, jika tidak berhasil, Anda dapat meminta perusahaan hosting Anda untuk mengubah antarmuka virtual menjadi sesuatu yang lebih cakap.

<- EDIT ->

Juga, jika IP primer Anda saat ini tidak melayani DNS maka mengapa tidak menggunakannya untuk DNS juga? Anda dapat meng-host beberapa layanan berbeda pada satu IP karena mereka menggunakan port yang berbeda.

Alex Berry
sumber
0

Anda tampaknya memiliki dua antarmuka di subnet yang sama, yang agak aneh. Linux (dengan asumsi Anda menggunakan turunan Red Hat) memilih gateway default dengan membaca nilai GATEWAY dari /etc/sysconfig/network. Variabel ini, bagaimanapun, memegang alamat IP sebagai pengidentifikasi gateway, bukan nama antarmuka. Jadi, dalam kasus Anda, satu alamat IP dapat menjadi gateway untuk kedua antarmuka, yang mengarah (saya pikir) ke beberapa kondisi ras.

Saya masih tidak yakin mengapa Anda membutuhkan antarmuka kedua. Apa yang akan terjadi jika Anda menurunkan antarmuka lambat sepenuhnya?

wzzrd
sumber
pertama, saya menggunakan ubuntu, tetapi melihat ini bukan masalah gateway, itu tidak masalah. Kedua, jika saya menurunkan antarmuka kedua, lalu lintas menggunakan antarmuka pertama, tetapi saya kehilangan IP kedua, yang merupakan alasan mengapa saya memiliki antarmuka kedua di tempat pertama.
user163365
1
Anda dapat dengan mudah mengkonfigurasi dua alamat pada satu antarmuka dengan alias. Semua lalu lintas melalui antarmuka cepat, dua IP dikonfigurasi, masalah terpecahkan, bukan? Dan mempertimbangkan "Bagaimana linux memilih antarmuka default, dan bagaimana cara memilih yang default?", Bagaimana ini bukan masalah gateway?
wzzrd
1
Tidak akan berfungsi, karena ini adalah antarmuka virtual, mungkin dikonfigurasi untuk merutekan hanya data yang masuk pada ip yang ditentukan. Juga, masalah ini adalah tentang antarmuka, bukan gateway, karena gateway sama di kedua antarmuka.
user163365
2
Permintaan yang masuk mungkin tiba pada satu antarmuka, tetapi hal-hal yang keluar sudah melalui antarmuka acak. Coba saran, letakkan salah satu antarmuka, letakkan IP lainnya di yang lain dengan alias dan lihat apakah itu berfungsi. Jika mereka, seperti yang Anda katakan, virtual, lalu mengapa perbedaan dalam kecepatan dan mengapa upaya pemisahan? Sesuatu tidak gel.
EightBitTony