Home > 运维知识
  • 【分享】Linux系统下通过策略路由实现多默认路由

    问题简述 一般地说,在Linux系统路由表内只能有一条默认路由。当出站数据包根据目的IP地址选路失败后,执行默认路由,交默认路由指向的下一跳路由器(默认网关)转发数据包。 现需要同时存在两条默认路由。数据包通过何种默认路由,由程序指定(或根据规则)。数据包通过特定的路由规则转发到对应的路由器。 在下文中,我们以如下的拓扑为例,介绍如何通过策略路由来实现上述需求。 服务器上安装有两块网卡,分别为p7p1和p7p2; 网卡p7p1:192.168.1.1/24,连接至路由器R1; 网卡p7p2:192.168.2.1/24,连接...
    阅读全文 →
  • 【分享】linux中关于ls -l命令显示的total的含义解释

    当在linux里使用ll或者ls -l命令查看文件详情时,会在第一行看到如下的字样:  total 20  drwxr-xr-x 8 user rnd 134 Apr 27 04:40 ./  drwxr-xr-x 6 user rnd 59 Apr 27 07:56 ../  drwxr-xr-x 8 user rnd 4096 May 3 08:13 .git/  -rw-r--r-- 1 user rnd 1374 Apr 27 04:40 .gitignore  -rw-r--r-- 1 user rnd 2710 Apr 27 04:40 info  drwxr-xr-x 3 user rnd 18 Apr 27 04:40 platform/  -rw-r--r-- 1 user rnd 163 Apr 27 04:40 project  drwxr-xr-x 4 user rnd 30 Apr 27 04:40 testsupport/  drwxr-xr-x 7 ...
    阅读全文 →
  • 【分享】解决服务器配置tcp_tw_recycle和tcp_timestamps导致connect失败问题

    近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参tcp_tw_recycle/tcp_timestamps相关; 1. 现象:  第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp timestamp,而模块B开启了tcp timestamp; 第二个现象:不同主机上的模块C(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1 connect成功,而主机C2 connect失败; 2. 分析 根据现象上述问...
    阅读全文 →
  • 【工作】Linux 实用的端口转发工具:socat安装使用记录

    写在前面: 在实际生产中我们经常会遇到到一个场景就是,用一台机器作为转发服务器,连接AB两个网段,将转发服务器的某个端口上的流量转发到B网段的某台机器的某个端口,这样A网段的服务器就可以通过访问转发服务器上的端口访问到B网段的服务器端口。   这样的场景一般在和客户建立专线的连接时候经常用到,一般也可以采用iptables做转发,但是比较复杂,socat可以很轻松的完成这个功能。   socat可以看做netcat(nc)的替代产品,作用是在两个流之间建立双向的通道,且支持众多协议和链接方式:ip,tcp,udp,ipv6,pip...
    阅读全文 →
  • 【工作】解决ACPI Error: No handler for Region错误导致linux系统自动重启

    报错现象: 线上有台服务器运行了了大概半年多,突然收到报警服务器重启了,可以确定不是人为操作导致的重启,以下是排查过程。   服务器品牌:Dell PowerEdge R720  系统版本:CentOS Linux release 7.1.1503 内核版本:3.10.0-229.el7.x86_64   查看messages日志报错信息如下: # tail -1000 /var/log/messages | grep -i error   查看dmesg报错信息如下: # dmesg | grep -E "error|Error|ERROR|fail|Fail|FAIL"  报错原因: 由于BIOS中开启了中断重映射,在ERST(芯片集中的错误校验表)校验时发生错误,...
    阅读全文 →
  • 【工作】Centos上ssh连接服务器缓慢的解决办法

    现象: 在机房内网中,用ssh连某台服务器非常慢,基本需要等待15-30秒才会提示让输入密码,但是ping目标机器,延时都是微秒级别,可见并非网络原因造成连接缓慢。 解决办法: 方法一: 修改本机的客户端配置文件ssh_conf,注意,不是sshd_conf  # vi /etc/ssh/ssh_config   找到: GSSAPIAuthentication yes   改为: GSSAPIAuthentication no   保存退出: # service sshd restart   再连目标机器,速度就飞快了。   解释:GSSAPI ( Generic Security Services Application Programming Interface) 是一套类...
    阅读全文 →
  • 【工作】Centos 7/6 内核版本由3.10.0 升级至 4.12.4方法

    【写在前面】 公司打算上Docker服务,目前需要安装运行环境,Docker新的功能除了需要Centos 7系统之外,内核的版本高低也决定着使用的效果,所以在此记录下系统内核版本升级过程。 注:对于线上环境的内核版本还需要根据实际情况谨慎选择,越新的版本未来可能遇到的问题越多,此文只是记录升级方法而已。 【文章内容】 关于内核版本的定义: 版本性质:主分支ml(mainline),稳定版(stable),长期维护版lt(longterm) 版本命名格式为 “A.B.C”: 数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候...
    阅读全文 →
  • 【基础】怎样在 CentOS 里下载 RPM 包及其所有依赖包

    前几天我尝试去创建一个仅包含我们经常在 CentOS 7 下使用的软件的本地仓库。当然,我们可以使用 curl 或者 wget 下载任何软件包,然而这些命令并不能下载要求的依赖软件包。你必须去花一些时间而且手动的去寻找和下载被安装的软件所依赖的软件包。然而,我们并不是必须这样。 在这个简短的教程中,我将会带领你以两种方式下载软件包及其所有依赖包。我已经在 CentOS 7 下进行了测试,不过这些相同的步骤或许在其他基于 RPM 管理系统的发行版上也可以工作,例如 RHEL,Fedora 和 Scientific Linux。 方法 1 利用 “...
    阅读全文 →
  • 【理论】Linux bond 网卡绑定配置和模式详解

    摘星怪  /
     / 基础知识
    【文章内容】 bonding简介 将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题。因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。 Linux的多网卡绑定功能使用的是内核中的"bonding"模块,关于此模块可以参考Linux Ethernet Bonding Driver文档, 但是目前发布各个Linux版本内核...
    阅读全文 →
  • 【工作】解决服务器重启后bond网卡无法正常通信

    摘星怪  /
     / 工作记录
    写在前面: 之前另外一个事业部刚成立时候没有运维,他们业务的所有服务器都由我们这边来安装配置,后来他们有自己的运维后,服务器和权限逐步移交过去了,但是最近那边运维反应我们之前装的一台服务器重启后,Web服务不能正常访问,希望帮忙查下问题。 问题描述: 这台服务器是他们前端Web服务器,上面配置的外网地址,现在现象是网站无法正常访问,通过telnet 80端口发现有时候成功有时候不成功。 解决过程: 经过排查防火墙等配置,发现没有问题,根据现象查看网卡配置,发现其中一个网卡的MAC地址跟bond的MA...
    阅读全文 →