呵呵。谢谢你了。
我用21条-j MASQUERADE的意思是因为有21个用户上网。我给他们就做了21个NAT,没有用网段来做,因为要控制每个IP上网。所以只好用21个了。
您再帮我看一看我的脚本,可以吗?
#!/bin/bash
#定义用的内网接口
INET_IF0="eth0"
#定义限制的下载的速度
UP_SD="200kbit"
DOWN_SD="400kbit"
#bounded is no,"" is yes
DKYESNO="bounded"
#arp -s 10.254.254.1 00:d0:f8:57:2e:7f
#arp -s 10.0.0.254 00:50:BA:69:B2:D7
#arp -s 192.168.10.1 00:e0:4c:8d:01:e4
arp -s 192.168.10.12 00:15:f2:e6:26:01
arp -s 192.168.10.15 00:50:BA:58:CA:8D
arp -s 192.168.10.16 00:04:61:9A:12:4F
arp -s 192.168.10.22 00:0D:87:D6:02:11
arp -s 192.168.10.23 00:e0:4c:c2:68:b4
arp -s 192.168.10.25 00:40:05:43:d6:1e
arp -s 192.168.10.33 00:E0:4C:8B:50:A9
arp -s 192.168.10.36 00:0d:61:bb:d1:b8
arp -s 192.168.10.80 00:11:25:ce:8f:76
#306笔记本电脑
arp -s 192.168.10.43 00:05:5d:e8:05:88
arp -s 192.168.10.45 00:e0:4c:90:4e:f1
arp -s 192.168.10.51 00:16:36:22:4c:c2
arp -s 192.168.10.52 00:14:2a:3a:ee:09
arp -s 192.168.10.82 00:11:5b:c3:93:76
#502的第二台电脑
arp -s 192.168.10.54 00:16:36:06:98:3a
arp -s 192.168.10.62 00:e0:4c:39:8c:28
arp -s 192.168.10.63 00:14:85:00:31:2c
arp -s 192.168.10.64 00:0F:EA:25:34:C3
arp -s 192.168.10.66 00:e0:4c:89:e5:12
arp -s 192.168.10.81 00:0d:60:7f:33:24
#606笔记本电脑
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F
iptables -t filter -F
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -t nat -A POSTROUTING -s 192.168.10.12 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.15 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.16 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.22 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.23 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.26 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.25 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.33 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.36 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.80 -j MASQUERADE
#306笔记本电脑
iptables -t nat -A POSTROUTING -s 192.168.10.43 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.45 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.51 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.52 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.82 -j MASQUERADE
#502的第二台电脑
iptables -t nat -A POSTROUTING -s 192.168.10.54 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.62 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.63 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.64 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.66 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.81 -j MASQUERADE
#606笔记本电脑
#禁止BT等P2P软件下载
iptables -A FORWARD -m ipp2p --ipp2p --bit --apple --winmx --soul --ares -j DROP
iptables -A FORWARD -m ipp2p --edk --kazaa --bit -j DROP
iptables -A FORWARD -p tcp -m ipp2p --ares -j DROP
iptables -A FORWARD -p udp -m ipp2p --kazaa -j DROP
iptables -A FORWARD -p tcp -m connlimit --connlimit-above 15 -j DROP
#转发内部IP
iptables -I FORWARD -s 192.168.10.0/24 -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A FORWARD -p icmp -d 10.254.254.1 -j DROP
#iptables -A FORWARD -p icmp -j DROP
iptables -A INPUT -s 192.168.10.0/24 -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -s 192.168.10.0/24 -p tcp --destination-port 139 -j ACCEPT
iptables -A INPUT -s 192.168.10.15 -j ACCEPT
iptables -A INPUT -s 192.168.10.0/24 -p tcp --destination-port telnet -j ACCEPT
iptables -A INPUT -s 192.168.10.0/24 -p tcp --destination-port ssh -j ACCEPT
iptables -A INPUT -s 192.0.0.0/8 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -p icmp -j DROP
#让所有的LAN内部可以上网
#iptables -t nat -A 1 POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root
#定义队例
tc qdisc add dev $INET_IF0 root handle 10: cbq bandwidth 10Mbit avpkt 1000
#定义根类
tc class add dev $INET_IF0 parent 10:0 classid 10:1 cbq bandwidth 10Mbit rate 10Mbit allot 1514 weight 1Mbit prio 8 maxburst 15 avpkt 1000
#定义子类,限制速度,
IPID="12"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="15"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="16"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="22"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="23"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="25"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="33"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="36"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="80"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="43"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
IPID="45"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="51"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="52"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="82"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="54"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="62"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="63"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="64"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#定义子类,限制速度,
IPID="66"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
IPID="81"
tc class add dev $INET_IF0 parent 10:1 classid 10:$IPID cbq bandwidth 10Mbit rate $DOWN_SD allot 1514 weight 20kbit prio 5 maxburst 15 avpkt 1000 $DKYESNO
tc qdisc add dev $INET_IF0 parent 10:$IPID sfq quantum 1514b perturb 15
tc filter add dev $INET_IF0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.10.$IPID flowid 10:$IPID
#上传限制
tc qdisc add dev eth1 root handle 20: cbq bandwidth 10Mbit avpkt 1000
tc class add dev eth1 parent 20:0 classid 20:1 cbq bandwidth 10Mbit rate 10Mbit allot 1514 weight 2Mbit prio 8 maxburst 20 avpkt 1000
tc class add dev eth1 parent 20:1 classid 20:100 cbq bandwidth 10Mbit rate 8Mbit allot 1514 weight $UP_SD prio 5 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth1 parent 20:100 sfq quantum 1514b perturb 15
tc filter add dev eth1 parent 20:0 protocol ip prio 100 u32 match ip src 192.168.10.0/24 flowid 20:100
#rdate -s 202.108.158.139