在那些免费网站做宣传效果好,做品牌折扣的网站,wordpress电影模板,电脑做网站主机空间本篇记录Linux 的网卡配置以及网络服务的相关配置#xff0c;期望在了解的网卡的配置内容的基础上#xff0c;对网络问题能进行配置文件的排查。网络问题是非常复杂的#xff0c;本篇不涉及抓包和网络的其他问题排查。 一、网络配置文件
网络配置文件有很多#xff0c;常见… 本篇记录Linux 的网卡配置以及网络服务的相关配置期望在了解的网卡的配置内容的基础上对网络问题能进行配置文件的排查。网络问题是非常复杂的本篇不涉及抓包和网络的其他问题排查。 一、网络配置文件
网络配置文件有很多常见的有网口配置文件DNS 配置网关配置主机地址解析配置等。
主机名配置文件
先从简单的开始入手最简单就是我们最常见但是容易忽略的主机名了默认都是localhost
/etc/hostname
localhost[rootlocalhost ~]# root 用户 登录的 localhost 主机名的机器当前工作目录在root 用户家目录
[userlocalhost ~]$普通用户 user 登录的 localhost 主机名的机器当前工作目录在 user 用户家目录
主机名写入 /etc/hostname 文件中可以只写一段也可以用 . 分割一般不会在上面花太多功夫。主要是用来区分服务器的一个名字。如果有更新主机名记得顺带更新一下/etc/hosts
# 更新主机名更新HOSTNAME 以及hostname 返回值但不会修改/etc/hostname
hostname your_hostname# 更新主机名更新HOSTNAME 以及hostname 返回值会修改/etc/hostname 推荐方式
hostnamectl set-hostname your_hostname
DNS配置文件
man /etc/resolv.conf
nameserver Name server IP address
search Search list for host-name lookup.
The domain directive is an obsolete name for the search directive that handles one search list entry only.案例
nameserver 8.8.8.8
/etc/hosts 解析优先级比DNS高案例 加上解析后ping baidu.com 会解析成ping localhost
localhost baidu.com
网络配置文件
主机名、网关也可能在这里配置这里的网关配置优先级比网口配置的低影响默认路由这个文件可以为空但是不能删除。
/etc/sysconfig/network
GATEWAY10.0.0.1
网络限制文件
如下两个文件可以通过IP 限制访问貌似8版本上面没有了
man 5 hosts_access/etc/hosts.allow
/etc/hosts.deny
网络端口和服务信息
一些 IANA 记录的服务名称和传输协议端口号注册表可以看看端口一般对应的是什么服务或者服务的默认端口是什么
/etc/services
网口配置文件
网口配置文件很大程度上决定了服务器网络是否正常值得仔细了解一下网口配置文件都在/etc/sysconfig/network-scripts 目录下网口的命名规范可以看看如下博客
Linux 网卡命名规范笔记-CSDN博客
基础网口配置
/etc/sysconfig/network-scritps 目录下所有ifcfg-开头的文件都会被识别成网口文件备份网口文件请注意文件名前缀要修改。另外 # 号注释 。配置文件可以自己建但是具体到网口的设备名写错了无法生效的。ip a 可以看到所有的网口。
常见配置解释DEVICEeth0 网卡的名字HWADDR00:00:00:00:12:d9 HWADDR HardWare Address 硬件地址 MAC地址TYPEEthernet 网络类型 以太网UUIDae779ae6-044d-43d5-a33b-48c89e8de10e UUID 做到系统中独一无二ONBOOTyes BOOT ON ? 在开机或重启网卡的时候是否启动网卡NM_CONTROLLEDyes 是否受network程序管理BOOTPROTOnone 网卡是如何获取到ip地址 网卡获取ip地址的方式a. dhcp 自动获取ip地址b. none 固定的ip地址c. static 固定的ip地址IPADDR10.0.0.100 IPADDR ip地址NETMASK255.255.255.0 子网掩码GATEWAY10.0.0.2 网关 DEFROUTEyes 使用默认路由VLANyes trunk 模式的网络需要启用VLAN
极简配置如下配置网络服务就能跑起来但是建议加上MAC和BOOTPROTO
DEVICEens3
ONBOOTyes
IPADDR10.0.0.100
NETMASK255.255.255.0
GATEWAY10.0.0.1
有时候需要在网卡上绑定多个IP不太建议使用有两种办法
方式一在网口配置文件上加一行IPADDRXXX.XXX.XXX.XXX 适合同网段IP方式二复制一份网口文件命名ifcfg-xxx:0 区分修改DEVICE 和 相关的网络配置重启网络服务即可注意1、如果要配置其他网段的IP需要主机交换机端口是否支持虚拟机得注意是否有支持对应网段2、配置其他网段还需要注意路由配置很容易因为路由错误导致访问不通
如果控制台不方便访问修改网口配置请注意留定时任务来恢复到可以访问的状态修改网络配置是很容易断网导致访问不了服务器的情况。
网口绑定
为了保障服务器的高可用一般物理机会接入多条网线来减少网络中断的概率。此时需要做网口的汇聚或者主备目前工作中见到的主要分两类6版本系统上面在运行的bond 绑定以及7及7以上的team 绑定。都支持多种模式这里主要用到主备模式。
bond 绑定
目前6版本上貌似不支持team的配置所以还是用的bond 绑定。主要分两类配置一个是bond 的配置文件另外就是绑定网口配置的配置文件
在6版本上面配置bond 有很多奇奇怪怪的问题尽量保证控制台可以访问到再操作吧
bond 配置
1、创建网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICEbond0
NAMEbond0
TYPEBond
BONDING_MASTERyes
IPADDR#IP地址
NETMASK#子网掩码
GATEWAY#网关IP
ONBOOTyes
BOOTPROTOstatic
#下面的mode1是表示主备模式primaryem1中的em1是主网卡名称根据自己网卡名称变动
BONDING_OPTSmode1 miimon100 updelay600000 primaryem1
slave配置
2、配置slave 节点
从网卡一 注意MATSTER 别用bond0的UUID踩过坑可能对不上直接用bond的设备名就行
vi /etc/sysconfig/network-scripts/ifcfg-em1
DEVICEem1
NAMEem1
TYPEEthernet
BOOTPROTOnone
ONBOOTyes
MASTERbond0
SLAVEyes
从网卡二 就是设备名不一样其他内容都一样
vi /etc/sysconfig/network-scripts/ifcfg-em2
DEVICEem2
NAMEem2
TYPEEthernet
BOOTPROTOnone
ONBOOTyes
MASTERbond0
SLAVEyes
3、生效和检查
service network restart # 重启网络服务 有的是NetworkManager
ip a # 查看IP 是否在bond0 上
cat /proc/net/bonding/bond0|grep -A3 Interface # 查看bond0 状态
team0 绑定
team 绑定会更常见大致流程都是一样的。不过team 有管理命令维护更便捷
whereis teamdctl
teamdctl: /usr/bin/teamdctl /usr/share/man/man8/teamdctl.8.gz
rpm -qf /usr/bin/teamdctl
teamd-1.31-4.el8.x86_64# 查看模板文件 版本不同可能存在不同的位置,如果没有请检查是否有安装teamd软件
ls -l /usr/share/doc/teamd*/example_ifcfgs/1 目录下是 roundrobin 模板
2 目录下是 lacp 模板
3 目录下是 activebackup 模板 roundrobin模式是一种简单的轮询方式适用于负载均衡但不够灵活 当某个物理网卡出现故障时流量不会立即切换到其他网卡 lacp模式支持动态负载均衡具有更好的性能和可靠性但需要团队成员都支持LACP协议 成员之间动态地分配流量并在链路出现故障时立即将流量切换到其他可用链路 active-backup模式在性能和可靠性方面表现出色适用于高可用性场景主备模式 活动连接和备份连接之间实时监控当活动连接出现故障时备份连接立即接管流量 team 配置
1、编辑网卡配置文件 这里记录主备模式
vi /etc/sysconfig/network-scripts/ifcfg-team0
DEVICEteam0
DEVICETYPETeam
ONBOOTyes
BOOTPROTOstatic
NETMASK255.255.255.0
IPADDR10.0.0.100
GATEWAY10.0.0.1
TEAM_CONFIG{runner:{name:activebackup},link_watch:{name:ethtool}}
slave配置
2、编辑从网卡配置文件
DEVICEem1
DEVICETYPETeamPort
ONBOOTyes
TEAM_MASTERteam0
DEVICEem2
DEVICETYPETeamPort
ONBOOTyes
TEAM_MASTERteam0
3、生效和查看状态
systemctl restart NetworkManager # 如果有关闭NetworkManager的会用network
teamdctl team0 state
setup:runner: activebackup
ports:em1link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0em2link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0
runner:active port: em1
网桥配置文件
docker 的网桥模式kvm 主机的网桥模式需要将流量转发到虚拟的网桥处理最后从绑定的实际网口出入。可以用 brctl 或者 ip 命令配置也可以自己编辑配置文件这里介绍编辑配置文件的方式。
cat EOF /etc/sysconfig/network-scripts/ifcfg-br_10_0_8
TYPEBridge
NAMEbr_10_0_8
DEVICEbr_10_0_8
ONBOOTyes
BOOTPROTOstatic
EOF
然后在口配置文件上面添加BRIDGEbr_10_0_8 来将网桥绑定到网口上。也可以通过命令操作
brctl addif bridge device add interface to bridge
brctl show [ bridge ] show a list of bridges
VLAN 网口配置
交换机端口一般配置access 模式和trunk模式一般服务器常见的都是access模式。
access 模式属于一个VLAN可以简单理解为只能在同一个VLAN中通信不走路由的情况下
trunk 模式可以携带多个VLAN 简单理解就是支持多个VLAN 间通信不走路由的情况下
一个VLAN 可以简单理解为一个网段 如果我们需要在网卡或者聚合链路上面支持多个网段例如在KVM主机上需要支持多个网段的虚拟机网络通信或者docker 需要支持多个网段的容器实例网络通信时我们需要在交换机开启trunk 模式并修改操作系统上的网口配置注意如果从access切换到trunk 网口配置未更新网络是会断开的。 这里用team 聚合的方式演示直接用网口也是一样的
team 配置
我们需要一个网口这里用team0 聚合代替单个网口配置team 的salve节点这里省略
cat ifcfg-team0 EOF
DEVICEteam0
DEVICETYPETeam
ONBOOTyes
BOOTPROTOnone
USERCTLno
TEAM_CONFIG{runner:{name:activebackup},link_watch:{name:ethtool}}
EOF
管理IP 配置
这个配置的意思是是启用VLAN模式设备名写什么不重要重要的是绑定到team上后续从这个设备出去的网络包就会带上VLAN标签。trunk 模式配置主机 IP 也必须如此。
cat ifcfg-team0.11 EOF
DEVICEteam0.11
DEVICETYPETeam
VLANyes
ONBOOTyes
BOOTPROTOnone
IPADDR10.0.0.100
NETMASK255.255.255.0
GATEWAY10.0.0.1
USERCTLno
EOF
网桥绑定配置可选
这个是指将网桥绑定到这个team0.162 网口上网桥流量给到网口并启用VLAN模式
cat EOF /etc/sysconfig/network-scripts/ifcfg-team0.10
DEVICEteam0.10
VLANyes
DEVICETYPETeam
ONBOOTyes
BOOTPROTOnone
BRIDGEbr_10_0_8
EOF 二、网络服务
早些时候Centos 系列都是用的 network 服务通过脚本来管理和维护网络的后来有了NetworkManager 服务这个能做的事情更多。目前8版本 network 剥离出来不是必须安装的软件了
# 查看文件属于哪个软件包
rpm -qf /etc/sysconfig/network-scripts/
如果你发现网口配置文件没问题网络服务怎么重启也不生效而且你正在控制台而不是远程那么建议试试如下方式
ll /sys/class/net/ # 查看当前网络设备
ip a flush dev em1 # 清除 em1 网卡信息 慎重操作会断网逐个清除网口配置后再重启网络此时一般就能按照配置文件加载网络信息了 三、其他信息
这里简单记录一些有点关系但不多的东西
光纤卡与网卡的区分
平时服务器上有连接存储的需要或者对网速要求比较高的情况比如用SAN存储的得用HBA卡而用NAS存储的得用万兆网卡。然而放眼望去都是光口啊这哪分得清
光纤网卡多是1G和10GHBA卡多是4G和8G的16G这个够明显了吧。一般在网卡上会有写速率
关于交换机上看端口状态
交换机上面能看到链路是否正常通信是否正常
链路 UP无法在交换机上面单独看到交换机端口或者网卡是否UP
交换机到服务器物理链路正常即需要交换机口已开启服务器网口已开启网线正常的状态
通信 UP
网卡已配置IP可以通过协议进行通信的情况
注意检查链路是否正常需要开启网卡后再找交换机查看链路情况ethtool devicename 可以查看网口的链路状态如果是物理网口会有详细信息链路、速率、网口类型。 后续整理整理目前工作中有遇到过的网络问题排查另外写一篇可能会很长写了就把链接加到后面。