来谈谈:LINUX路由和QOS限速
在linux中学习命令的最好办法是学习Shell脚本编程,Shell脚本比起其他语言来学习简单,但是功能却十分强大.通过学习Shell编程,能让你掌握大量的linux命令。存眷和试用LINUX很长工夫了,但较少实践用起来,恰好单元需一个路由器,有闲置老机,提拔下本人实战才能吧!网上文章很多多少笔误,因而有些小妨害,但愿把此次履历总结下,为了忘怀的怀念。
安装好UBUNTUSERVER8.04后,设置双网卡:eth0为外网网卡,eth1为内网网卡,
sudovi/etc/network/interfaces
autoeth0
ifaceeth0inetstatic
address外网网卡IP
netmask子网掩码
gateway网关
autoeth1
ifaceeth1inetstatic
address内网网卡IP
netmask子网掩码
sudo/etc/init.d/networkingrestart
另有设置DNS服务器
sudovi/etc/resolv.conf(实践体系默许的其实不存在resolv.conf该文件,属于本人创立)
nameserver主DNS
nameserver后备DNS
要想使LINUX体系到达这类目标,起首得检察LINUX体系的内核中是不是翻开了IP转发功效,能够经由过程以下命令来检察:
sudocat/proc/sys/net/ipv4/ip_forward
假如用此命令前往的了局是0,那末就标明LINUX内核没有启用IP转发功效。就能够经由过程下示命令来启用:
sudoecho1>/proc/sys/net//ipv4/ip_forward
经由过程流动公网IP地点体例毗连互联的完成办法以下:
sudoiptablesCtnatCAPOSTROUTINGCs192.168.1.0/24-jSNATCCtoXXX.XXX.XXX.XXX
XXX是外网网卡IP,我的路由还没做防护,先埋没了,对IPTABLES还不熟习,呵呵。
用后发明还不克不及上彀,一番反省,还不可,暴汗……突然想起多是ISP对上彀网卡的MAC地点绑定了,我改……
实在就是在网卡设置文件中加一行pre-upifconfigeth0hwether88:88:88:88:88:88(MAC地点)
sudovi/etc/network/interfaces
autoeth0
ifaceeth0inetstatic
pre-upifconfigeth0hwether88:88:88:88:88:88
address外网网卡IP
netmask子网掩码
gateway网关
autoeth1
ifaceeth1inetstatic
address内网网卡IP
netmask子网掩码
sudo/etc/init.d/networkingrestart
能PING能了,网卡设置能保留,把NAT和QOS做成一剧本,设置主属为ROOT,不然运转无权限,开机时运转。
#!/bin/sh
#BYZWY090916
#Coyotelocalcommandinitscript
echo"1">/proc/sys/net/ipv4/ip_forward
#翻开内核IP转发功效
iptables-APOSTROUTING-tnat-s192.168.1.0/24-jSNAT--toXXX.XXX.XXX.XXX
#设置IP转发划定规矩,但没有做任何防护:裸奔!呵呵。
ODEV="eth0"#外网网卡
IDEV="eth1"#内网网卡
UP="64kbps"#下行总带宽:注重单元实在应当是KB/S,TC写法云云没举措,以下同单元。
DOWN="256kbps"#下行总带宽
UPLOADrate="4kbps"#限速局限IP下行包管带宽
UPLOADceil="32kbps"#限速局限IP下行最年夜带宽
DOWNLOADrate="16kbps"#限速局限IP下行包管带宽
DOWNLOADceil="128kbps"#限速局限IP下行最年夜带宽
INET="192.168.1."#限速网段
IPS="100"#限速局限肇端IP
IPE="110"#限速局限停止IP
outdown="4kbps"#不在限速局限IP共享(总)下行速率
outup="1kbps"#不在限速局限IP共享(总)下行速率
tcqdiscdeldev$ODEVroot2>/dev/null#扫除行列划定规矩(初始化)
tcqdiscdeldev$IDEVroot
12下一页
使用gcc或g++进行编译,使用gdb进行调试;
来谈谈:LINUX路由和QOS限速
linux系统的文件布置,etc/,opt/目录的内容等;2>/dev/null</P> tcqdiscadddev$ODEVroothandle10:htbdefault2254#设置根行列
tcqdiscadddev$IDEVroothandle10:htbdefault2254
tcclassadddev$ODEVparent10:classid10:1htbrate$UPceil$UP#设置总速率
tcclassadddev$IDEVparent10:classid10:1htbrate$DOWNceil$DOWN
#入手下手设置限速局限IP划定规矩
i=$IPS;
while[$i-le$IPE]
do
tcclassadddev$ODEVparent10:1classid10:2$ihtbrate$UPLOADrateceil$UPLOADceilprio1
tcqdiscadddev$ODEVparent10:2$ihandle100$i:pfifo
tcfilteradddev$ODEVparent10:protocolipprio100handle2$ifwclassid10:2$i
tcclassadddev$IDEVparent10:1classid10:2$ihtbrate$DOWNLOADrateceil$DOWNLOADceilprio1
tcqdiscadddev$IDEVparent10:2$ihandle100$i:pfifo
tcfilteradddev$IDEVparent10:protocolipprio100handle2$ifwclassid10:2$i
iptables-tmangle-APREROUTING-s$INET$i-jMARK--set-mark2$i
iptables-tmangle-APOSTROUTING-d$INET$i-jMARK--set-mark2$i
i=`expr$i+1`
done
#不在限速局限IP划定规矩
tcclassadddev$ODEVparent10:1classid10:2254htbrate$outupceil$outupprio1
tcqdiscadddev$ODEVparent10:2254handle100254:pfifo
tcfilteradddev$ODEVparent10:protocolipprio100handle2254fwclassid10:2254
tcclassadddev$IDEVparent10:1classid10:2254htbrate$outdownceil$outdownprio1
tcqdiscadddev$IDEVparent10:2254handle100254:pfifo
tcfilteradddev$IDEVparent10:protocolipprio100handle2254fwclassid10:2254
这些都是我亲身做并确保能用的,除非笔误。但愿对老手有效。
另就教下妙手:帮我看下QOS剧本,用TC命令时已创建一个盘算每一个IP毗连速率的东东(不知如何称号,或叫缓冲区吧),可不成在另外一个剧本中挪用这些数据,用来显现每IP正在利用的流量?能不克不及给些提醒大概帮写个剧本
</p>上一页12
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。 linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创! 编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。 首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。 一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。 其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。 眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。 Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。 和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
页:
[1]