ethX実行後に「RTNETLINK回答:無効なパラメータ」が発生する

ethX実行後に「RTNETLINK回答:無効なパラメータ」が発生する

Debian 10 がインストールされているデバイスで以下を修正して IP を永久に変更したいと思います。/etc/ネットワーク/インターフェース。だから、次のように修正しました。

    auto lo
    iface lo inet loopback

    auto eth0
    #iface eth0 inet dhcp
    iface eth0 inet static
      address 192.168.109.11
      netmask 255.255.255.0
      gateway 192.168.109.254

その後、私は次のことを行います。

ifdown eth0 && ifup eth0

ただし、この時点では次のエラーが返されます。

root@var-som-mx6:~# ifdown eth0 && ifup eth0 --verbose
ifdown: interface eth0 not configured

ifup: configuring interface eth0=eth0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/hostapd
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/sbin/ip addr add 192.168.109.12/255.255.255.0 broadcast 192.168.109.255      dev eth0 label eth0
/sbin/ip link set dev eth0   up
 /sbin/ip route add default via 192.168.109.254  dev eth0 onlink 
RTNETLINK answers: Invalid argument
ifup: failed to bring up eth0

設定されている場合以下を教えてください。

root@var-som-mx6:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.109.11  netmask 255.255.255.0  broadcast 192.168.109.255
        inet6 fe80::fadc:7aff:fe3e:8dbb  prefixlen 64  scopeid 0x20<link>
        ether f8:dc:7a:3e:8d:bb  txqueuelen 1000  (Ethernet)
        RX packets 35999  bytes 8217478 (7.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5137  bytes 1559379 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 2837  bytes 258173 (252.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2837  bytes 258173 (252.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

私は何が間違っていましたか?

答え1

ダウンした場合そしてIFUPRTNETLINK(Linuxルーティングソケット)には、システムの再起動によってのみ消える偽のエラーがたくさんあるため、ネットワークインタフェースで動作する最良の方法ではないようです。これはおそらく理想的ではありません。

IMHO、これを処理する主な方法は次の通りです。設定されている場合コマンド(また考慮設定されている場合廃止と交換アイピー注文する):

root@var-som-mx6:~# ifconfig eth0 down
** now, update /etc/network/interfaces.. **
root@var-som-mx6:~# ifconfig eth0 up 192.168.109.11 netmask 255.255.255.0
root@var-som-mx6:~# route add default gw 192.168.109.254

更新する必要があることに注意してください/etc/ネットワーク/インターフェース 後ろにこれifconfig eth0を閉じる

ところで、使用すべき理由があればダウンした場合そしてIFUP、次のようにこの問題を解決できます。

root@var-som-mx6:~# ifdown --force eth0
** now, update /etc/network/interfaces.. **
root@var-som-mx6:~# ifup --force eth0
root@var-som-mx6:~# route add default gw 192.168.109.254

ここで、--forceはインターフェイスの設定または設定解除を強制します(源泉)、特に:

プログラムは、ネットワークインタフェースが開いているか閉じているかを記録します。特別なケースでは、これらの履歴がインターフェイスの実際の状態と一致しない可能性があります。たとえば、ifupを使用してインポートされたインターフェイスは、その後ifconfigを使用して設定解除されたインターフェイスは引き続き機能していると記録されます。この問題を解決するには、--forceオプションを使用して、ifupまたはifdownがインターフェイスの現在の状態に関係なく、設定または設定解除コマンドを実行するように強制できます。

すべてを1つのコマンドラインに含める場合は、正しいコード行は次のようになります。

root@var-som-mx6:~# ifdown eth0 --force && ip addr flush dev eth0 && route add default gw 192.168.109.254 && ifup eth0 --force

どこIP アドレスの更新 dev eth0大きい。

このソリューションは「RTNETLINK回答:ファイルが存在します「間違い。

関連情報