• Linux学习-网络管理


    网络管理

    网络状况查看工具

    1.net-tools

    • ifconfig
    • route
    • netstat

    2.iproute2

    • ip
    • ss

    # ifconfig 显示的网卡信息

    • eth0 第一块网卡(网络接口)
    • 第一个网络接口也能叫做下面名字
      • eno1 板载网卡
      • ens33 PCI-E网卡
      • enp0s3 无法获取物理信息的PCI-E 网卡
      • centos7 使用了一致性网络设备命名,以上都不匹配则使用 eth0

    网络接口命名修改

    网卡命名规则受 biosdevname 和 net.ifnames 两个参数影响,编辑 /etc/default/grup 文件,增加 biosdevname=0 net.ifnames=0,可以使网卡名称变回 eth0
    以上两个参数修改后,更新 grub ,修改网卡名称
    # grup2-mkconfig -o /boot/grub2/grub.cfg 转化为系统可读取的文件
    重启
    # reboot

    biosdevname net.ifnames 网卡名
    默认 0 1 ens33
    组合1 1 0 em1
    组合2 0 0 eth0

    名词解释:GRUB是多系统引导管理器,它负责装入内核并引导 Linux 系统,系统启动时运行的第一个程序就是grub。
    GRUB 配置文件的路径 /etc/default/grub

    查看网卡物理连接情况

    • mii-tool eth0

    查看网关

    • route -n 使用 -n 参数不解析主机名,这样速度比较快,若是+ip,会把ip解析为域名,速度比较慢

    网络配置命令

    • ifconfig <接口><IP地址>[子网掩码]
    • ifup <接口> 启动接口
    • ifdown <接口> 关闭接口

    添加网关

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

    用iproute2 工具设置网关

    • ip add 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 检测当前主机和目标主机是否连通,不通可能是网络中断或者有防火墙,ping指令会使用ICMP传输协议

      # ping www.baidu.com

    • traceroute 追踪路由的每一跳,显示数据包到主机间的路径

      # traceroute -w 1 www.baidu.com -w 设定等待时间

    • mtr 检测当前主机和目标主机之间是否有数据包丢失,显示的内容比traceroute详细

      # mtr

    • nslookup 查看域名对应的ip,查DNS信息用的命令

      # nslookup www.baidu.com

    • telnet 检查端口的连接状态

      # telnet www.baidu.com 80

    • tcpdump 抓包,嗅探器工具,它可以打印所有经过网络接口的数据包的头信息

      # tcpdump -i any(任意网卡) -n(不要使用域名显示) port 80
      # tcpdump -i any -n host 10.0.0.1
      # tcpdump -i any -n host 10.0.0.1 and port 8080
      # tcpdump -i any -n host 10.0.0.1 and port 8080 -w /tmp/filenname

    • netstat 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。

      # netstat -ntpl

      • -n 显示IP,不要显示域名
      • -t 以tcp的方式截取想要的内容
      • -p 显示进程
      • -l listen,监听
    • ss 用来显示处于活动状态的套接字信息,能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效

      # ss -ntpl

    网络服务管理

    网络服务管理程序分为两种,分别为SysV和systemd

    • service network start|stop|restart
    • chkconfig -list network
    • systemctl list-unit-files NetworkManager.service
    • systemctl start|stop|restart NetworkManager
    • systemctl enable|disable NetworkManager

    systemd Centos7的网络服务管理工具,SysV是Centos6及以前的

    网络配置文件

    • ifcfg-eth0 网卡的配置文件,名称会随着真实名称而改变
    • /etc/hosts 与主机相关的配置文件

    NM(NetworkManager.service)能管理各种网络

    • 有线网卡、无线网卡
    • 动态ip、静态ip
    • 以太网、非以太网
    • 物理网卡、虚拟网卡

    nmcli:命令行。这是NM最常用的工具,Centos8使用该工具管理网络

    NM 一些常用命令

    查看ip(类似于ifconfig、ip addr)
    nmcli

    nmcli connection 可理解为配置文件,相当于ifcfg-ethX。
    可以简写为nmcli c

    创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
    nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual

    创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
    nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto

    修改ip(非交互式)
    nmcli c modify ethX ipv4.addr '192.168.1.200/24'
    nmcli c up ethX

    修改ip(交互式)
    nmcli c edit ethX
    nmcli> goto ipv4.addresses
    nmcli ipv4.addresses> change
    Edit 'addresses' value: 192.168.1.200/24
    Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
    nmcli ipv4> save
    nmcli ipv4> activate
    nmcli ipv4> quit

    启用connection(相当于ifup)
    nmcli c up ethX

    停止connection(相当于ifdown)
    nmcli c down

    删除connection(类似于ifdown并删除ifcfg)
    nmcli c delete ethX

    查看connection列表
    nmcli c show

    查看connection详细信息
    nmcli c show ethX

    重载所有ifcfg或route到connection(不会立即生效)
    nmcli c reload

    重载指定ifcfg或route到connection(不会立即生效)
    nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX
    nmcli c load /etc/sysconfig/network-scripts/route-ethX

    立即生效connection,有3种方法
    nmcli c up ethX
    nmcli d reapply ethX
    nmcli d connect ethX

    查看device列表
    nmcli d

    查看所有device详细信息
    nmcli d show

    查看指定device的详细信息
    nmcli d show ethX

    激活网卡
    nmcli d connect ethX

    关闭无线网络(NM默认启用无线网络)
    nmcli r all off

    查看NM纳管状态
    nmcli n

    开启NM纳管
    nmcli n on

    关闭NM纳管(谨慎执行)
    nmcli n off

    监听事件
    nmcli m

    查看NM本身状态
    nmcli

    检测NM是否在线可用
    nm-online

  • 相关阅读:
    Linux学习--线程概念
    菱形继承
    C++类型萃取
    Linux学习--进程创建
    Linux学习--进程概念
    比较全面的gdb调试命令
    再度理解原码、反码、补码
    详谈C++虚函数表那回事(多重继承关系)
    【sparkStreaming】将DStream保存在MySQL
    【sparkStreaming】kafka作为数据源的生产和消费
  • 原文地址:https://www.cnblogs.com/chenri/p/12590390.html
Copyright © 2020-2023  润新知