Linux'ta mevcut rota girişini değiştirme


11

Linux'ta mevcut bir rota girişinin metriğini değiştirme komutu nedir? Aşağıdaki gibi "ip yolu değişikliği" komutunu kullanarak mevcut bir girişin ağ geçidini değiştirebiliyor ancak metrikleri değiştiremiyorum. Bunun için başka bir komut var mı?

route –n
40.2.2.0        30.1.3.2        255.255.255.0   eth2

ip route change 40.2.2.0/24 via 30.1.2.2

route -n
40.2.2.0        30.1.2.2        255.255.255.0   eth1

İfconfig komutunu kullanarak IP adreslerini düzenleme komutlarına sahip bir web sitesi sayfası. Kafamın üstündeki tüm komutları bilmiyorum, ama umarım bu sayfa size yardımcı olacaktır. tecmint.com/ifconfig-command-examples
Nicholas Awesomepants

1
Rotayı silin ve o zamandan beri lkml.iu.edu/hypermail/linux/net/0504.3/0017.html
thrig

Yanıtlar:


7

Sorunun bir yorumunda belirtildiği gibi , linux-net posta listesindeki bir mesajın alıntılanması : "Metrik / öncelik değiştirilemez [...] Bu, mevcut protokolün bir sınırlamasıdır [...]."
Tek yol rotayı silmek ve yeni bir rota eklemektir.

Bu, aşağıdaki routekomut kullanılarak yapılır :

sudo route add -net default gw 10.10.0.1 netmask 0.0.0.0 dev wlan0 metric 1

Route komutu için Debian manpage


4
Soru, belirli bir metriğe nasıl rota ekleneceği değildi; OP mevcut bir rotadaki metriği değiştirmek istedi (rotayı silmeden ve yeniden eklemeden).
András Korn

4
Açıkçası eposta gösteren bağlantılar metrik kutu değiştirilemez olduğu, söz konusu yorum okumadım: The metric/priority cannot be changed [...] This is a limitation of the current protocol[...]. Tek yol rotayı silmek ve yeni bir rota eklemektir.
Ocak

7
Metriğin değiştirilemeyeceğini biliyorum. Cevabınız hala soruya cevap vermiyor - belki de yanıtta metriğin yalnızca rotayı silerek ve yeniden ekleyerek değiştirilebileceğini belirtiyor musunuz?
András Korn

17

(Çeşitli yorumları bir cevapta birleştirmek)

Şu anda, bir rotanın metriğini değiştirmek mümkün değildir. Bir As LKML devletler 2005 mesajın :

[...] Eşleşecek alanlar ve yeni değerler için ayrı alanlarımız olmadığından metrik / öncelik değiştirilemez, bu nedenle bir metrik belirtirseniz giriş bulunmaz ve istek ENOENT ile başarısız olur çünkü NLM_F_CREATE belirtilmedi. Bu mevcut protokol bir sınırlamadır ve bunu değiştirmek için iyi bir fikir olabilir, ancak önemsiz değil [...]

Bu hem uygulamak gibi görünüyor ip route changeve ip route replaceikincisi reklamı (onun erkek sayfa devletler gibi ek bir yol oluşturur iken, benim için bir hataya yol eski sonuçlarla - replaceyerini alacak veya bir rota oluşturmak). Bu, ENOENT ile yanıt veren ve ip route replacebir rota oluşturma talebini takip eden çekirdeğe uygundur .


Dolayısıyla çözüm, mevcut rotayı silmek ve yeni bir rota eklemektir. Örneğin

ip route del 40.2.2.0/24 via 30.1.2.2
ip route add 40.2.2.0/24 via 30.1.2.2 metric 1234

evet, son birkaç ay içinde bu sorundan ısırıldı ... Brian Cantrill Linux hakkında söylediği gibi: Bu NIH (burada icat edilmemiş) sendromu ile gelişen bir şey ...
Hvisage

@Dikkat gösterebilir misin? Metriği kaldırmadan değiştirmek için herhangi bir araç var mı?
Braiam

@Braiam Bu bir negatif, olduğu gibi: NO böyle bir araç mevcut değil. cevaba göre. Bryan Cantrill tırnaklarıma atıfta bulunursam, youtube.com/watch?v=wTVfAMRj-7E
Hvisage 24:19

2

ifmetric değiştirmek istediğiniz rotaların ara yüzüne bakıldığında, rota metriğinizi anında değiştirmenize olanak tanır.

kullanım

ifmetric <iface> [<metric>]

Örneğin, ifmetric tun0 12geçen tüm rotalar için metriği 12 olarak değiştirmek için kullanın tun0.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.