当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪统计网卡TX(发送)RX(接受)流量的shell脚本      显示网卡流量的方法有很多,一般我们可以通过dstat来查看,但dstat不一定所有的机器都有安装。 通过ifconfig可以看到某一网卡发送与接收的字节数,所以可以写一个脚本来统计。 先看ifconfig.........
    ▪了解Linux的/etc/services文件      问题:Linux的/etc/services文件里面定义的端口是有什么作用的? 简单说/etc/services文件是记录网络服务名和它们对应使用的端口号及协议。文件中的每一行对应一种服务,它由4个字段组成,中.........
    ▪Linux双网卡单网关设置      很多生产环境的服务器,网卡至少为两块,有的会在两块以上。 本文介绍Linux 上双网卡单网关设置方法。 想着测试一下 Cache 的服务器来跑 2 G 的流量看看。试着让自己的 IP 调度器上给那台.........

[1]统计网卡TX(发送)RX(接受)流量的shell脚本
    来源: 互联网  发布时间: 2013-12-24

显示网卡流量的方法有很多,一般我们可以通过dstat来查看,但dstat不一定所有的机器都有安装。
通过ifconfig可以看到某一网卡发送与接收的字节数,所以可以写一个脚本来统计。

先看ifconfig:
 

代码如下:
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 82:EC:7A:2B:7D:28
          inet addr:173.231.43.132  Bcast:173.231.43.143  Mask:255.255.255.240
          inet6 addr: fe80::80ec:7aff:fe2b:7d28/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5726191 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2883102 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:676588247 (645.2 MiB)  TX bytes:1438457672 (1.3 GiB)

可以看到RX(接受)与TX(发送)两个数据,于是我们的脚本出来了:
 

代码如下:
#!/bin/bash
alias ifconfig="/sbin/ifconfig"
eth=eth0
while true; do
RXpre=$(ifconfig ${eth} | grep bytes | awk '{print $2}'| awk -F":" '{print $2}')
TXpre=$(ifconfig ${eth} | grep bytes | awk '{print $6}' | awk -F":" '{print $2}')
sleep 1
RXnext=$(ifconfig ${eth} | grep bytes | awk '{print $2}'| awk -F":" '{print $2}')
TXnext=$(ifconfig ${eth} | grep bytes | awk '{print $6}' | awk -F":" '{print $2}')
echo RX ----- TX
echo "$((((${RXnext}-${RXpre})/1024)/1024))MB/s $((((${TXnext}-${TXpre})/1024/1024)))MB/s"
done

脚本很简单,可以添加一些参数判断,比如多长时间显示一次等等。
执行结果:
RX ----- TX
5MB/s 7MB/s
RX ----- TX
5MB/s 7MB/s
RX ----- TX
4MB/s 6MB/s
RX ----- TX
4MB/s 6MB/s
RX ----- TX


    
[2]了解Linux的/etc/services文件
    来源: 互联网  发布时间: 2013-12-24

问题:Linux的/etc/services文件里面定义的端口是有什么作用的?
简单说/etc/services文件是记录网络服务名和它们对应使用的端口号及协议。文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。

如图所示:

总结:/etc/services文件包含了服务名和端口号之间的映射,很多的系统程序要使用这个文件。一般情况下,不要修改该文件的内容,因为这些设置都是Internet标准的设置。一旦修改,可能会造成系统冲突,使用户无法正常访问资源。Linux系统的端口号的范围为0–65535,不同范围有不同的意义。
端口范围及说明:
0 不使用
1--1023 系统保留,只能由root用户使用
1024---4999 由客户端程序自由分配
5000---65535 由服务器端程序自由分配


    
[3]Linux双网卡单网关设置
    来源: 互联网  发布时间: 2013-12-24

很多生产环境的服务器,网卡至少为两块,有的会在两块以上。
本文介绍Linux 上双网卡单网关设置方法。

想着测试一下 Cache 的服务器来跑 2 G 的流量看看。试着让自己的 IP 调度器上给那台服务器在原来的基础上,加了 20% 权重,这样请求会多在原来的基础上多加 20% 的量。原来整个机器基本在 800M-900M 浮动。所以得使用另一个网卡来跑,不想绑定。这次因为新调节所以一直在监控着它的性能。

上面很明显,后面的数值越来越大,高于前面的平均 17%。发现很明显的性能下降。

原来的服务器环境:
网卡一(eth0)IP:112.253.xx.45   网关地址:112.253.xx.5
网卡二(eth1)IP:112.253.xx.160 网关地址:112.253.xx.5

然后上去使用 iftop 来看,发现所有的流量都在跑默认的网卡。所以流量出口其实还是没有变化,最多这么多.只能调用双线路由的技术,那个口进来的流量。由进来的那个口返回,也就是所谓的原路返回路由功能。先增加二个路由表信息:分别叫 net_eth0 和 net_eth1
 

代码如下:
$ vim /etc/iproute2/rt_tables
252 net_eth0
251 net_eth1

然后使用下面的命令对这二个路由表信息进行配置,并写入 rc.local
 

代码如下:

ip route flush table net_eth0
ip route add default via 112.253.xx.5 dev eth0 src 112.253.xx.45 table net_eth0
ip rule add from 112.253.xx.45 table net_eth0

ip route flush table net_eth1
ip route add default via 112.253.xx.5 dev eth1 src 112.253.xx.160 table net_eth1
ip rule add from 112.253.xx.5 table net_eth1

设置二个网卡接口上的默认的路由网关和 IP 。
因为是同一个段所以网关相同。
如果你要做电信网通二线路由来区分用户请求,就需要给他们分别设置成电信网通二个网关。
然后在设置什么样的来源通通过这二个路由表。

您可能感兴趣的文章:
Linux双网卡绑定设置详解
CentOS 5.3下激活broadcom双网卡
centos5下配置双网卡绑定
linux中双网卡bonding绑定的实现
solaris的双网卡绑定
ntos 5.4/6.* 双网卡绑定配置


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3