iproute2コマンドでIPv4アドレスを有効にする

iproute2コマンドでIPv4アドレスを有効にする

どのように持っているかを研究しています。IP ルート 2ifconfigコマンドは以前のコマンドを置き換えifup ifdownて興味深いものを見つけました。

私のネットワークカードの設定は次のとおりです。

[16:07:41 root@vm network-scripts ]# cat /etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2
ONBOOT=no
BOOTPROTO=dhcp

インターフェイスを開閉する既存の方法は次のとおりです。 ifup eth2 ifdown eth2

[16:25:10 root@vm network-scripts ]# ip a show eth2
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 08:00:27:b8:13:b4 brd ff:ff:ff:ff:ff:ff

[16:25:14 root@vm network-scripts ]# ifup eth2

Determining IP information for eth2... done.

[16:25:22 root@vm network-scripts ]# ip a show eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:b8:13:b4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth2
    inet6 fe80::a00:27ff:feb8:13b4/64 scope link
       valid_lft forever preferred_lft forever

[16:25:26 root@vm-cention network-scripts ]# ifdown eth2

[16:27:51 root@vm-cention network-scripts ]# ip a show eth2
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 08:00:27:b8:13:b4 brd ff:ff:ff:ff:ff:ff

使用IP ルート 2この目的のために、私たちは通常コマンドを使用しますip link set eth2 upが、明らかにiproute2ネットワークカードのリンク層のみをインポートでき、IPアドレスはインポートできません。

[16:36:25 root@vm network-scripts ]# ip link set eth2 up

[16:37:16 root@vm network-scripts ]# ip a show eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:b8:13:b4 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a00:27ff:feb8:13b4/64 scope link
       valid_lft forever preferred_lft forever

[16:37:20 root@vm network-scripts ]# ping yahoo.com
ping: unknown host yahoo.com

しかし、伝統的な方法はifup次のようにすることができます。

[16:37:39 root@vm network-scripts ]# ifup eth2

Determining IP information for eth2... done.

[16:39:59 root@vm network-scripts ]# ip a show eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:b8:13:b4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth2
    inet6 fe80::a00:27ff:feb8:13b4/64 scope link
       valid_lft forever preferred_lft forever

[16:40:04 root@vm network-scripts ]# ping yahoo.com
PING yahoo.com (98.139.183.24) 56(84) bytes of data.
64 bytes from ir2.fp.vip.bf1.yahoo.com (98.139.183.24): icmp_seq=1 ttl=43 time=243 ms
64 bytes from ir2.fp.vip.bf1.yahoo.com (98.139.183.24): icmp_seq=2 ttl=43 time=341 ms

ifupこれは、リンクレイヤーとIPv4アドレスを組み合わせたためです。

だから私の質問は次のようになりますiproute2を使用してIPv4アドレスを有効にする方法

注: 興味深いことに、iproute2リンク層がオフになってもIPv4アドレスは無効になりません。

[16:42:50 root@vm network-scripts ]# ip a show eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:b8:13:b4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth2
    inet6 fe80::a00:27ff:feb8:13b4/64 scope link
       valid_lft forever preferred_lft forever

[16:42:58 root@vm network-scripts ]# ip link set eth2 down

[16:43:04 root@vm network-scripts ]# ip a show eth2
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 08:00:27:b8:13:b4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth2

[16:43:09 root@vm network-scripts ]# ping yahoo.com
ping: unknown host yahoo.com

答え1

ipさまざまな目的で使用され、ifup無料です。ipを置き換えて使用しないでくださいifup。実際にはifup、より高いレベルで動作します。

ifconfig(従来、移植可能)とip(Linuxに固有のものですが、より良いインターフェイスを含む)は、同じ目的を果たす2つのコマンドです。インターフェイス設定を直接設定するために使用されます。互換性に加えて、より良いインターフェイスとより広い機能を提供するため、ip完全に置き換えられますifconfig(およびroute一部)。netstatifconfig

永続構成は含まれているか管理されませんipifconfigコマンドラインから受信した要求のみを適用します。

ifupifdownシステム構成に応じてインターフェイスを開閉するために使用されます。一部のシステムではこの設定がに保存され、/etc/network/interfaces他のシステムではに保存されます/etc/sysconfig/something。彼らの使命は、IPアドレス、ルーティング、DNSサーバー、カスタムスクリプトなどを含む完全な設定を読み、それをシステムに適用することです。これはip(少なくとも概念的には)またはを呼び出すことによって行われますifconfig

インターフェイスを呼び出すために使用されるすべてのコマンドを手動で実行できますが、ip/ perpersistステータス情報は実際には同期されません。ブートを使用した後も、インターフェイスは停止していると見なされます。ifupifupifdownifupip

答え2

ifupは高度なツールです。設定ファイルを使用してインターフェイスを起動して設定します。 ip コマンドでこれを行うには、次のコマンドを使用できます。

ip link set eth0 up # to bring interface up
ip a a 192.168.1.4/24 dev eth0 # to add address to interface
ip route add default via 192.168.1.1 # to add default route via gateway in that interface

dhcpを使用してこのインターフェイスを自動的に設定するには、dhclientやdhcpcdなどのdhcpクライアントを使用する必要があります。

関連情報