Linux 网络配置和故障排除命令总结
在下方公众号后台回复:面试手册,可获取杰哥汇总的 3 份面试 PDF 手册。
1.ifconfig
ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
# ifconfig
eth0: flags=4163 mtu 1500
inet 172.24.186.123 netmask 255.255.240.0 broadcast 172.24.191.255
ether 00:16:3e:24:5d:8c txqueuelen 1000 (Ethernet)
RX packets 36773275 bytes 9755326821 (9.0 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 31552596 bytes 6792314542 (6.3 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 36893510 bytes 27158894604 (25.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 36893510 bytes 27158894604 (25.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig
带网口(eth0
)命令仅显示特定的接口详细信息,例如IP Address, MAC Address
等与-a
如果它也被禁用,选项将显示所有可用的接口详细信息。
# ifconfig eth0
分配 IP 地址和网关
分配一个IP Address
和Gateway
即时接口。如果系统重新启动,该设置将被删除。
# ifconfig eth0 192.168.1.110 netmask 255.255.255.0
启用或禁用特定网口
enable
或者disable
,我们使用示例命令如下。
启用 eth0
# ifup eth0
禁用 eth0
# ifdown eth0
设置 MTU 大小
默认情况下MTU
大小是1500
,我们可以设置所需MTU
大小与以下命令。代替XXXX
与大小。
# ifconfig eth0 mtu XXXX
将接口设置为混杂模式
Network interface
只有收到的数据包属于那个特定的NIC
,如果你把接口promiscuous
模式它将接收所有的数据包。这对于捕获数据包和稍后分析非常有用。为此,您可能需要超级用户访问权限。
# ifconfig eth0 - promisc
2. ping 命令
ping命令 用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
# ping 127.0.0.1
或
# ping www.rumenz.com
在Linux
ping 命令一直执行,直到您中断。平与-c
选项退出后N
请求数(成功或错误响应)。
# ping -c 5 www.rumenz.com
PING www.rumenz.com (42.194.162.109) 56(84) bytes of data.
64 bytes from 42.194.162.109 (42.194.162.109): icmp_seq=1 ttl=52 time=35.8 ms
64 bytes from 42.194.162.109 (42.194.162.109): icmp_seq=2 ttl=52 time=35.6 ms
64 bytes from 42.194.162.109 (42.194.162.109): icmp_seq=3 ttl=52 time=35.6 ms
64 bytes from 42.194.162.109 (42.194.162.109): icmp_seq=4 ttl=52 time=35.6 ms
64 bytes from 42.194.162.109 (42.194.162.109): icmp_seq=5 ttl=52 time=35.6 ms
--- www.rumenz.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 35.662/35.720/35.893/0.190 ms
3. traceroute 命令
traceroute
是一个网络故障排除实用程序,它显示到达目的地所用的跳数,也决定了数据包的传播路径。下面我们正在追踪通往全球的路线DNS server IP Address
并且能够到达目的地还显示该数据包正在旅行的路径。
# traceroute 8.8.8.8
4. netstat 命令
netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 0 0 0 eth0
172.24.176.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
5. dig 命令
dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。
# dig www.rumenz.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.7 <<>> www.rumenz.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11798
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.rumenz.com. IN A
;; ANSWER SECTION:
www.rumenz.com. 583 IN A 42.194.162.109
;; Query time: 0 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Sat Nov 20 21:45:32 CST 2021
;; MSG SIZE rcvd: 48
6. nslookup 命令
nslookup
命令也用于找出DNS
相关查询。下面的例子显示A Record (IP Address)
的 rumenz.com
。
# nslookup www.rumenz.com
Server: 100.100.2.136
Address: 100.100.2.136#53
Non-authoritative answer:
Name: www.rumenz.com
Address: 42.194.162.109
7. route命令
route
命令还显示和操作ip
路由表。查看默认路由表Linux
# route
使用以下命令添加、删除路由和默认网关。
添加路由
# 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命令
host
查找名称的命令IP
或者IP
命名IPv4
或者IPv6
并查询DNS
记录。
# host www.rumenz.com
www.rumenz.com has address 42.194.162.109
使用-t
选项我们可以找出 DNS 资源记录,例如CNAME, NS, MX, SOA
等等。
//先安装
# yum install bind-utils -y
# host -t CNAME www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
9. arp 命令
arp 命令 是 Address Resolution Protocol,地址解析协议,是通过解析网络层地址来找寻数据链路层地址的一个网络协议包中极其重要的网络传输协议。而该命令可以显示和修改 arp 协议解析表中的缓冲数据。
# arp -e
Address HWtype HWaddress Flags Mask Iface
gateway ether ee:ff:ff:ff:ff:ff C eth0
10. ethtool 命令
ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。
# ethtool eth0
Settings for eth0:
Link detected: yes
11. iwconfig 命令
iwconfig 系统配置无线网络设备或显示无线网络设备信息。iwconfig 命令类似于ifconfig命令,但是他配置对象是无线网卡,它对网络设备进行无线操作,如设置无线通信频段
//先安装
# yum install -y wireless-tools
# iwconfig [interface]
eth0 no wireless extensions.
12. hostname 命令
hostname
是在网络中识别。执行hostname
命令以查看机器的主机名。可以在其中永久设置主机名/etc/sysconfig/network
,设置正确的主机名后需要重新启动。
# hostname
rumenz.com
来自:入门小站