Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3168159
  • 博文数量: 685
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5303
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 14:17
个人简介

文章分类

全部博文(685)

文章存档

2015年(116)

2014年(569)

分类: 嵌入式

2014-09-14 12:09:39

原文地址:

1.设置桥接内网和外网:

1
2
3
4
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1 ifconfig br0 netmask 255.255.255.0 192.168.1.2 up

配置Iptables防火墙,eth0为外网,eth1为内网。
1
2
3
4
5
6
7
8
#配置防火墙自身规则 iptables -P INPUT DROP
iptables -A INPUT –m state --state RELATED,ESTABLISHED –j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m physdev --physdev-in eth1 -j ACCEPT #配置转发规则 iptables -P FORWARD DROP
iptables -A FORWARD –m state --state RELATED,ESTABLISHED –j ACCEPT
iptables -A FORWARD -m physdev --physdev-in eth1 --physdev-out eth0 -j ACCEPT

发布时间:August 5, 2012 // 分类: // 

针对特定服务做优先级设定,提高带宽使用质量,也可针对特定IP进行限速。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#加载模块: insmod xt_IPID
insmod cls_u32                                                                                         
insmod cls_fw  
insmod sch_htb
insmod sch_sfq
insmod sch_prio #启用IMQ虚拟网卡 ip link set imq0 up
ip link set imq1 up #删除旧队列 tc qdisc del dev imq0 root
tc qdisc del dev imq1 root #上传设置 #增加根队列,未标记数据默认走26 tc qdisc add dev imq0 root handle 1: htb default 26 #增加总流量规则 tc class add dev imq0 parent 1: classid 1:1 htb rate 350kbit #增加子类 tc class add dev imq0 parent 1:1 classid 1:20 htb rate 80kbit ceil 250kbit prio 0 tc class add dev imq0 parent 1:1 classid 1:21 htb rate 80kbit ceil 250kbit prio 1 tc class add dev imq0 parent 1:1 classid 1:22 htb rate 80kbit ceil 250kbit prio 2 tc class add dev imq0 parent 1:1 classid 1:23 htb rate 80kbit ceil 250kbit prio 3 tc class add dev imq0 parent 1:1 classid 1:24 htb rate 80kbit ceil 250kbit prio 4 tc class add dev imq0 parent 1:1 classid 1:25 htb rate 50kbit ceil 250kbit prio 5 tc class add dev imq0 parent 1:1 classid 1:26 htb rate 50kbit ceil 150kbit prio 6 tc class add dev imq0 parent 1:1 classid 1:27 htb rate 50kbit ceil 100kbit prio 7 #为子类添加SFQ公平队列,每10秒重置 tc qdisc add dev imq0 parent 1:20 handle 20: sfq perturb 10 tc qdisc add dev imq0 parent 1:21 handle 21: sfq perturb 10 tc qdisc add dev imq0 parent 1:22 handle 22: sfq perturb 10 tc qdisc add dev imq0 parent 1:23 handle 23: sfq perturb 10 tc qdisc add dev imq0 parent 1:24 handle 24: sfq perturb 10 tc qdisc add dev imq0 parent 1:25 handle 25: sfq perturb 10 tc qdisc add dev imq0 parent 1:26 handle 26: sfq perturb 10 tc qdisc add dev imq0 parent 1:27 handle 27: sfq perturb 10 #添加过滤规则配合Iptables Mark标记 #tc filter add dev imq0 parent 1:0 protocol ip u32 match ip sport 22 0xffff flowid 1:10 #使用U32标记数据,下面使用Iptables mark,容易。 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 24 fw flowid 1:24 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 25 fw flowid 1:25 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 26 fw flowid 1:26 tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 27 fw flowid 1:27 #上传数据转入特定链 iptables -t mangle -N MYSHAPER-OUT
iptables -t mangle -A POSTROUTING -o pppoe-wan -j MYSHAPER-OUT
iptables -t mangle -A MYSHAPER-OUT -j IMQ --todev 0 #为特定数据打上标记配合之前过滤规则 #iptables -t mangle -I MYSHAPER-OUT -s 192.168.1.16 -j MARK --set-mark 27 #限制特定IP上传速度 #iptables -t mangle -I MYSHAPER-OUT -s 192.168.1.16 -j RETURN iptables -t mangle -A MYSHAPER-OUT -p tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 20 #提高HTTP连接速度 iptables -t mangle -A MYSHAPER-OUT -p tcp --tcp-flags SYN,RST,ACK SYN -j RETURN
iptables -t mangle -A MYSHAPER-OUT -p udp --dport 53 -j MARK --set-mark 20 #DNS查询 iptables -t mangle -A MYSHAPER-OUT -p udp --dport 53 -j RETURN
iptables -t mangle -A MYSHAPER-OUT -p icmp -j MARK --set-mark 21 #ICMP数据 iptables -t mangle -A MYSHAPER-OUT -p icmp -j RETURN
iptables -t mangle -A MYSHAPER-OUT -p tcp -m length --length :64 -j MARK --set-mark 21 #小数据包 iptables -t mangle -A MYSHAPER-OUT -p tcp -m length --length :64 -j RETURN
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 22 -j MARK --set-mark 22 #SSH连接 iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 22 -j RETURN
iptables -t mangle -A MYSHAPER-OUT -p udp --dport 1194 -j MARK --set-mark 22 #VPN连接 iptables -t mangle -A MYSHAPER-OUT -p udp --dport 1194 -j RETURN
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 80 -j MARK --set-mark 23 #HTTP连接 iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 80 -j RETURN
iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 443 -j MARK --set-mark 24 #HTTPS连接 iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 443 -j RETURN #上传设置完成   #下载设置 #增加根队列,未标记数据默认走24 tc qdisc add dev imq1 handle 1: root htb default 24 tc class add dev imq1 parent 1: classid 1:1 htb rate 3500kbit #添加子类 tc class add dev imq1 parent 1:1 classid 1:20 htb rate 1000kbit ceil 1500kbit prio 0 tc class add dev imq1 parent 1:1 classid 1:21 htb rate 1500kbit ceil 2500kbit prio 1 tc class add dev imq1 parent 1:1 classid 1:22 htb rate 2000kbit ceil 3500kbit prio 2 tc class add dev imq1 parent 1:1 classid 1:23 htb rate 1000kbit ceil 1500kbit prio 3 tc class add dev imq1 parent 1:1 classid 1:24 htb rate 1000kbit ceil 1500kbit prio 4 #为子类添加SFQ公平队列 tc qdisc add dev imq1 parent 1:20 handle 20: sfq perturb 10 tc qdisc add dev imq1 parent 1:21 handle 21: sfq perturb 10 tc qdisc add dev imq1 parent 1:22 handle 22: sfq perturb 10 tc qdisc add dev imq1 parent 1:23 handle 23: sfq perturb 10 tc qdisc add dev imq1 parent 1:24 handle 24: sfq perturb 10 #过滤规则 tc filter add dev imq1 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20 tc filter add dev imq1 parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21 tc filter add dev imq1 parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22 tc filter add dev imq1 parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23 tc filter add dev imq1 parent 1:0 prio 0 protocol ip handle 24 fw flowid 1:24 #下载数据转入特定链 iptables -t mangle -N MYSHAPER-IN
iptables -t mangle -A PREROUTING -i pppoe-wan -j MYSHAPER-IN
iptables -t mangle -A MYSHAPER-IN -j IMQ --todev 1 #分类标记数据 #iptables -t mangle -A MYSHAPER-IN -d 192.168.1.16 -j MARK --set-mark 23 #限制特定IP下载速度 #iptables -t mangle -A MYSHAPER-IN -d 192.168.1.16 -j RETURN iptables -t mangle -A MYSHAPER-IN -p tcp -m length --length :64 -j MARK --set-mark 20 #小数据优先 iptables -t mangle -A MYSHAPER-IN -p tcp -m length --length :64 -j RETURN
iptables -t mangle -A MYSHAPER-IN -p icmp -j MARK --set-mark 20 #ICMP数据 iptables -t mangle -A MYSHAPER-IN -p icmp -j RETURN
iptables -t mangle -A MYSHAPER-IN -p tcp --sport 22 -j MARK --set-mark 21 #SSH连接 iptables -t mangle -A MYSHAPER-IN -p tcp --sport 22 -j RETURN
iptables -t mangle -A MYSHAPER-IN -p udp --sport 1194 -j MARK --set-mark 21 #VPN连接 iptables -t mangle -A MYSHAPER-IN -p udp --sport 1194 -j RETURN
iptables -t mangle -A MYSHAPER-IN -p tcp --sport 443 -j MARK --set-mark 22 #HTTPS连接 iptables -t mangle -A MYSHAPER-IN -p tcp --sport 443 -j RETURN
iptables -t mangle -A MYSHAPER-IN -p tcp --sport 80 -j MARK --set-mark 22 #HTTP连接 iptables -t mangle -A MYSHAPER-IN -p tcp --sport 80 -j RETURN
iptables -t mangle -A MYSHAPER-IN -p tcp --sport 0:1024 -j MARK --set-mark 23 #系统服务端口连接 iptables -t mangle -A MYSHAPER-IN -p tcp --sport 0:1024 -j RETURN #下载设置完成


阅读(1741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~