全部博文(685)
分类: 嵌入式
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
|
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 #下载设置完成 |