eth0
とwlan0
を使用してワイヤレスルーターとして動作するDebianシステムがあります。ここで、eth1
にifconfig
を使用して手動でネットワークを追加しました:
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サーバーガイド 。
コメント
回答
ip addr flush
は機能しますが、そのインターフェースに設定されているすべてのアドレスもクリアします。リモートマシンにログインしている場合は、使用しているアドレスも含まれる可能性があります。これにより、デバイスがロックアウトされる可能性があります。
RNETLINK answers: File exists
は、既存のルールと競合するルールをadd
しようとしたときに発生します。 OPはすでにifconfig
でアドレスを設定しているため、これが発生していると思います。このエラーは通常、add
コマンドを同様の構造のchange
またはreplace
コマンド。
代わりにip addr change
またはip addr replace
を使用する方がはるかに安全です。
コメント
- これは、
ifup
とifdown
だけを使用している人にはオプションではありません。 、コマンドはこれらのスクリプトに組み込まれているためです。 - @alerone using " sudo ip addr change "この出力をスローしてください。"十分な情報がありません:" dev "引数が必要です。 "私/私たちのアイデアを使用するにはもっと情報が必要です。それは素晴らしいことです。
回答
同様の問題が発生しました。10,000マネーのシーンをプレイするまでに、まさにこれでした。不足しているものを/ e / n / id / etho
に追加しましたが、インターフェイスのマニュアルページを調べたところ、すべての例には2行の実際のデータ(ipv4アドレス/ 24)しかないことに気付きました。 、およびルーターのアドレスを指定するゲートウェイ回線。そこで、eth0ファイルを削除して再起動し、完全に機能しました。
RTNETLINK answers: No such process Failed to bring up eth1
しかし、私のEth1は正しく割り当てられ、UP / UPになっています。RTNETLINK answers: No such process Failed to bring up eth1
RTNETLINK answers file
とは何ですか。また、フラッシュした後、ネットワークカードが新しいIPを自動的に取得しません。dhcpに新しいIPを要求する方法は?