Linux TCP/IPネットワーク管理ツール:net-tools VS iproute 2


ブログ:http://www.simlinux.com
多くのシステム管理者は、まだifconfig、route、arp、netstatコマンドの組み合わせを使用して、ネットワーク構成を管理しています.これらのコマンドは、net-toolsパッケージが提供されていますが、Arch Linux、Centos 7/RHEL 7などの発行版では、net-toolsiproute 2の代わりにiproute 2を使用しています.
net-toolsアクセスとネットワーク構成の変更はprocfsとioctlシステムの呼び出しによって行われ、iproute 2はnetlink socket方式でカーネルと通信する.重要なのは、iproute 2はずっとよく発展しています.https://www.kernel.org/pub/linux/utils/net/iproute2/以下はnet-toolsとiproute 2の使用比較です.
すべてのネットワークインターフェースを一覧表示します.アクティブでないカードを含みます.
  net-tools:
$ ifconfig -a
  iproute2:
$ ip link show
ネットワークカードをアクティブにします.
  net-tools:
$ sudo ifconfig eth1 up
$ sudo ifconfig eth1 down
  iproute2:
$ sudo ip link set down eth1
$ sudo ip link set up eth1
IPv 4アドレスの設定
  net-tools:
$ sudo ifconfig eth1 10.0.0.1/24
  iproute2:
$ sudo ip addr add 10.0.0.1/24 dev eth1

  net-tools   IP:
$ sudo ifconfig eth0:1 192.168.10.10 netmask 255.255.255.0 up
$ sudo ifconfig eth0:2 192.168.10.15 netmask 255.255.255.0 up

  iproute2   IP:
$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1

  eth0 IP  
$sudo ip addr list dev eth0
ネットワークカードのIPv 4アドレスを削除します.
  net-tools:
$ sudo ifconfig eth1 0
  iproute2:
$ sudo ip addr del 10.0.0.1/24 dev eth1
インターネットカードに設定されているIPv 4アドレスを確認します.
  net-tools:
$ ifconfig eth1
  iproute2:
$ ip addr show dev eth1
         IP  ,iproute2        , net-tools      
IPv 6アドレスの設定
  net-tools:
$ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64
$ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64
  iproute2:
$ sudo ip -6 addr add 2002:0db5:0:f102::1/64 dev eth1
$ sudo ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1
インターネットカードに設定されているIPv 6アドレスを確認します.
  net-tools:
$ ifconfig eth1
  iproute2:
$ ip -6 addr show dev eth1
ネットワークカードのIPv 6アドレスを削除します.
  net-tools:
$ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64
  iproute2:
$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1
ネットカードのMACアドレスを変更します.
  net-tools:
$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66
  iproute2:
$ sudo ip link set dev eth1 address 08:00:27:75:2a:67
ルートテーブルを表示
  net-tools:
$route -n
$ netstat -rn
  iproute2:
$ ip route show
標準のルーティングを変更する追加
  net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
  iproute2:
$ sudo ip route add default via 192.168.1.2 dev eth0
$ sudo ip route replace default via 192.168.1.2 dev eth0
静的なルーティングの追加と削除
  net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
  iproute2:
$ sudo ip route add default via 192.168.1.2 dev eth0
$ sudo ip route replace default via 192.168.1.2 dev eth0
socketの統計を調べます
  net-tools:
$ netstat
$ netstat -l
  iproute2:
$ ss
$ ss -l
ARP表を見る
  net-tools:
$ arp -an
  iproute2:
$ ip neigh
静的ARPの追加と削除
  net-tools:
$ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef
$ sudo arp -d 192.168.1.100
  iproute2:
$ sudo ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0
$ sudo ip neigh del 192.168.1.100 dev eth0
マルチキャストアドレスの追加、削除、表示
  net-tools:
$ sudo ipmaddr add 33:44:00:00:00:01 dev eth0
$ sudo ipmaddr del 33:44:00:00:00:01 dev eth0
$ ipmaddr show dev eth0
$ netstat -g
  iproute2:
$ sudo ip maddr add 33:44:00:00:00:01 dev eth0
$ sudo ip maddr del 33:44:00:00:00:01 dev eth0
$ ip maddr list dev eth0
参考文献:iproute 2 HowTo http://www.policyrouting.org/iproute2.doc.htmliproute2 マン http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2/RTnetlink         http://www.man7.org/linux/man-pages/man7/rtnetlink.7.htmlNetlink             http://www.man7.org/linux/man-pages/man7/netlink.7.html