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

原文地址:https://www.cnblogs.com/chenri/p/12590390.html