13Linuxネットワーク構成およびトラブルシューティングコマンド


コンピュータはネットワークで接続され、情報やリソースを相互に交換します。コンピュータネットワークと呼ばれるネットワークメディアを介して接続された2台以上のコンピュータ。コンピュータネットワークを形成するために関与するネットワークデバイスまたはメディアの数があります。 Linuxオペレーティングシステムを搭載したコンピュータは、マルチタスクとマルチユーザーの性質により、小規模または大規模のネットワークであるかどうかにかかわらず、ネットワークの一部になることもできます。システムとネットワークの稼働を維持することは、システム/ネットワーク管理者の仕事です。この記事では、Linuxで頻繁に使用されるネットワーク構成を確認し、コマンドのトラブルシューティングを行います。

1.ifconfig

ifconfig(interface configurator)コマンドは、インターフェイスの初期化、インターフェイスへのIPアドレスの割り当て、およびオンデマンドでのインターフェイスの有効化または無効化に使用されます。このコマンドを使用すると、インターフェイスに割り当てられたIPアドレスとハードウェア/ MACアドレス、およびMTU(最大伝送ユニット)サイズを表示できます。

# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6093 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4824 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6125302 (5.8 MiB)  TX bytes:536966 (524.3 KiB)
          Interrupt:18 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

ifconfig with interface(eth0)コマンドは、IPアドレス、MACアドレスなどの特定のインターフェイスの詳細のみを表示します。-aオプションを使用すると、使用可能なすべてのインターフェイスの詳細が無効になっている場合も表示されます。

# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6119 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6127464 (5.8 MiB)  TX bytes:539648 (527.0 KiB)
          Interrupt:18 Base address:0x2000

その場でインターフェースにIPアドレスとゲートウェイを割り当てる。システムを再起動すると、設定は削除されます。

# ifconfig eth0 192.168.50.5 netmask 255.255.255.0

特定のインターフェイスを有効または無効にするには、次のようにサンプルコマンドを使用します。

# ifup eth0
# ifdown eth0

デフォルトのMTUサイズは1500です。以下のコマンドで必要なMTUサイズを設定できます。 XXXXをサイズに置き換えます。

# ifconfig eth0 mtu XXXX

ネットワークインターフェースで受信したパケットのみがその特定のNICに属します。インターフェイスを無差別モードにすると、すべてのパケットが受信されます。これは、パケットをキャプチャして後で分析するのに非常に役立ちます。このためには、スーパーユーザーアクセスが必要になる場合があります。

# ifconfig eth0 - promisc

2.PINGコマンド

PING(Packet INternet Groper)コマンドは、2つのノード間の接続をテストするための最良の方法です。ローカルエリアネットワーク(LAN)かワイドエリアネットワーク(WAN)か。 pingは、ICMP(インターネット制御メッセージプロトコル)を使用して他のデバイスと通信します。以下のコマンドを使用して、IPアドレスのホスト名にpingを実行できます。

# ping 4.2.2.2

PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_seq=1 ttl=44 time=203 ms
64 bytes from 4.2.2.2: icmp_seq=2 ttl=44 time=201 ms
64 bytes from 4.2.2.2: icmp_seq=3 ttl=44 time=201 ms

OR

# ping www.tecmint.com

PING tecmint.com (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=284 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=287 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms

Linuxでは、pingコマンドは中断するまで実行を続けます。 N個の要求(成功またはエラー応答)の後に-cオプションexitを使用してpingを実行します。

# ping -c 5 www.tecmint.com

PING tecmint.com (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=4 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=5 ttl=47 time=285 ms

--- tecmint.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4295ms
rtt min/avg/max/mdev = 285.062/285.324/285.406/0.599 ms

3.TRACEROUTEコマンド

tracerouteは、宛先に到達するまでにかかったホップ数を示し、パケットの移動パスを決定するネットワークトラブルシューティングユーティリティです。以下では、グローバルDNSサーバーのIPアドレスへのルートをトレースしており、宛先に到達できることは、そのパケットが移動しているパスも示しています。

# traceroute 4.2.2.2

traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 byte packets
 1  192.168.50.1 (192.168.50.1)  0.217 ms  0.624 ms  0.133 ms
 2  227.18.106.27.mysipl.com (27.106.18.227)  2.343 ms  1.910 ms  1.799 ms
 3  221-231-119-111.mysipl.com (111.119.231.221)  4.334 ms  4.001 ms  5.619 ms
 4  10.0.0.5 (10.0.0.5)  5.386 ms  6.490 ms  6.224 ms
 5  gi0-0-0.dgw1.bom2.pacific.net.in (203.123.129.25)  7.798 ms  7.614 ms  7.378 ms
 6  115.113.165.49.static-mumbai.vsnl.net.in (115.113.165.49)  10.852 ms  5.389 ms  4.322 ms
 7  ix-0-100.tcore1.MLV-Mumbai.as6453.net (180.87.38.5)  5.836 ms  5.590 ms  5.503 ms
 8  if-9-5.tcore1.WYN-Marseille.as6453.net (80.231.217.17)  216.909 ms  198.864 ms  201.737 ms
 9  if-2-2.tcore2.WYN-Marseille.as6453.net (80.231.217.2)  203.305 ms  203.141 ms  202.888 ms
10  if-5-2.tcore1.WV6-Madrid.as6453.net (80.231.200.6)  200.552 ms  202.463 ms  202.222 ms
11  if-8-2.tcore2.SV8-Highbridge.as6453.net (80.231.91.26)  205.446 ms  215.885 ms  202.867 ms
12  if-2-2.tcore1.SV8-Highbridge.as6453.net (80.231.139.2)  202.675 ms  201.540 ms  203.972 ms
13  if-6-2.tcore1.NJY-Newark.as6453.net (80.231.138.18)  203.732 ms  203.496 ms  202.951 ms
14  if-2-2.tcore2.NJY-Newark.as6453.net (66.198.70.2)  203.858 ms  203.373 ms  203.208 ms
15  66.198.111.26 (66.198.111.26)  201.093 ms 63.243.128.25 (63.243.128.25)  206.597 ms 66.198.111.26 (66.198.111.26)  204.178 ms
16  ae9.edge1.NewYork.Level3.net (4.68.62.185)  205.960 ms  205.740 ms  205.487 ms
17  vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  203.867 ms vlan52.ebr2.NewYork2.Level3.net (4.69.138.254)  202.850 ms vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  202.351 ms
18  ae-6-6.ebr2.NewYork1.Level3.net (4.69.141.21)  201.771 ms  201.185 ms  201.120 ms
19  ae-81-81.csw3.NewYork1.Level3.net (4.69.134.74)  202.407 ms  201.479 ms ae-92-92.csw4.NewYork1.Level3.net (4.69.148.46)  208.145 ms
20  ae-2-70.edge2.NewYork1.Level3.net (4.69.155.80)  200.572 ms ae-4-90.edge2.NewYork1.Level3.net (4.69.155.208)  200.402 ms ae-1-60.edge2.NewYork1.Level3.net (4.69.155.16)  203.573 ms
21  b.resolvers.Level3.net (4.2.2.2)  199.725 ms  199.190 ms  202.488 ms

4.NETSTATコマンド

Netstat(ネットワーク統計)コマンドは、接続情報、ルーティングテーブル情報などを表示します。ルーティングテーブル情報を表示するには、オプションを-rとして使用します。

# netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.50.0    *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         192.168.50.1    0.0.0.0         UG        0 0          0 eth0

Netstatコマンドのその他の例については、Linuxでの20のNetstatコマンドの例に関する以前の記事をお読みください。

5.DIGコマンド

Dig(ドメイン情報groper)は、Aレコード、CNAME、MXレコードなどのDNS関連情報をクエリします。このコマンドは、主にDNS関連クエリのトラブルシューティングに使用します。

# dig www.tecmint.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> www.tecmint.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

Digコマンドのその他の例については、DNSを照会するための10のLinuxDigコマンドに関する記事をお読みください。

6.NSLOOKUPコマンド

nslookupコマンドは、DNS関連のクエリを見つけるためにも使用します。次の例は、tecmint.comのレコード(IPアドレス)を示しています。

# nslookup www.tecmint.com
Server:         4.2.2.2
Address:        4.2.2.2#53

Non-authoritative answer:
www.tecmint.com canonical name = tecmint.com.
Name:   tecmint.com
Address: 50.116.66.136

NSLOOKUPコマンドの詳細については、8つのLinuxNslookupコマンドの例に関する記事を参照してください。

7.ROUTEコマンド

routeコマンドは、IPルーティングテーブルも表示および操作します。 Linuxでデフォルトのルーティングテーブルを表示するには、次のコマンドを入力します。

# route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.50.0    *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.50.1    0.0.0.0         UG    0      0        0 eth0

次のコマンドを使用して、ルートとデフォルトゲートウェイを追加、削除します。

# route add -net 10.10.10.0/24 gw 192.168.0.1
# route del -net 10.10.10.0/24 gw 192.168.0.1
# route add default gw 192.168.0.1

8.HOSTコマンド

IPv4またはIPv6で名前からIPまたはIPから名前を検索し、DNSレコードを照会するhostコマンド。

# host www.google.com

www.google.com has address 173.194.38.180
www.google.com has address 173.194.38.176
www.google.com has address 173.194.38.177
www.google.com has address 173.194.38.178
www.google.com has address 173.194.38.179
www.google.com has IPv6 address 2404:6800:4003:802::1014

-tオプションを使用すると、CNAME、NS、MX、SOAなどのDNSリソースレコードを見つけることができます。

# host -t CNAME www.redhat.com

www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.

9.ARPコマンド

ARP(アドレス解決プロトコル)は、カーネルのARPテーブルの内容を表示/追加するのに役立ちます。デフォルトのテーブルを表示するには、コマンドをとして使用します。

# arp -e

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.50.1             ether   00:50:56:c0:00:08   C                     eth0

10.ETHTOOLコマンド

ethtoolはmii-toolの代わりです。ネットワークインターフェイスカード(NIC)の速度とデュプレックスを表示、設定します。 ETHTOOL_OPTS変数を使用して、/ etc/sysconfig/network-scripts/ifcfg-eth0でデュプレックスを永続的に設定できます。

# ethtool eth0

Settings for eth0:
        Current message level: 0x00000007 (7)
        Link detected: yes

11.IWCONFIGコマンド

Linuxのiwconfigコマンドは、ワイヤレスネットワークインターフェイスを構成するために使用されます。 SSIDチャネルや暗号化などの基本的なWi-Fiの詳細を表示および設定できます。詳細については、iwconfigのmanページを参照してください。

# iwconfig [interface]

12.HOSTNAMEコマンド

ホスト名は、ネットワーク内で識別するためのものです。 hostnameコマンドを実行して、ボックスのホスト名を確認します。ホスト名は/ etc/sysconfig/networkで永続的に設定できます。適切なホスト名を設定したら、ボックスを再起動する必要があります。

# hostname 

tecmint.com

13.GUIツールsystem-config-network

コマンドプロンプトでsystem-config-networkと入力してネットワーク設定を構成すると、下の画像に示すように、IPアドレス、ゲートウェイ、DNSなどの構成にも使用できる優れたグラフィカルユーザーインターフェイス(GUI)が表示されます。

# system-config-network

この記事は、Linux/UnixライクなオペレーティングシステムでLinuxネットワーク管理者を日常的に使用する場合に役立ちます。見逃した場合は、コメントボックスで共有してください。