ifconfigの代わりにipaddrを使用すると、“ RTNETLINKの回答が報告されます:Debian

iv class = “にファイルが存在します”質問 “>

eth0wlan0を使用してワイヤレスルーターとして動作するDebianシステムがあります。ここで、eth1ifconfigを使用して手動でネットワークを追加しました:

 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 

ご覧のとおり、すべて正常に動作します。

ここで、構成を永続的にしたいと思います。そのため、次のセクションを/etc/network/interfacesに追加しました。

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

しかし、ネットワークを起動しようとすると、次のエラー:

 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. 

ipコマンドを手動で実行すると、同じエラーが発生します:

 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 

コマンドの何が問題になっていますか?そして、どうすればDebianに正しいことをするように指示できますか?

回答

前にデバイスをフラッシュする必要があることがわかりました表示:

# ip addr flush dev eth1 

このように手動で設定されたインターフェース構成情報をクリアすると、に記載されている Ubuntuサーバーガイド

コメント

  • まだ(わずかに異なる)エラーが表示されますRTNETLINK answers: No such process Failed to bring up eth1しかし、私のEth1は正しく割り当てられ、UP / UPになっています。
  • ええ、同じ問題がここにあります:RTNETLINK answers: No such process Failed to bring up eth1
  • あなたの答えが問題を解決したとしても。それが実際に何をしているのかを教えていただければ幸いです。存在するこのRTNETLINKファイルは何ですか?
  • @ceving:RTNETLINK answers fileとは何ですか。また、フラッシュした後、ネットワークカードが新しいIPを自動的に取得しません。dhcpに新しいIPを要求する方法は?
  • 1つの注意点は、これによりすべてのスコープがクリアされることです。これは必ずしも必要なものではありません。 (難しい方法であることがわかりました)

回答

ip addr flushは機能しますが、そのインターフェースに設定されているすべてのアドレスもクリアします。リモートマシンにログインしている場合は、使用しているアドレスも含まれる可能性があります。これにより、デバイスがロックアウトされる可能性があります。

RNETLINK answers: File existsは、既存のルールと競合するルールをaddしようとしたときに発生します。 OPはすでにifconfigでアドレスを設定しているため、これが発生していると思います。このエラーは通常、addコマンドを同様の構造のchangeまたはreplaceコマンド。

代わりにip addr changeまたはip addr replaceを使用する方がはるかに安全です。

コメント

  • これは、ifupifdownだけを使用している人にはオプションではありません。 、コマンドはこれらのスクリプトに組み込まれているためです。
  • @alerone using " sudo ip addr change "この出力をスローしてください。"十分な情報がありません:" dev "引数が必要です。 "私/私たちのアイデアを使用するにはもっと情報が必要です。それは素晴らしいことです。

回答

同様の問題が発生しました。10,000マネーのシーンをプレイするまでに、まさにこれでした。不足しているものを/ e / n / id / etho

に追加しましたが、インターフェイスのマニュアルページを調べたところ、すべての例には2行の実際のデータ(ipv4アドレス/ 24)しかないことに気付きました。 、およびルーターのアドレスを指定するゲートウェイ回線。そこで、eth0ファイルを削除して再起動し、完全に機能しました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です