Az ip addr használata az ifconfig helyett “ RTNETLINK válaszok: A fájl létezik ” a Debian

Van egy Debian rendszerem, amely vezeték nélküli útválasztóként működik, a eth0 és a wlan0. Most hozzáadtam egy további hálózatot manuálisan a eth1 helyre a ifconfig eszközzel:

 alix:~# ifconfig eth1 192.168.0.2 netmask 255.255.255.0 alix:~# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 alix:~# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data. 64 bytes from 192.168.0.254: icmp_req=1 ttl=64 time=0.537 ms 64 bytes from 192.168.0.254: icmp_req=2 ttl=64 time=0.199 ms 64 bytes from 192.168.0.254: icmp_req=3 ttl=64 time=0.188 ms ^C --- 192.168.0.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2005ms rtt min/avg/max/mdev = 0.188/0.308/0.537/0.161 ms 

Minden jól működik, amint láthatja.

Most szeretném véglegessé tenni a konfigurációt. Ezért a következő részt hozzáadtam a /etc/network/interfaces mappához:

 alix:~# sed -n "/iface eth1/,/^$/p" /etc/network/interfaces iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0 

De amikor megpróbálom elindítani a hálózatot, megkapom a következő hiba:

 alix:~# ifconfig eth1 down alix:~# ifup -v eth1 Configuring interface eth1=eth1 (inet) run-parts --verbose /etc/network/if-pre-up.d run-parts: executing /etc/network/if-pre-up.d/hostapd ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists Failed to bring up eth1. 

Amikor az ip parancsot futtatom, ugyanazt a hibát kapom:

 alix:~# ip addr add 192.168.0.2/255.255.255.0 broadcast 192.168.0.255 dev eth1 label eth1 RTNETLINK answers: File exists 

Mi a baj a paranccsal? És hogyan mondhatom el a Debiannak, hogy helyesen járjon el?

Válasz

Kaptam, hogy korábban le kellett öblítenem az eszközt felhozása:

# ip addr flush dev eth1 

Az interfész konfigurációs információinak manuális törlése , amelyet a Ubuntu szerver útmutató .

Megjegyzések

  • Még mindig kapok (kissé eltérő) hibát RTNETLINK answers: No such process Failed to bring up eth1 DE az Eth1-em mostantól helyesen van hozzárendelve ÉS FEL / FEL van.
  • igen, ugyanaz a probléma itt: RTNETLINK answers: No such process Failed to bring up eth1
  • Akkor is, ha válaszai megoldják a problémát. Nagyon jó lenne, ha meg tudnád mondani, mit is csinál valójában. Mi ez a létező RTNETLINK fájl?
  • @ceving: kérem, magyarázza el, mi az a RTNETLINK answers file? Ezenkívül az öblítés után a hálózati kártyám nem vesz automatikusan új ip-t, hogyan lehet új IP-t kérni a dhcp-től?
  • Az egyik figyelmeztetés az, hogy ezzel törli az összes hatókört, ami nem mindig az, amit szeretne. (Ezt nehezen találtam ki)

Válasz

A ip addr flush működni fog, de minden, az adott felületen beállított címet – köztük az Ön által használtat is – töröl, ha távoli gépre jelentkezik be. Ez kizárhatja készülékét.

RNETLINK answers: File exists akkor történik, amikor megpróbál add olyan szabályt létrehozni, amely ütközik egy meglévő szabállyal. Gondolom, hogy az OP azért találkozott ezzel, mert már beállították a címet az ifconfig paranccsal. Ezt a hibát általában úgy lehet megoldani, hogy a add parancsot hasonló szerkezetű change vagy replace parancs.

Sokkal biztonságosabb a ip addr change vagy a ip addr replace helyett használni.

Megjegyzések

  • Ez nem lehetséges, ha csak ifup és ifdown , mert a parancs keményen van bekötve ezekben a parancsfájlokban.
  • @alerone a " sudo ip addr change " használatával dobd el nekem ezt a kimenetet. " Nincs elég információ: " dev " argumentum szükséges. " I / Több információra van szükségünk az ötlet használatához. Jó lenne.

Válasz

Hasonló problémám volt, hogy mire eljátszottam a 10 000 pénz jelenetet, pontosan ez volt, és megpróbáltam egy dd a hiányzó dolgokat a / e / n / id / etho

De a man oldalt interfészekkel tanulmányozva megjegyeztem, hogy a példák MINDENJÉNEK csak 2 sornyi valós adata volt, az ipv4 cím / 24 , és egy átjáró vonal, amely megadja az útválasztóm címét. Tehát levetkőztem az eth0 fájlomat, újraindítottam, és tökéletesen működtem.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük