1、作为根用户打开/etc/sysconfig/network文件,在文件增加以下一行: GATEWAYDEV=PPP0 这句话的作用是设定默认路由,有时没有也可
2、打开IP转发功能:打开/etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一行,改0改为1
3、重启系统 第三步,设置iptables防火墙,决定那些IP能通过linux主机上网。 下面以允许 192.168.0.0网段为例:
(1)、打开终端在#字提示符下输入以下命令:
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE #这句意思是伪装从pppo出去的
IP iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT #这句意思是转发来自192.168.0.0网段的通讯
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT #这句意思是转发到达192.168.0.0网段的通讯
iptables -A FORWARD -s ! 192.168.0.0/24 -j DROP #这句意思是拒绝转发非192.168.0.0网段的通讯。
(2)、保存以上防火墙规则,以保证重启后还有效 输入下面命令 iptables-save > /etc/sysconfig/iptables 这样,你的linux路由器应该就能跑起来了。
PS: 所有命令都要区分大小写。限速的实现:在linux中有专门限速的软件--tc,但TC的语法新手难以掌握,我们可以在防火墙上通过限定某个IP或某段IP在一秒内通过的数据包的数量来限速。 下面以限制192.168.0.2这个IP的网速为例说说。 在桌面环境下打开/etc/syscofngi/iptables 有没有发现,刚才的设定全记录在这个文件里,现在做的就在这个文件里添加规则就得了。
1、先要找到filter
2、在filter下面一行增加以下两行
-A FORWARD -m limit -d 192.168.0.2 --limit 30/sec -j ACCEPT # 这句意思是限定每秒只转发30个到达192.168.0.2的数据包(约每秒45KB 一个数据包是1.5KB)
-A FORWARD -d 192.168.0.2 -j DROP #这句作用是超过限制的到达192.168.0.2的数据包不通过)
(3)、重启系统,限速就实现了。
(4)、限制上传速度也一样,把上面两条中的d 改为s就得了。 限制每ip连接数 ,内核 2.3以上,否则要打conlimit补丁,重编译内核。
iptables -I FORWARD -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT
iptables -I INPUT -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT
网络分析与限速
网络现状:
允许所有的数据通信。网络可管理,需手动进行。租用的线路下载速度是
2M
,上传
512K
。
目的:
达到网络检测的自动化,智能管理,保证网络畅通无阻塞。
方法:
根据
IP
地址进行数据包分析,通过脚本实现
要求:
充分利用带宽,对合理数据需要通过,不合理数据通信进行拒绝。
一:现在网络存在以下弊端
P2P
类软件主要有:
下载类工具:迅雷,
TT
,
Flashget, BT,
电骡,
youtub
……。
在线播放工具:
PPLIVE ,PPS,
沸点,酷我音乐盒,酷狗音乐……。
1
.用户下载过程若不用
P2P
下载,速度相对较慢。
网内若运行
P2P
下载软件,没有及时关闭,数据上传功能会耗尽上传带宽,导致整个网络速度变慢。
2
.现在检测网络的方法是每天上班时间定时检查四次,将网络状态发信到管理员信箱,
管理方法:发现网络异常后,分析通信的数据,逐步筛选,一步步定位到通信量较大的
IP
,整个过程用时较长。
二:网络管理常用的方法
1
.对端口进行限制。
通过对端口进行封闭,来达到屏蔽
P2P
软件的目的。
方法存在问题:
通过代理可绕过限制。
P2P
软件很多,需知道每个软件所使用的端口号并逐个进行屏蔽。
P2P
软件越来越智能,可以自定义端口号,通过
UPnp
技术可以使用允许的端口进行上传下载。
2
.分析通信协议和数据包大小
通过对网络进行查看,得到以下结论:
网络变慢的原因大部分是由于
P2P
软件在运行。
P2P
软件通信有一个共性:使用
UDP
协议,且每秒钟发送的数据包都很大(每个数据包大小均超过
100
)每秒发送
10
个以上。
方案:
现在使用第二种方式,通过分析数据包协议和大小进行限制,对内网,校网间的通信进行允许策略。
针对对外网的通信,分析局域网用户所使用的通信协议及单个数据包的大小。限制使用
UDP
协议的
IP
数据包大小为
40
。
保证:
为保证“限制脚本”的运行不会引起网络故障(虽然之前已经分析过不会,为以防万一)同时编写了删除“限制脚本”,恢复网络正常运行的程序。
此限制有效的对
P2P
软件进行的限制,不对
IP
进行限速,最大程度利用带宽,根据
P2P
软件的上传数据包耗尽带宽,进行包大小限制。
结论:
经检测,达到的预期目的,内网,校网通信不受限制。可以都大程度利用带宽。当有
P2p
软件在运行时,不会造成网络阻塞情况,达到了预期的目的。
脚本如下:
#!/bin/bash
#limit network upload speed
for ((i=253;i>4;i--));
do
/sbin/iptables -I FORWARD -s 192.168.1.$i -j DROP
/sbin/iptables -I FORWARD -s 192.168.1.$i -m limit --limit 40/s -j ACCEPT
done
/sbin/iptables -D FORWARD -s 192.168.1.40 -j DROP
/sbin/iptables -D FORWARD -s 192.168.1.40 -m limit --limit 40/s -j ACCEPT
#accept inside network speed
/sbin/iptables -I FORWARD -d 192.168.1.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 192.168.10.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 192.168.3.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 10.0.0.0/8 -j ACCEPT
/sbin/iptables -I FORWARD -d 210.32.0.0/20 -j ACCEPT
/sbin/iptables -I FORWARD -d 210.32.128.0/18 -j ACCEPT
/sbin/iptables -I FORWARD -d 222.205.0.0/17 -j ACCEPT