/etc/sysconfig/network-scripts/ifcfg-eth0
[root@c1node01 ~]# service network restart
1 DMA 将 NIC 接收的数据包逐个写入 sk_buff ,一个数据包可能占用多个 sk_buff , sk_buff 读写顺序遵循FIFO(先入先出)原则。
大家好,又见面了,我是你们的朋友全栈君。一、什么是bonding Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余 二、bonding应用方向 1、网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding 2、网络冗余 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份 三、bonding实验环境及配置 1、实验环境 系统为:CentOS,使用2块网卡(em1、em2 ==> bond0)来实现bonding技术 2、bonding配置 第一步:先查看一下内核是否已经支持bonding 1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译 modprobe -l bond* 或者 modinfo bonding modprobe bonding lsmod | grep ‘bonding’ echo ‘modprobe bonding &> /dev/null’ >> /etc/rc.local(开机自动加载bonding模块到内核) which ifenslave 注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译 2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核 (1)编译bonding tar -jxvf kernel-XXX.tar.gz cd kernel-XXX make menuconfig 选择 ” Network device support ” -> ” Bonding driver support “ make bzImage make modules && make modules_install make install (2)编译ifenslave工具 gcc -Wall -O -I kernel-XXX/include ifenslave.c -o ifenslave 第二步:主要有两种可选择(第1种:实现网络负载均衡,第2种:实现网络冗余) 例1:实现网络冗余(即:mod=1方式,使用em1与em2) (1)编辑虚拟网络接口配置文件(bond0),并指定网卡IP vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.254 BROADCAST=192.168.0.255 NETMASK=255.255.255.0 NETWORK=192.168.0.0 GATEWAY=192.168.0.1 USERCTL=no TYPE=Ethernet 注意:建议不要指定MAC地址 vi /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes 注意:建议不要指定MAC地址 vi /etc/sysconfig/network-scripts/ifcfg-em2 DEVICE=em2 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes 注意:建议不要指定MAC地址 (2)编辑模块载入配置文
之前在机房部署了PPTP的V**环境,后面发现有的同事使用的mac本不能连接PPTP,原因是IOS10.0系统以后就不支持PPTP的V**了,于是打算将V**更换L2TP类型的。 L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处: 1)PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接; 2)PPTP使用单一隧道,L2TP使用多隧道; 3)L2TP提供包头压缩、隧道验证,而PPTP不支持。 4)L2TP的可应用性更为广泛,很多路由不支持PPTP穿透
今天有个需求是开通防火墙,听起来任务难度不大吧,如果按照客户端和端口来细分,匹配下来需要开通的有近400多台。 所以任务艰巨,关键是提供的列表中含有多个环境的负责人,没有按照环境属主来分,所以如果从列表中一一查找,开通权限,那就得折腾一整天,眼睛熬得通红,而且还没啥技术含量。 而且还有个坑,因为列表中时不时会出来几个unix环境,开通的方式方法又不同,而且之前听说配置有误还导致服务器重启,所以对于unix开通防火墙都是规规矩矩,不敢越雷池一步。 这个时候如果放到批量脚本里,也还是不合适的,因为会有很多的隐
Docker 默认的桥接网卡是 docker0。它只会在本机桥接所有的容器网卡,举例来说容器的虚拟网卡在主机上看一般叫做 veth* 而 Docker 只是把所有这些网卡桥接在一起,如下:
使用KVM(基于内核的虚拟机)+ QEMU的虚拟化。 需要具有Intel VT或AMD-V功能的CPU。 安装KVM [root@kvm-centos7 ~]# yum -y install q
Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制。 接收包从输入接口进来后,经过流量限制丢弃不符合规定的数据包,由输入多路分配器进行判断选择:
eth0: negotiated 100baseTx-FD, link ok 100M
可能有些人会觉得这个操作没有实际的意义,但是真实的情况是我们在做一些操作的时候,往往需要进行批量处理,如果说每台主机的网卡名都是一样的,这就给我们提供了很大的便利,我们可以进行批处理操作
参考:http://loveyan.blog.51cto.com/829079/745164
网卡命名规则受biosdevname和net.ifnames两个参数影响 如果你的网卡名不是eth0怎么设置为eth0呢?
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/79582944
之前写的脚本中获取 IP 地址时,未考虑虚拟网卡的情况(docker 创建的虚拟网卡),导致脚本失败,故总结下网卡相关知识。
注意:在网卡的IP地址对应的配置文件中,如果配置的是外网的网卡对应得配置文件,那么,GATEWAY必须要填写,如果配置的是内网的网卡对应的配置文件,那么,GATEWAY必须为空,或者注释掉此项。
CentOS6.3 KVM下设置网卡为桥接模式 KVM的默认网络模式为NAT,就是说借助宿主机模式上网,现在我们想改成桥接模式,这样外界就可以直接和宿主机里的 虚拟机通讯了。 1,首先看一下默认的网络设置 # cat /etc/libvirt/qemu/networks/default.xml <network> <name>default</name> <uuid>1f118032-0345-4725-adcf-6b94f6aca19c</uuid> <bridge name="virbr0" /> <mac address='52:54:00:F1:6B:6E'/> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.122.2" end="192.168.122.254" /> </dhcp> </ip> </network> 2,再看一下虚拟机配置文件里面的网络设置 #cat /etc/libvirt/qemu/ubuntu10.04.xml <domain type='kvm'> <name>ubuntu10.04</name> <uuid>2eeb1395-39a2-a169-4da3-f22b20a1d34f</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='rhel6.3.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/var/lib/libvirt/images/ubuntu10.04.img'/> <target dev='vda' bus='virtio'/> </disk> <disk type='block' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hdc' bus='ide'/> <readonly/> </disk> <controller type='usb' index='0'> </controller> <controller type
(1)kvm只支持x86平台 (2)依赖于 HVM,inter VT AMD-v
数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接收者能够阅读
第一次接触ubuntu系统,之前用的都是centos系统,因此也需要知道ubuntu的基本操作,跟centos的差别还是很大的。
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
因为有Qmsg酱 这样的一个QQ通知服务,于是我想做一个版本更新通知的东西玩玩,宝塔版本更新通知的我已经搞定了,宝塔是开源的没有加密,分析一下面板代码接口就出来了,刚好最近授权了一个小储云程序,于是也想做一个小储云商城通知更新的程序,代码肯定是加密的请求的数据无从分析啊这! 我百度了一下看到有设置curl代理的,然后通过fiddler去监听数据,这PHP文件是加密的,设置个毛线啊! 后来问了一下技术交流群里面有没有做过这种PHP抓包请求,有个群友给出是直接用fiddler去抓包,我也提前说了是PHP内的请求,设置代理的方式也不行,那要怎么用fiddler抓,后来一想PHP环境是在本地的话确实是可以用fiddler去抓的,我一直都是使用的sftp代码自动上传的方式去写代码的,没有本地环境(本地环境特别难用,没一个好用的,也推荐大家使用sftp/ftp代码自动上传的方式,PHP本来就是脚本语言不需要编译可以直接运行,用服务器做环境多爽也不容易出错,和生产环境一模一样),我还是不想再本地搭环境,于是想到了直接在服务器内抓包,先是找到了tcpdump这个抓包的,但是运行他的不管什么参数都报错=用不了,最后又看到了tshark,这个非常的好用!抓包出来的数据也非常的详细,接下来正文开始喽!
1、原理:在路由器后(PSOTROUTING)将内网的ip地址修改为外网网卡的ip地址。
前面介绍了BCC可观测性和BCC网络,但对底层使用的eBPF的介绍相对较少,且官方欠缺对网络方面的介绍。下面对eBPF进行全面介绍。
由于集群是生信所有分析工作的基础,我们所用的 IBM LSF 集群一共有 30 多个计算节点,其中还包括了 2 个大内存 fat 节点,log 节点挂掉后,整个生信部门几十号人的工作都没法正常进行,情况可谓是非常紧迫。负责硬件的同事在加班加点联系供应商更换主板后,终于可以把系统启动起来,但是问题也来了:
在日常linux管理工作中,需要为应用配置单独的IP地址,以达到主机与应用的分离,在应用切换与迁移过程中可以做到动态切换,特别是在使用HA的时候,这种方案可以保证主机与应用的隔离,对日常的运维有很大的益处.
1.基本工具2.网络查看与配置2.1 网络查看2.2 网络配置3.网关查看及配置3.1 查看网关(或者路由)3.2 网关配置4.网络故障排除5.网络服务管理5.1 概论5.2 实践5.3 主机名5.4 静态IP配置方式15.5 静态IP配置方式2
前阵子碰到suse linux下网卡重命名的问题,是在虚拟机上安装RAC,通过复制虚拟机后需要完成的。与redhat linux,以及oralce linux不同的处理方式,下面将其记录下来,供参考。
可以在 /etc/sysconfig/iptables 中的 filter 和 nat 部分进行配置
简单说来,LLDP是一种邻近发现协议。它为以太网网络设备,如交换机、路由器和无线局域网接入点定义了一种标准的方法,使其可以向网络中其他节点公告自身的存在,并保存各个邻近设备的发现信息。例如设备配置和设备识别等详细信息都可以用该协议进行公告。
1)现象说明 公司IDC机房里的一台线上服务器硬件报警,最后排查发现服务器主板坏了,随即联系厂商进行更换主板,最后更换后,登录服务器,发现网卡绑定及ip信息都在,但是ip却ping不同了,进一步排查,重启网卡,提示之前的eth0和eth1网卡设备发现不了了,也就是说服务器主板更换后,之前的网卡设备都识别不了了! 主板更换后,重启并登陆服务器,发现之前的网卡设备(eth0、eth1、eth2、eth3)都没有了! [root@kevin01 ~]# ifconfig -a bond0 Link enc
今天这篇给自己解释了一下为什么 Linux veth0/1 + bridge ping 不通。 原因都在 ip route show table local 输出里。直接上步骤:
1、开机启动,在grub菜单时按e,进入grub菜单,找到linuxl6 /vmlinuz-3.10行,最后加上init=/bin/sh
Linux内核在2022年主要发布了5.16-5.19以及6.0和6.1这几个版本,每个版本都为eBPF引入了大量的新特性。本文将对这些新特性进行一点简要的介绍,更详细的资料请参考对应的链接信息。总体而言,eBPF在内核中依然是最活跃的模块之一,它的功能特性也还在高速发展中。某种意义上说,eBPF正朝着一个完备的内核态可编程接口快速进化。
wget http://openvswitch.org/releases/openvswitch-1.2.2.tar.gz ;
2.启动lldpad服务:systemctl start lldpad | 开机启动:systemctl enable lldpad
在生产工作中,后端服务器并不可能永远都处于正常运行状态,若服务器发生宕机,为了不影响正在进行的业务以及给用户更好的体验,我们可以通过keepalived监控后台服务器运行情况,当有服务器发生故障时,会从把该服务器剔除出LVS转发策略;等到服务器恢复正常后,keepalived也会重新把该服务器加入LVS转发策略中。
这两天由于测试需求需需要查看服务器上有几个网卡以及每个网卡信息等,因此收集一些查看这些信息的方法。
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/54135565
在日常运维工作中,会碰到服务器带宽飙升致使网站异常情况。作为运维人员,我们要能非常清楚地了解到服务器网卡的流量情况,观察到网卡的流量是由哪些程序在占用着。 今天介绍一款linux下查看服务器网卡流量占用情况的工具:Nethogs,来自github上的开源工具。 它不依赖内核中的模块。当我们的服务器网络异常时,可以通过运行nethogs程序来检测是那个程序占用了大量带宽。节省了查找时间。 Nethogs安装: 方法一:在epel源中可以直接yum安装 [root@dev src]# yum install -
在选择好系统镜像之后,如果选择安装程序光盘映像文件,会自动安装系统,虽然方便,但是会安装太多的服务和程序,并且会自动分区,所有我们选择稍后安装系统来手动的安装系统。
背景环境:开发人员不能上外网,但又有一些比较特殊的站点需要用到,所有用squid进行透明代理上网,之前想到haproxy,后来查阅资料貌似haproxy只能转发不能代理上网。
启动命令 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl stop firewalld 禁用: systemctl disable firewalld 启用: systemctl enable firewalld 添加端口开放: firewall-cmd --zone=public --add-port=2380/tcp
em1='/etc/sysconfig/network-scripts/ifcfg-em1'
1)、主要功能:负责点到点(point-to-point)的传输(这里的“点”指主机或路由器)
An IP address is the identifier that enables our device to send or receive data packets across the internet. It holds information related to our location and therefore making devices available for two-way communication.
此文是对尝试 https://github.com/csmart/virt-infra-ansible 的记录。
配置主机默认路由在想要连接外网的服务器上删除原有路由,添加新路由[root@db-server ~]# ip route | grep defaultdefault via 192.168.1.1 dev em1 [root@db-server ~]# ip route del default [root@db-server ~]# ip route add default via 192.168.1.254 dev em1测试连接[root@db-server ~]# ping www.baidu.com
领取专属 10元无门槛券
手把手带您无忧上云