13个Linux网络配置和故障排除命令

计算机通过网络连接以相互交换信息或资源。两台或两台以上的计算机通过称为计算机网络的网络媒体连接。有许多网络设备或媒体参与形成计算机网络。

加载有Linux操作系统的计算机也可以通过其多任务和多用户特性成为网络的一部分,无论是小型网络还是大型网络。保持系统和网络正常运行是系统/网络管理员的任务。

[您可能还喜欢: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. Ping 命令

PingPacket INternet Groper)命令是测试两个节点之间连接的最佳方式。无论是局域网LAN)还是广域网WAN)。

Ping使用ICMPInternet Control Message Protocol)与其他设备通信。您可以使用以下命令ping主机名或IP地址

# 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命令

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 命令示例的文章。

更新:在大多数现代 Linux 发行版中,netstat命令被ss(套接字统计)命令所取代。

5. Dig 命令

Dig域名信息探测器)查询DNS相关信息,如A记录,CNAMEMX 记录等。此命令主要用于排查与 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 相关的查询。以下示例显示了A记录(IP 地址)的tecmint.com

# 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 命令

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命令用于在IPv4IPv6中查找名称到IPIP到名称,还可以查询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选项查找DNS资源记录,如CNAMENSMXSOA等。

# 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-Fi 详情,如 SSID、信道和加密方式。您可以参考 iwconfig 的手册了解更多。

# iwconfig [interface]

12. 主机名命令

主机名用于在网络中识别。执行 hostname 命令以查看您的主机名。您可以在 /etc/sysconfig/network 中永久设置主机名。设置完正确的主机名后需要重新启动主机。

# hostname 

tecmint.com

13. Nmcli 和 Nmtui 工具

NmcliNmtui 工具用于配置网络设置,也用于管理网络设备,在 Linux 系统中创建、修改、激活/停用和删除网络连接。

# nmcli
# nmtui
Nmtui Network Manager

本文对 Linux 网络管理员Linux / 类 Unix 操作系统中的日常使用可能有所帮助。如果我们遗漏了什么,请通过评论框分享。

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