linux网络管理(链路聚合,Linux运维面试你必须要知道的那些知识

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:0f:a6:6a

Slave queue ID: 0

Centos6/RHEL6配置bond聚合链路

适用于RedHat6以及CentOS6

| 系统 | 网卡 | bond地址 | bond模式 | bond功能 |

| :-- | :-- | :-- | :-- | :-- |

| Centos6.5 | eth0: 172.16.12.128 eth1: 172.16.12.129 | 172.16.12.250 | 模式0 | 负载均衡 |

//1.创建绑定网卡配置文件

[root@wyh ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

TYPE=Ethernet

ONBOOT=yes

USERCTL=no

BOOTPROTO=static

IPADDR=172.16.12.250

NETMASK=255.255.255.0

GATEWAY=172.16.12.2

DNS1=172.16.12.2

BONDING_OPTS=“mode=0 miimon=50” //如果使用模式1将mode修改为1即可

//2.修改eth0和eth1网卡配置文件

[root@wyh ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

USERCTL=no

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

[root@wyh ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

TYPE=Ethernet

ONBOOT=yes

USERCTL=no

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

//3.添加驱动支持bond0

[root@wyh ~]# vim /etc/modprobe.d/bonding.conf

alias bond0 bonding

Centos7/RHEL7配置team聚合链路

centos/rhce7使用teaming实现聚合链路,能够提供网卡绑定之后的网络吞吐性能,并且提供网卡的故障切换处理能力。

Team是基于一个小型内核驱动实现聚合链路,在用户层提供teamd命令实现链路管理。

teamd可以实现以下模式的聚合链路

broadcast 广播容错

roundrobin 负载轮询

activebackup 主备(必考)

loadbalance 负载均衡

lacp 需要交换机支持lacp协议

//创建team0:

[root@localhost ~]# nmcli con add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:“activebackup”}}’ ipv4.addresses 192.168.100.250/24 ipv4.gateway 192.168.100.254 ipv4.dns 114.114.114.114 ipv4.method manual

连接“team0”(cae0a7dc-c9db-473b-bf5d-b6a9de8ade1b) 已成功添加。

//将物理网卡加入team0中:

[root@localhost ~]# nmcli con add type team-slave con-name ens38 ifname ens38 master team0

连接“ens38”(5e38d849-9783-445e-9498-35ba76c947fa) 已成功添加。

[root@localhost ~]# nmcli con add type team-slave con-name ens39 ifname ens39 master team0

连接“ens39”(3e5af9e6-a9b3-41ea-afeb-2c8180fecf90) 已成功添加。

[root@localhost ~]# nmcli dev

设备 类型 状态 连接

ens38 ethernet 连接的 ens38

ens39 ethernet 连接的 ens39

team0 team 连接的 team0

ens33 ethernet 未托管 –

lo loopback 未托管 –

//将其中一块网卡断掉后测试:

[root@localhost ~]# nmcli dev discon ens39

成功断开设备 ‘ens39’。

[root@localhost ~]# teamdctl team0 state

setup:

runner: activebackup //高可用模式

ports:

ens38

link watches:

link summary: up

instance[link_watch_0]:

name: ethtool

link: up

down count: 0

runner:

active port: ens38 //正在使用的是ens38

//把ens39网卡起来,然后查看team0的配置信息

[root@localhost ~]# nmcli dev con ens39

成功用 ‘ens39’ 激活了设备 ‘3e5af9e6-a9b3-41ea-afeb-2c8180fecf90’。

[root@localhost ~]# teamdctl team0 state

setup:

runner: activebackup //使用的是高可用模式

ports:

ens38

link watches:

link summary: up

instance[link_watch_0]:

name: ethtool

link: up

down count: 0

ens39 //起来了ens39

link watches:

link summary: up

instance[link_watch_0]:

name: ethtool

link: up

down count: 0

runner:

active port: ens38 //目前用的还是ens38

动态修改team模式

// 导出配置进行修改 (man teamd.conf)

[root@wangqing ~]# teamdctl team0 config dump > /tmp/team.conf

[root@wangqing ~]# vim /tmp/team.conf

{

“device”: “team0”,

“hwaddr”: “1A:E1:49:D1:02:AF”,

“mcast_rejoin”: {

“count”: 1

},

“notify_peers”: {

“count”: 1

},

“ports”: {

“ens38”: {

“link_watch”: {

“name”: “ethtool”

}

},

“ens39”: {

“link_watch”: {

“name”: “ethtool”

}

}

},

“runner”: {

“name”: “loadbalance”, //此处将avtivebackup改为loadbalance

“tx_hash”: [

“eth”,

“ipv4”,

“ipv6”

]

}

}

//以最新修改的配置选项修改team0属性

[root@wyh ~]# nmcli con mod team0 team.config /tmp/team.conf

//修改之后需要重启team0

[root@wyh ~]# nmcli connection down team0;nmcli connection up team0

[root@wyh ~]# nmcli connection up ens38

[root@wyh ~]# nmcli connection up ens39

[root@localhost ~]# teamdctl team0 stat

setup:

runner: loadbalance //现在使用的是loadbalance负载均衡模式

ports:

ens38

link watches:

link summary: up

instance[link_watch_0]:

name: ethtool

link: up

down count: 0

ens39

link watches:

link summary: up

instance[link_watch_0]:

name: ethtool

link: up

down count: 0

桥接网络配置

创建桥接网络br1

[root@wyh ~]# nmcli connection add type bridge con-name br1 ifname br1 ipv4.addresses 192.168.56.222/24 ipv4.method manual

桥接至eth1

[root@wyh ~]# nmcli connection add type bridge-slave con-name br1-prot1 ifname eth1 master br1

//[root@wyh~]# ping -I br1 192.168.56.1

//[root@wyh ~]# brctl show

网络检测工具与故障排查

ping

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

//ping命令常用选项:

-c 指定ping的次数

-i 指定ping包的发送间隔

-w 如果ping没有回应, 则在指定超时时间后退出

host与nslookup

host/nslookup命令用于查询DNS记录

[root@localhost ~]# host www.baidu.com

www.baidu.com is an alias for www.a.shifen.com.

www.a.shifen.com has address 119.75.216.20

www.a.shifen.com has address 119.75.213.61

[root@localhost ~]# nslookup www.baidu.com

Server: 172.16.12.2

Address: 172.16.12.2#53

Non-authoritative answer:

www.baidu.com canonical name = www.a.shifen.com.

Name: www.a.shifen.com

Address: 119.75.213.61

Name: www.a.shifen.com

Address: 119.75.216.20

traceroute

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

[root@wyh ~]# traceroute www.baidu.com

traceroute to www.baidu.com (119.75.213.61), 30 hops max, 60 byte packets

1 gateway (192.168.1.1) 1.838 ms 1.749 ms 1.654 ms

2 49.222.80.1 (49.222.80.1) 2.506 ms 7.196 ms 7.133 ms

3 * * *

4 * * *

5 * * *

netstat

netstat用于查看网络状态

//显示路由表

[root@wyh~]# netstat -r

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

default gateway 0.0.0.0 UG 0 0 0 ens33

172.16.12.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

//以数字方式显示路由表

[root@wyh ~]# netstat -rn

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

0.0.0.0 172.16.12.2 0.0.0.0 UG 0 0 0 ens33

172.16.12.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

//显示建立的tcp连接

[root@wyh ~]# netstat -t

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 seancheng:ssh 172.16.12.1:56187 ESTABLISHED

tcp 0 0 seancheng:ssh 172.16.12.1:53808 ESTABLISHED

//显示udp连接

[root@wyh ~]# netstat -u

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

[root@wyh ~]#

//显示监听状态的连接

[root@wyh ~]# netstat -l

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN

tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN

tcp6 0 0 [::]:ssh [::]😗 LISTEN

tcp6 0 0 localhost:smtp [::]😗 LISTEN

//显示监听指定的套接字的进程的进程号及进程名

[root@wyh ~]# netstat -p

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 seancheng:ssh 172.16.12.1:56187 ESTABLISHED 2094/sshd: root@pts

tcp 0 0 seancheng:ssh 172.16.12.1:53808 ESTABLISHED 1077/sshd: root@pts

//显示所有状态的连接

[root@wyh ~]# netstat -a

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN

tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN

tcp 0 0 seancheng:ssh 172.16.12.1:56187 ESTABLISHED

tcp 0 0 seancheng:ssh 172.16.12.1:53808 ESTABLISHED

tcp6 0 0 [::]:ssh [::]😗 LISTEN

tcp6 0 0 localhost:smtp [::]😗 LISTEN

udp 0 0 0.0.0.0:23511 0.0.0.0:*

udp 0 0 0.0.0.0:bootpc 0.0.0.0:*

udp6 0 0 [::]:35299 [::]😗

//常用选项

-antlp

[root@wyh ~]# netstat -antlp

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 889/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1007/master

tcp 0 0 172.16.12.128:22 172.16.12.1:56187 ESTABLISHED 2094/sshd: root@pts

tcp 0 0 172.16.12.128:22 172.16.12.1:53808 ESTABLISHED 1077/sshd: root@pts

tcp6 0 0 :::22 ::😗 LISTEN 889/sshd

tcp6 0 0 ::1:25 ::😗 LISTEN 1007/master

ss

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

面试题**

  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-CszydGKf-1712529959896)]

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值