Linux网络管理 您所在的位置:网站首页 linux查看全部网卡 Linux网络管理

Linux网络管理

2023-09-06 04:57| 来源: 网络整理| 查看: 265

Linux网络管理 1.网络基础概述 1)centos7 网卡命名规则

传统的 CentOS/RHEL 系统以 eth* 名来命名网卡, 在 CentOS/RHEL7 系统开始使用新的命名规则:

基于固件、设备结构、设备类型

1.由两个字母开头标示固件

以太网网卡以 en 开头

无线网卡以 wl 开头

2.设备结构

o 表示板载网卡 (on-board)

s 热插拔结构 (hotplug slot)

p PCI 插槽位置

2)centos7修改网卡为eth0

修改网卡配置文件

[root@server~]# cd /etc/sysconfig/network-scripts/ [root@server network-scripts]# mv ifcfg-ens33 ifcfg-eth0 [root@server network-scripts]# vim ifcfg-eth0 NAME=eth0 DEVICE=eth0

默认centos7不支持ifconfig命令安装net-tools包

ifconfig、route、arp 和 netstat 等命令行工具( 统称为 net-tools )来配置网络功能,解决网络故障。

[root@server~]# yum install net-tools [root@server~]# ifconfig eth0 #再次查看网卡信息 eth0:flags=4163 mtu 1500 inet 192.168.56.12 netmask 255.255.255.0 broadcast 192.168.56.255 2.网络接口信息查看 查看网络接口配置信息

查看当前处于活动状态的网络接口

[root@server ~]# ifconfig

仅查看eth0网卡状态信息

[root@server ~]# ifconfig eth0

查看所有网卡状态信息, 包括禁用和启用

[root@server ~]# ifconfig eth0: flags=4163 mtu 1500 inet 10.0.0.200 netmask 255.255.255.0 broadcast 10.0.0.255 inet6 fe80::20c:29ff:fee0:c79a prefixlen 64 scopeid 0x20 ether 00:0c:29:e0:c7:9a txqueuelen 1000 (Ethernet) RX packets 5172 bytes 431877 (421.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 5671 bytes 6858340 (6.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

网卡配置信息含义如下:

UP: 网卡处于活动状态 BROADCAST: 支持广播 RUNNING: 网线已接入 MULTICAST: 支持组播 MTU: 最大传输单元(字节),即此接口一次所能传输的最大封包 inet: 显示IPv4地址行 inet6: 显示IPv6地址行 link/enther: 指设备硬件(MAC)地址 txqueuelen: 传输缓存区长度大小 RX packets: 接收的数据包 TX packets: 发送的数据包 errors: 总的收包的错误数量 dropped: 由于各种原因, 导致拷贝在内存过程中被丢弃 collisions: 网络信号冲突情况, 值不为0则可能存在网络故障

其他查看ip指令

[root@server ~]# ip addr show eth0 2: eth0: mtu 1500 qdisc pfifo_fast state ①UP qlen 1000 ②link/ether 00:0c:29:e0:c7:9a brd ff:ff:ff:ff:ff:ff ③inet 10.0.0.200/24 brd 10.0.0.255 scope global ens32 valid_lft forever preferred_lft forever ⑤inet6 fe80::20c:29ff:fee0:c79a/64 scope link valid_lft forever preferred_lft forever

①: 活动接口为UP

②: Link行指定设备的MAC地址

③: inet行显示IPv4地址和前缀

④: 广播地址、作用域和设备名称在此行

⑤: inet6行显示IPv6信息

ip命令也可用于显示关于网络性能的统计信息, 比如: 发送和传送的数据包、错误、丢弃

[root@server ~]# ip -s link show eth0 2: eth0: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:e0:c7:9a brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 441897 5280 0 0 0 0 TX: bytes packets errors dropped carrier collsns 6870050 5760 0 0 0 0

ip 指令与ifconfig指令的区别

ifconfig 查看所有网卡状态信息,包括禁用和启用

两个命令的功能不一样 ifconfig命令是查看配置网卡信息 ip命令是查看配置路由信息 ifconfig能做的ip未必能做,ip能做的ifconfig也未必能做,只不过两者刚好都提供了查看ip地址栏方法而已。

3.NetworkManager管理网络

RHEL/CentOS7 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。

NetworkManager 提供的命令行和图形配置工具对网络进行设定, 设定保存的配置文件

在 /etc/sysconfig/network-scripts 目录下, 工具有 nmcli, nmtui, nm-connect-editor

device :物理设备, 例如 enp2s0,virbr0,team0 connection :连接设置, 具体网络配置方案 ​ 1.不同的网络连接配置可以应用到相同的物理设备,但物理设备同一时间只能应用其中某个网络连接 2.针对物理网络接口, 设定不同的网络连接, 在不同的使用环境中激活相应的网络连接,就可以实现网络配置信息的自动切换了 1.使用nmcli命令查看设备以及连接情况

nmcli networkmanager 网路管理工具 nmcli 命令行管理工具 nmtui 命令行伪图形化管理工具

安装bash-completion,实现tab补全

[root@server ~]# yum install -y bash-completion

查看设备状态

[root@server ~]# nmcli device DEVICE TYPE STATE CONNECTION eth0 ethernet connected eth0 lo loopback unmanaged --

指定查看设备的详细状态

[root@server ~]# nmcli device show eth0 GENERAL.DEVICE: eth0 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:E0:C7:9A

查看连接状态

[root@server ~]# nmcli connection NAME UUID TYPE DEVICE eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0 2.使用nmcli创建新的连接

新增一个静态地址的连接, 配置IP、掩码、网关等

静态地址添加流程

1.添加一个连接的配置

2.给连接指定一个名称

3.连接配置绑定物理网卡

4.网卡的类型,网卡开机启动

5.网卡通过什么途径获取地址(静态、dhcp)

6.配置对应的IP地址、掩码、网关、DNS

网络策略案例

案例1:新增网卡,修改网卡的参数为: IP:202.103.1.10/24 GW:202.103.1.1 DNS:223.5.5.5 223.6.6.6

nmcli connection add \ # 创建一个网络策略 con-name ens38 ifname ens38 \ con-name 添加网络策略名称 ifname 指定设备 type ethernet \ #接口类型 autoconnect yes \ #自动开关 一定要输入 ipv4.method manual \ #选择网络类型 dncp manual ipv4.addresses 202.103.1.10/24 \ #配置ip地址 ipv4.gateway 202.103.1.1 \ #配置网关 ipv4.dns 223.5.5.5 +ipv4.dns 223.6.6.6 \ #添加dns

 

正在上传…重新上传取消

案例2:新增一个ens38的网路策略修改参数为 IP:100.1.1.10/24 GW:100.1.1.1 DNS:223.5.5.5 223.6.6.6

nmcli connection add con-name ens38-100.1.1.1 ifname ens38 autoconnect yes type ethernet ipv4.method manual ipv4.addresses 100.1.1.10/24 ipv4.gateway 100.1.1.1 ipv4.dns 223.5.5.5 +ipv4.dns 223.6.6.6

 

nmcli connection down ens38 && nmcli connection up ens38-10.1.1.1

案例3:新增一个网络策略,网卡信息为: ip:1.1.1.1/24 gateway:1.1.1.254 dns:8.8.8.8 dns:5.5.5.5

nmcli connection add con-name ens37-1.1.1.1 ifname ens37 type ethernet autoconnect yes ipv4.method manual ipv4.addresses 1.1.1.1/24 ipv4.gateway 1.1.1.254 ipv4.dns 8.8.8.8 +ipv4.dns 5.5.5.5

 

案例4:新增一个网络策略,添加一个dncp的网络策略ens38-dhcp

nmcli connection add con-name ens37-dhcp ifname ens37 type ethernet autoconnect yes ipv4.method auto

 

正在上传…重新上传取消

3.使用nmcli修改已有的网络连接

1.取消开机自动激活网络

[root@server ~]# nmcli connection modify eth1-static autoconnect no

2.修改连接的dns

[root@server ~]# nmcli connection modify eth1-static ipv4.dns 8.8.8.8

3.给连接再增加dns,有些设定值通过+/-可以增加或则移除设定

[root@server ~]# nmcli connection modify eth1-static +ipv4.dns 8.8.8.8

4.替换连接的静态IP和默认网关

[root@server ~]# nmcli connection modify eth1-static ipv4.addresses 172.16.2.10/24 ipv4.gateway 172.16.2.254

5.添加一个没有默认网关的IP

[root@server ~]# nmcli connection modify eth1-static +ipv4.addresses 10.0.0.201/24

6.修改完毕,nmcli仅仅修改并保存了配置,要激活更改,需要重激活连接

[root@server ~]# nmcli connection down eth1-static && nmcli connection up eth1-static ​ 删除自建的connection [root@server ~]# nmcli connection delete eth1-static 案例

案例4:修改ens38-100.1.1.1的IP地址为100.1.1.111/24 nmcli connection modify ens38-100.1.1 ipv4.addresses 100.1.1.111

 

案例5:修改ens38-100.1.1.1的ip地址为100.1.1.222/24 修改策略名为ens38-100.1.1.222

nmcli connection modify ens38-10.1.1 con-name ens38-10.1.1.222

 

4.使用nmcli管理网络 /etc/sysconfig/network-scripts/配置文件

1.新增物理网卡

2.拷贝配置文件(可以和设备名称一致)

3.修改配置,UUID、连接名称、设备名称、IP地址等

4.重新加载网络配置

5.启用连接,并检查

创建新网卡配置文件 [root@server ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none           #none表示手动获取,dhcp表示dhcp获取 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth1 DEVICE=eth1 ONBOOT=yes #UUID=               #注释掉,系统会自动生成,如果存在会导致UUID冲突 IPADDR=192.168.100.10 PREFIX=24 #PREFIX和NETMASK不能共存 #NETMASK=255.255.255.0 GATEWAY=192.168.100.1 DNS1=223.5.5.5 DNS2=8.8.8.8 ​ //手工编辑正在使用的配置文件,需要重载配置,然后重启 [root@server ~]# nmcli connection reload [root@server ~]# nmcli connection down eth1 && nmcli connection down eth1

5.使用原生Network管理网络

CentOS/RHEL 的网络配置文件默认目录为 /etc/sysconfig/network-scripts

默认第一块物理网卡配置文件为 ifcfg-eth0 , 如果有第二块物理网卡, 配置文件则为 ifcfg-eth1 以此类推。 注意: 如果新增物理网卡没有配置文件,可选择复制系统默认的进行修改。

删除 NetworkManger 建立连接, 同时停止 NetworkManger 服务

[root@localhost network-scripts]# systemctl disable NetworkManager [root@localhost network-scripts]# systemctl stop NetworkManager

添加一块物理网卡, 然后新增网络连接配置文件

 

复制配置eth0配置文件为eth1

[root@server ~]# cp /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1}

编辑网卡配置文件

[root@nginx ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes NAME=eth1 DEVICE=eth1 ONBOOT=yes IPADDR=192.168.56.12 NETMASK=255.255.255.0 GATEWAY=192.168.56.2 DNS1=223.5.5.5

重启network网络服务加载网络 [root@server ~]# systemctl restart network.service //选项 描述 BOOTPROTO=none //获取地址方式[none|dhcp|static] IPADDR=192.168.56.12 //固定IP地址 PREFIX=24 //掩码 GATEWAY=192.168.56.2 //网关 DNS1=192.168.56.2 //域名解析 DEVICE=eth1 //设备名称 NAME="eth1" //连接名称 ONBOOT=yes //开机自启动 DEFROUTE=yes //将接口设定为默认路由[yes|no] USERCTL=yes //允许非root用户管理接口[yes|no] 案例

案例1:新增网卡,修改网卡的参数为: IP:192.168.1.10/24 GW:192.168.1.1 DNS:223.5.5.5 223.6.6.6、 1.复制其他网卡信息

cd /etc/sysconfig/network-scripts/ cp /etc/sysconfig/network-scripts/ifcfg-ens3{3,7}

 

2.修改ens37网卡信息

vim ifcfg-ens37

TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens37" #网卡名称 DEVICE="ens37" #设备名称 ONBOOT="yes" IPADDR="192.168.1.10" #ip地址 PREFIX="24" #子网掩码 GATEWAY="192.168.1.1" #网关 DNS1="223.5.5.5" #DNS DNS2=223.6.6.6 IPV6_PRIVACY="no"

 

3.ifdown ens36 && ifup ens36 重启网卡

案例2:新增网卡,修改网卡的参数为: IP:172.16.1.10/16 GW:172.16.1.1 DNS:223.5.5.5 223.6.6.6

步骤1:添加网卡 步骤2:查看网卡设备名以及网卡名 ifconfig

 

步骤3:复制ens36的网卡信息 cd /etc/sysconfig/network-scripts/ cp /etc/sysconfig/network-scripts/ifcfg-ens3{3,7}

 

步骤4:修改网卡信息 vim ifcfg-ens37

TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens37" DEVICE="ens37" ONBOOT="yes" IPADDR="172.16.1.10" PREFIX="16" GATEWAY="172.16.1.1" DNS1="223.5.5.5" DNS2=223.6.6.6 IPV6_PRIVACY="no"

 

步骤5:将网卡重新启动 ifdown ens37 && ifup ens37

 

6.Route设置路由以及网卡

Linux 主机之间是使用IP进行通信,假设A主机和B主机同在一个网段内且网卡都处于激活状态,则A具备和B直接通信的能力,但如果A主机和B主机处于两个不同的网段,则A必须通过路由器才能和B通信,路由器术语IT设备的基础设施,每一个网段都应该至少有一个网关

增加网段路由 [root@server ~]# route add -net 192.168.90.0/24 gw 192.168.56.254 [root@server ~]# route add -net 0.0.0.0/0 gw 192.168.56.254 ​ 删除网段路由 [root@server ~]# route del -net 192.168.90.0/24 [root@server ~]# route del -net 0.0.0.0/0 gw 192.168.56.254 ​ 增加主机路由 [root@server ~]# route add -host 192.168.70.1 gw 192.168.56.254 ​ 删除主机路由 [root@server ~]# route del -host 192.168.70.1/32 ​ 查看当前路由表 route -n

如果重启,配置信息就不存在,必须将这种配置信息写道相关的配置文件中才能永久保存

7.主机名设定与名称解析服务

生产环境中必须配置主机名,同时主机名也需要遵循一定的规范,比如:

公有云: 地区-项目-业务-服务-节点-地址 bj-shop-register-nginx-node1-192.168.56.13 bj-med-pay-mysql-master01-192.168.56.11 bj-med-pay-mysql-slave01-192.168.56.12 1)主机名查看与配置 hostname命令可以查看主机名, 也可以用于临时修改主机名 [root@server ~]# hostname "test" CentOS7系统建议使用hostnamectl修改和查看主机名 ​ 设定永久名称 [root@server ~]# hostnamectl set-hostname nginx.node1.server.com ​ 永久修改主机名会修改/etc/hostname文件 [root@server ~]# cat /etc/hostname nginx.node1.server.com ​ 检查状态信息 [root@server ~]# hostnamectl Static hostname: nginx.node1.server.com Icon name: computer-vm Chassis: vm Machine ID: af0cdce735c041eab3a8df17dd08c112 Boot ID: 72d7e90f0edb4880978eb18e73d4764c Virtualization: vmware Operating System: Red Hat Enterprise Linux server 7.4 (Maipo) CPE OS Name: cpe:/o:redhat:enterprise_linux:7.4:GA:server Kernel: Linux 3.10.0-693.el7.x86_64 Architecture: x86-64 2)DNS客户端配置

letc/hosts文件,加快域名解析,方便小型局域网用户使用内部设备

假设公司有AB两台主机,B主机添加的IP为192.168.69.12,为了方便访问B主机,可以在A主机的/etc/hosts文件中添加一条记录

192.168.69.12 hostB

完成后在A主机上使用ping命令测试到B主机的连通性,如果没有添加记录,将会显示unknown hosthostB的错误

使用hosts文件仅能为有限的主机记录,无法将所有已知的主机名记录到hosts文件中,因此当今几乎所有的主机都在使用DNS来解析地址, DNS是全互联网上主机名及其IP地址对应关系的数据库,配置文件/etc/resolv.conf

#[root@server ~]# cat /etc/resolv.conf # Generated by NetworkManager search node1.server.com nameserver 211.161.122.2 8.网络检测工具与故障排查

ping命令的目的在于测试另一台主机是否可达, 如果ping不到某台主机,就说明对方主机已经出现了问题, 但是不排除由于链路中的防火墙、ping被丢弃等原因造成ping不通的情况。

-c 指定ping的次数 -i 指定ping包的发送间隔 -w 如果ping没有回应, 则在指定超时时间后退出

host/nslookup命令是用来查询DNS记录的,如果使用域名作为host的参数, 命令返回该域名

[root@server ~]# host www.baidu.com www.baidu.com is an alias for www.a.shifen.com. www.a.shifen.com has address 111.13.100.91 www.a.shifen.com has address 111.13.100.92 [root@server yum.repos.d]# nslookup www.baidu.com Server: 223.5.5.5 Address: 223.5.5.5#53 Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. Name: www.a.shifen.com Address: 111.13.100.91 Name: www.a.shifen.com Address: 111.13.100.92

trace out 命令是用来路由跟踪,检测网络故障出现在ISP运营商或是对端服务无法响应

[root@server ~]# yum install -y traceroute [root@server yum.repos.d]# traceroute www.baidu.com traceroute to www.baidu.com (111.13.100.91), 30 hops max, 60 byte packets 1 gateway (10.0.0.254) 0.209 ms 0.264 ms 0.203 ms 2 * * * 3 * * * 4 * * *

ss/netstat命令查看网络连接状态

-t tcp协议的连接 -a 所有状态的连接 -n 数字化输出 -u upd协议的连接 -l 处于listen状态的连接 -p 输出相应进程的名字 1. Show TCP sockets (LISTEN) [root@server~]# ss -tnl [root@server~]# ss -tnl |grep :80 [root@server~]# ss -tnl |grep :21 [root@server~]# ss -atn [root@server~]# ss -atn |grep :22 ​ 常见端口 http 80/tcp https 443/tcp ssh 22/tcp ftp 20,21/tcp mysql 3306/tcp rsync 873/rsync redis 6379/tcp 9 网络故障排查 网络故障分为硬件\软件故障

网卡损坏

链路故障

网卡驱动不兼容

网络排查思路

1.ping本地回环口, 确定本机TCP/IP协议栈是否正常

2.ping本机IP地址, 确定本地设备以及驱动是否正常

3.ping同网段主机, 确定二层网络是否正常工作

4.ping网关地址, 确定本地与网络是否正常

5.ping公网地址, 确定本地路由是否正常

6.ping公网域名, 确定DNS客户端是否正常

服务故障排查思路

1.使用telnet检测端口是否开放

2.检查服务端防火墙以及SElinux

3.检查相应的权限是否配置正常

4.检查日志是否有异常

5.检查完毕后持续测试

建议: 所有的排查思路都从OSI七层模型由下往上逐一进行排查(学会看日志)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有