以下でいくつかのテストを行った。ifdown ens32
インターフェイスが閉じていないようです。それでもip link
表示されますUP
。ip link set ens32 down
インターフェイスが終了するだけです。それでは、ここで問題は何ですか? ifdownがインターフェイスを終了できないのはなぜですか?
root:[~]# cat /etc/*release*
Oracle Linux Server release 7.6
NAME="Oracle Linux Server"
VERSION="7.6"
ID="ol"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.6"
PRETTY_NAME="Oracle Linux Server 7.6"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:6:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.6
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.6
Red Hat Enterprise Linux Server release 7.6 (Maipo)
Oracle Linux Server release 7.6
cpe:/o:oracle:linux:7:6:server
root:[~]#
root:[~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:31:a8:12 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:33:cf:a3 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:33:cf:a3 brd ff:ff:ff:ff:ff:ff
root:[~]# ifdown ens32
Device 'ens32' successfully disconnected.
root:[~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:31:a8:12 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:33:cf:a3 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:33:cf:a3 brd ff:ff:ff:ff:ff:ff
root:[~]# ip link set ens32 down
root:[~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens32: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether 00:50:56:31:a8:12 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:33:cf:a3 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:33:cf:a3 brd ff:ff:ff:ff:ff:ff
root:[~]#
答え1
しかし、実際にはそうではありません。
ifup
ifdown
インターフェイスの開閉/etc/network/interfaces
に加えて、/etc/network
DHCP などのさまざまなエントリのフックを提供する多くのスクリプトも実行します。
一方、ip link ...
(新しいバリアント)とifconfig ... up/down
(既存のバリエーション)は、インターフェイスのオンとオフを切り替えるときに必要な追加の操作を実行せずにインターフェイスの状態を直接設定します。
したがってifdown
、機能しない場合は、システムがクラシック/etc/network/interfaces
システムを使用するように構成されていないか(たとえば、機能してsystemd
いるためすべてが異なる動作をする)、最初に実行されたスクリプトの一部にバグがあるか、何かがある可能性があります。もう一つ。
答え2
新しい秩序(仕事をする新しい方法)と古い秩序の間に違いはip
ありませんipconfig
。netstat
比較のためにここを参照してください:arp
route
https://p5r.uk/blog/2010/ifconfig-ip-comparison.html
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/
ただし、およびはifup
、ifdown
上記の各コマンド以上の機能を実行するネットワークスクリプトの一部です。あなたのネットワークは悪意のある人や他のネットワーク管理者によって管理されるかもしれません。努力する
rpm -qf `/sbin/ifdown`
ifdown
一部のネットワーク管理パックの一部であることを確認してください。これはディストリビューションによって異なります。
したがって、ネットワーク構成ツールがネットワークを管理する方法を変更する必要があるかもしれません。