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

コンピューターは情報やリソースを交換するためにネットワークに接続されています。2台以上のコンピューターがコンピューターネットワークと呼ばれるネットワークメディアを介して接続されています。コンピューターネットワークを形成するために、いくつかのネットワークデバイスやメディアが関与しています。

Linuxオペレーティングシステムを搭載したコンピューターは、そのマルチタスクおよびマルチユーザーの性質によって、小規模なネットワークでも大規模なネットワークでもネットワークの一部になることができます。システムおよびネットワークの維持と稼働を維持するのは、システム/ネットワーク管理者の仕事です。

[ こちらもおすすめ: Sysadminのための22のLinuxネットワーキングコマンド ]

この記事では、Linuxでよく使用されるネットワーク構成およびトラブルシューティングコマンドを見ていきます。

1. ifconfigコマンド

ifconfigインターフェースコンフィギュレーター)コマンドは、インターフェースを初期化し、インターフェースに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コマンドは、インターフェース(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

LinuxでIPアドレスとゲートウェイを設定

インターフェースにIPアドレスゲートウェイを設定します。この設定はシステムの再起動時に削除されます。

# ifconfig eth0 192.168.50.5 netmask 255.255.255.0

特定のインターフェースの有効化または無効化

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

eth0の有効化
# ifup eth0
eth0の無効化
# ifdown eth0

MTUサイズの設定

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

# ifconfig eth0 mtu XXXX

プロミスキャスモードでインターフェースを設定

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

# ifconfig eth0 - promisc

更新:ほとんどの現代のLinuxディストリビューションでは、ifconfigコマンドがIPコマンドに置き換えられています。

2. ピンクコマンド

ピングパケットインターネットグローパー)コマンドは、2つのノード間の接続をテストする最良の方法です。それがローカルエリアネットワークLAN)であるか、広域ネットワークWAN)であるかに関係なく。

ピングは他のデバイスと通信するためにICMPInternet Control Message Protocol)を使用します。以下のコマンドを使用してホスト名または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コマンドは、中断するまで実行を続けます。 -cオプションを付けてpingすると、N個のリクエスト(成功またはエラー応答)後に終了します。

# 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は、目的地に到達するまでにかかるホップ数を示すネットワークトラブルシューティングユーティリティであり、パケットの移動経路を決定します。以下では、グローバル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ネットワーク統計)コマンドは、接続情報、ルーティングテーブル情報などを表示します。ルーティングテーブル情報を表示するには、-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 コマンドの例をご覧ください。

更新: netstat コマンドは、ほとんどの現代の Linux ディストリビューションで ss (socket statistics) コマンドに置き換えられています。

5. Dig コマンド

Digdomain information groper)は、A レコード、CNAMEMX レコードなどの関連情報を問い合わせる 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 の Linux Dig コマンドの記事をお読みください。

6. Nslookup コマンド

nslookup コマンドは、DNS 関連のクエリを調査するためにも使用されます。次の例は、tecmint.comA レコード(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 つの Linux Nslookup コマンドの例を読んでください。

7. ルートコマンド

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

次のコマンドでルートの追加、削除、およびデフォルトゲートウェイを設定できます。

Linuxでルートを追加する
# route add -net 10.10.10.0/24 gw 192.168.0.1
Linuxでルートを削除する
# route del -net 10.10.10.0/24 gw 192.168.0.1
Linuxでデフォルトゲートウェイを追加する
# route add default gw 192.168.0.1

8. ホストコマンド

hostコマンドは、IPまたは名前IPv4またはIPv6に変換し、またDNSレコードをクエリします。

# 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オプションを使用して、CNAMENSMXSOAなどの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コマンド

ethtoolmii-toolの代替です。ネットワークインターフェースカード(NIC)の速度とデュプレックスを表示および設定するためのものです。デュプレックスを永続的に設定するには、/etc/sysconfig/network-scripts/ifcfg-eth0内のETHTOOL_OPTS変数を使用します。

# ethtool eth0

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

11. Iwconfigコマンド

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

# iwconfig [interface]

12. ホスト名コマンド

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

# hostname 

tecmint.com

13. NmcliおよびNmtuiツール

NmcliおよびNmtuiツールは、Linuxシステムでネットワーク設定を構成し、ネットワークデバイスを管理し、ネットワーク接続を作成、変更、有効化/無効化、削除するために使用されます。

# nmcli
# nmtui
Nmtui Network Manager

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

Source:
https://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands/