Menambahkan dua gateway default di file antarmuka Debian

10

Ini adalah file antarmuka saya:

auto eth0
iface eth0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.1

auto eth1
iface eth1 inet static
   address 192.168.2.10
   netmask 255.255.255.0
   gateway 192.168.2.1

Jika saya me-restart jaringan daemon saya mendapatkan error ini: eth1 is not up. Saya ingin dua gateway default untuk mencapai apa yang disebutkan dalam jawaban yang diterima untuk pertanyaan di sini . Beginilah seharusnya tabel routing saya:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1

Saya mendapatkan tabel di atas dengan menggunakan ifconfigdan route add default gwperintah. Tapi saya ingin melakukannya dengan /etc/network/interfacesfile tersebut. Bagaimana saya bisa melakukannya?

Pembaruan1:

iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    up ip route del 192.168.1.0/24
    post-up ip route add 192.168.1.0/24 dev eth0 metric 1
    up route add default gw 192.168.1.1 metric 1
nixnotwin
sumber
1
Selama Anda tidak peduli bagaimana lalu lintas Anda padam. Pada Solaris dan versi Linux sebelumnya ini dilakukan dengan cara Round-Robin
Karlson
File antarmuka Anda terlihat benar. Biasanya, DHCP jauh lebih nyaman hari ini dan itulah yang saya gunakan dalam keadaan ini. Anda dapat memberikan alamat MAC tertentu alamat IP yang ditetapkan dalam pengaturan server DHCP.
casualunixer
Hanya catatan tambahan, NetworkManager baru-baru ini menambahkan dukungan yang lebih luas untuk metrik rute. Ini menangani mereka secara otomatis atau Anda dapat mengaturnya secara manual. Ini mungkin cara yang lebih nyaman atau Anda mungkin ingin mengajukan permintaan fitur untuk alat Anda.
Pavel Šimerda
Anda juga mungkin ingin menambahkan detail tentang mengapa Anda ingin memiliki dua rute default sama sekali. Saya hanya dapat menebak bahwa dua rute dengan metrik yang berbeda tidak akan berfungsi seperti yang Anda harapkan.
Pavel Šimerda
File antarmuka memungkinkan pengaturan metrik. Seharusnya tidak perlu menambahkan rute secara manual menggunakan dan post-up
Goswin von Brederlow

Jawaban:

10

Ini / etc / network / interface bekerja untuk saya di 2.6.32-40 Ubuntu 10.04 LTS:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.254
    post-up route add default gw 192.168.1.1 metric 1
    pre-down route del default gw 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.254
    post-up route add default gw 192.168.2.1 metric 2
    pre-down route del default gw 192.168.2.1

Saya mendapatkan dua rute default:

root@gamla:/etc/network# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    2      0        0 eth1

Perhatikan metriknya. Apakah saya mengerti pertanyaan Anda?

Eli Rosencruft
sumber
Jaringan dan gateway yang terkait eth0harus muncul terlebih dahulu karena itu adalah jaringan utama dan gateway. Apa output netstat -anratau hanya routeperintah dalam pengaturan Anda?
nixnotwin
Saya mengedit, menambahkan parameter metrik untuk mendapatkan urutan rute yang diinginkan. Sistem saya memiliki sejumlah antarmuka lain yang saya edit dari output, dan nama antarmuka saya bukan ethX, jadi saya tidak 100% yakin bahwa solusi saya akan bekerja untuk Anda. Cobalah dan beri tahu saya hasilnya.
Eli Rosencruft
Menambahkan metrik untuk gateway default berfungsi. Tetapi bagaimana saya bisa menambahkan metrik untuk rute? Tabel routing saya memiliki subnet kelas B yang seharusnya ada sebelum subnet kelas A saya yang lain. Menentukan metric 3dari ifmetricpaket debian tidak berhasil untuk saya.
nixnotwin
1
Kernel menyimpan metrik tetapi tidak menggunakannya untuk merutekan. Untuk menggunakan metrik, Anda perlu menjalankan daemon perutean seperti quagga (adalah zebra) atau bird.
Eli Rosencruft
1
@EliRosencruft dapatkah Anda mengutip referensi plz?
drAlberT