显示网卡流量的方法有很多,一般我们可以通过dstat来查看,但dstat不一定所有的机器都有安装。
通过ifconfig可以看到某一网卡发送与接收的字节数,所以可以写一个脚本来统计。
先看ifconfig:
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(发送)两个数据,于是我们的脚本出来了:
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
问题:Linux的/etc/services文件里面定义的端口是有什么作用的?
简单说/etc/services文件是记录网络服务名和它们对应使用的端口号及协议。文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”。
如图所示:
总结:/etc/services文件包含了服务名和端口号之间的映射,很多的系统程序要使用这个文件。一般情况下,不要修改该文件的内容,因为这些设置都是Internet标准的设置。一旦修改,可能会造成系统冲突,使用户无法正常访问资源。Linux系统的端口号的范围为0–65535,不同范围有不同的意义。
端口范围及说明:
0 不使用
1--1023 系统保留,只能由root用户使用
1024---4999 由客户端程序自由分配
5000---65535 由服务器端程序自由分配
很多生产环境的服务器,网卡至少为两块,有的会在两块以上。
本文介绍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
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.* 双网卡绑定配置