linux网络管理

网络状态查看工具

两套工具,centos7之前net-tools,之后 iproute2.

  • 网卡命名规则受biosdevname和net.ifnames两个参数影响
  • 编辑/etc/default/grub文件,增加biosdevname=0 net.ifnames=0
    实际上自己的虚拟机相应位置没有这两个参数。
    在这里插入图片描述
  • 更新grub # grub2-mkconfig -o /boot/grub2/grub.cfg

在这里插入图片描述

  • 这个/etc/default/grub文件是给用户看的,不是用于系统启动时读取的。
grub2-mkconfig  -o /boot/grub2/grub.cfg
查看网卡物理连接状况

mii-tool eth0(网卡名称)

[oracle@localhost /etc/default]$ sudo mii-tool eno16777736
[sudo] password for oracle: 
eno16777736: negotiated 1000baseT-FD flow-control, link ok

eno16777736: negotiated 1000baseT-FD flow-control, link ok 这条消息表示网卡 eno16777736 已成功协商到了 1000 兆位每秒的全双工模式(1000baseT-FD),并且流控制已启用,连接正常。

  • 1000baseT-FD 表示网卡连接速度为 1000 兆位每秒(即 Gigabit Ethernet),全双工模式表示网卡可以同时发送和接收数据。
  • flow-control 是一种网络流控制机制,用于控制数据传输的速率,避免数据丢失和网络拥塞。
  • link ok 表示网卡与网络设备之间的物理连接正常,可以进行数据传输。
查看网关

route -n 使用-n参数不解析主机名

[oracle@localhost /etc/default]$ route -n    # 显示路由表信息
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.88.2    0.0.0.0         UG    100    0        0 eno16777736
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eno16777736
192.168.88.0    0.0.0.0         255.255.255.0   U     100    0        0 eno16777736
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
  • Destination:目的地网络地址。
  • Gateway:下一跳网关地址。
  • Genmask:子网掩码。
  • Flags:标志,U 表示路由是有效的。
  • Metric:路由的优先级,数字越小优先级越高。
  • Ref:路由的引用计数。
  • Use:路由被使用的次数。
  • Iface:路由所使用的网络接口。

根据您提供的路由表信息,可以看到以下几条路由信息:

  1. 0.0.0.0192.168.88.2 的路由,使用 eno16777736 网卡作为出口,表示默认路由。
  2. 169.254.0.00.0.0.0 的路由,使用 eno16777736 网卡作为出口,这是一个本地链路路由。
  3. 192.168.88.00.0.0.0 的路由,使用 eno16777736 网卡作为出口,表示到达 192.168.88.0/24 子网的路由。
  4. 192.168.122.00.0.0.0 的路由,使用 virbr0 网桥作为出口,表示到达 192.168.122.0/24 子网的路由。

这些路由信息描述了数据包在网络中的传输路径,其中默认路由用于发送到不在本地子网的数据包,本地链路路由用于本地通信,其他路由用于到达特定子网的数据包。

网络配置命令
ifconfig <接口> <IP地址> [netmask 子网掩码]   # 设置ip或子网掩码
ifup <接口>      ifdown <接口>    # 开启、关闭网卡
接口就是网卡名

route add default gw <网关ip>
route add -host <指定ip> gw <网关ip>
route add -net <指定网段> netmask <子网掩码> gw <网关ip>

ip addr ls       # 相当于ifconfig
ip link set dev eth0 up   # 相当于ifup  eth0
ip addr add 10.0.0.1/24 dev  eth1    # 相当于 ifconfig eth1 10.0.0.1 netmask 255.255.255.0
ip route add 10.0.0/24 via 192.168.0.1   # 相当于route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1

网络故障排除

相关命令 ping traceroute mtr nslookup telnet tcpdump netstat ss
以下是关于网络诊断和管理的常用命令的简要说明:

  1. ping:用于测试主机之间的连通性,发送 ICMP 回显请求并等待回应。
    参数:-c <次数>:指定发送的 ICMP 请求次数。 -i <间隔>:设置发送 ICMP 请求的时间间隔。
  2. traceroute:跟踪数据包从本地主机到目标主机的路径,显示经过的路由器。
    参数:-n:禁止将 IP 地址解析为主机名。 -m <最大跃点数>:设置最大跃点数。
  3. mtr:结合了 pingtraceroute 的功能,连续跟踪目标主机的路径并显示丢包率等信息。
    参数:-c <次数>:指定连续发送的数据包次数。
  4. nslookup:用于查询 DNS 记录,解析域名到 IP 地址或反向解析 IP 地址到域名。
  5. telnet:用于远程登录到另一台主机,测试端口连接和网络服务是否可用。
  6. tcpdump:网络数据包分析工具,用于捕获和分析网络数据包,查看网络流量和协议信息。
    参数:-i <接口>:指定要监听的网络接口。-n:禁止将 IP 地址解析为主机名。
  7. netstat:显示网络连接、路由表、接口统计等信息,用于监视网络状态。
    参数:-t:显示 TCP 连接。-n:禁止将 IP 地址和端口号解析为主机名和服务名,直接显示数字形式。-p:显示建立相关连接的进程名称。-l:仅显示监听状态的连接。
  8. ssnetstat 的现代替代工具,显示套接字统计信息,更高效和功能更强大。
    参数:-t:显示 TCP 连接。-u:显示 UDP 连接。-l:显示监听的端口。

示例:

ping -c 4 google.com # :向 google.com 发送 4 个 ICMP 请求。
traceroute -n google.com #:跟踪到 google.com 的路径,IP 地址格式显示。
mtr -c 5 google.com # :连续跟踪到 google.com 的路径 5 次。
nslookup google.com #:查询 google.com 的 DNS 记录。
telnet google.com 80 # :尝试连接到 google.com 的 80 端口。
tcpdump -i eno16777736 -n # :监听 eno16777736 网卡的数据包。
netstat -tuln # :显示所有 TCP 和 UDP 的监听端口。
ss -tuln # :显示所有 TCP 和 UDP 的监听端口。

网络服务管理和配置文件

  1. NetworkManager

    • 配置文件位置
      • /etc/NetworkManager/NetworkManager.conf:主配置文件。
      • /etc/NetworkManager/system-connections/:存储各个网络连接的配置文件。
    • 管理命令
      • 使用 nmclinmtui 进行网络管理。
  2. 传统网络服务(如 network):

    • 配置文件位置
      • /etc/network/interfaces:Debian/Ubuntu 系统的网络接口配置文件。
      • /etc/sysconfig/network-scripts/ifcfg-*:CentOS/RHEL 系统的网络接口配置文件。
    • 示例配置(Debian/Ubuntu):
      auto eth0
      iface eth0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1
      
    • 示例配置(CentOS/RHEL):
      DEVICE=eth0
      BOOTPROTO=static
      ONBOOT=yes
      IPADDR=192.168.1.2
      NETMASK=255.255.255.0
      GATEWAY=192.168.1.1
      

重启网络服务

  • NetworkManager

    sudo systemctl restart NetworkManager
    
  • 传统网络服务

    sudo systemctl restart networking
    

开关 Network 和 NetworkManager 服务

  1. Network

    • 在大多数 Linux 发行版中,传统的网络服务通常由 networknetworking 服务管理。
    • 启动服务
      sudo systemctl start networking
      
    • 停止服务
      sudo systemctl stop networking
      
    • 重启服务
      sudo systemctl restart networking
      
  2. NetworkManager

    • 启动服务
      sudo systemctl start NetworkManager
      
    • 停止服务
      sudo systemctl stop NetworkManager
      
    • 重启服务
      sudo systemctl restart NetworkManager
      

检查服务状态

  • 检查服务状态
    sudo systemctl status NetworkManager
    
    sudo systemctl status networking
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远歌已逝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值