Накидал скрипт глянь а..
Гляньте скрипт может что подправить? Может что упустил.
#!/bin/bash
#ФОРВАРДИНГ
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
#МОДУЛИ
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_conntrack_pptp
#ОЧИСТКА
iptables -F
iptables -F -t nat
iptables -F -t mangle
#ПОЛИТИКА
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#Маршруты
route add -net 192.168.128.0/24 gw 10.213.14.254
route add -host 10.213.1.63 gw 10.213.14.254
route add -host 10.213.17.14 gw 10.213.14.254
route add -host 10.213.47.18 gw 10.213.14.254
route add -host 10.213.6.182 gw 10.213.14.254
route add -host 192.168.131.111 gw 10.213.14.254
#МАСКАРДИНГ
iptables --table nat --append POSTROUTING --out-interface eth3 -j SNAT --to-source 10.213.14.55
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface bond0 -j SNAT --to-source 192.168.0.1
iptables --table nat --append POSTROUTING --out-interface virbr1 -j SNAT --to-source 192.168.100.1
iptables --table nat --append POSTROUTING --out-interface tun0 -j SNAT --to-source 192.168.200.1
iptables --table nat --append POSTROUTING --out-interface tun1 -j SNAT --to-source 192.168.200.1
iptables --table nat --append POSTROUTING --out-interface tun2 -j SNAT --to-source 192.168.200.1
iptables --table nat --append POSTROUTING --out-interface tun3 -j SNAT --to-source 192.168.200.1
iptables --table nat --append POSTROUTING --out-interface tun4 -j SNAT --to-source 192.168.200.1
#МАППИНГ
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 873 -j DNAT --to-destination 192.168.100.100:873
iptables -t nat -A PREROUTING -p tcp --dport 8450 -j DNAT --to-destination 192.168.100.100:8450
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 3389 -j DNAT --to-destination 192.168.100.100:3389
iptables -t nat -A PREROUTING -s 192.168.128.2 -p tcp --dport 3389 -j DNAT --to-destination 192.168.100.100:3389
iptables -t nat -A PREROUTING -s 10.213.1.63 -p tcp --dport 3389 -j DNAT --to-destination 192.168.100.100:3389
#web
iptables -t nat -A PREROUTING -s 192.168.128.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80
iptables -t nat -A PREROUTING -s 10.213.1.63 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80
#ВЫРАВНИВАЕМ MTU
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
inet="ppp0"
local="eth3"
#############Firewall#############
# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
# Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED.
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным.
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
#ЛОКАЛЬНЫЙ ТРАФФИК
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i bond0 -j ACCEPT
iptables -A OUTPUT -o bond0 -j ACCEPT
iptables -A INPUT -i virbr1 -j ACCEPT
iptables -A OUTPUT -o virbr1 -j ACCEPT
iptables -A INPUT -s 192.168.200.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.200.0/24 -j ACCEPT
# ICMP СЕРВЕР
iptables -A INPUT -i $inet -p icmp -j ACCEPT
iptables -A OUTPUT -o $inet -p icmp -j ACCEPT
iptables -A INPUT -i $local -p icmp -j ACCEPT
iptables -A OUTPUT -o $local -p icmp -j ACCEPT
#VTUN
iptables -A INPUT -s 10.213.17.14 -j ACCEPT
iptables -A OUTPUT -d 10.213.17.14 -j ACCEPT
iptables -A INPUT -s 10.213.47.18 -j ACCEPT
iptables -A OUTPUT -d 10.213.47.18 -j ACCEPT
iptables -A INPUT -s 10.213.6.182 -j ACCEPT
iptables -A OUTPUT -d 10.213.6.182 -j ACCEPT
iptables -A INPUT -s 192.168.131.111 -j ACCEPT
iptables -A OUTPUT -d 192.168.131.111 -j ACCEPT
#VTUN FORWARD
iptables -A FORWARD -s 192.168.0.2 -d 192.168.200.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.200.0/24 -d 192.168.0.2 -j ACCEPT
#VNC
iptables -A INPUT -i $local -p tcp -m multiport --ports 5900,5901,5902,5903,5904,5905,5906 -j ACCEPT
iptables -A OUTPUT -o $local -p tcp -m multiport --ports 5900,5901,5902,5903,5904,5905,5906 -j ACCEPT
# Разрешаем серверу http, https
iptables -A INPUT -i $inet -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o $inet -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i $inet -p tcp --sport 21 -j ACCEPT
iptables -A OUTPUT -o $inet -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i $inet -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -o $inet -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i $inet -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o $inet -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i $inet -p udp --sport 20 -j ACCEPT
iptables -A OUTPUT -o $inet -p udp --dport 20 -j ACCEPT
iptables -A INPUT -i $local -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o $local -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -i $local -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o $local -p udp --dport 53 -j ACCEPT
#Разрешаем порты для l2tp
iptables -A INPUT -i $local -p udp --dport 1701 --sport 1701 -j ACCEPT
iptables -A OUTPUT -o $local -p udp --sport 1701 --dport 1701 -j ACCEPT
iptables -A INPUT -i $local -p udp --dport 500 --sport 500 -j ACCEPT
iptables -A OUTPUT -o $local -p udp --sport 500 --dport 500 -j ACCEPT
iptables -A INPUT -i $local -p udp --dport 47 --sport 47 -j ACCEPT
iptables -A OUTPUT -o $local -p udp --sport 47 --dport 17 -j ACCEPT
#############Шейпер#############
#Режем входящую
NUMBERS_LAN="bond0 virbr1"
for number_vl in `echo $NUMBERS_LAN`
do
tc qdisc del dev $number_vl root
tc qdisc add dev $number_vl root handle 1: htb
tc class add dev $number_vl parent 1: classid 1:1 htb rate 100Mbit
tc class add dev $number_vl parent 1:1 classid 1:200 htb rate 200Mbit ceil 200Mbit burst 15
tc class add dev $number_vl parent 1:1 classid 1:100 htb rate 100Mbit ceil 100Mbit burst 15
tc class add dev $number_vl parent 1:1 classid 1:90 htb rate 512Kbit ceil 512Kbit burst 15
tc class add dev $number_vl parent 1:1 classid 1:80 htb rate 128Kbit ceil 512Kbit burst 15
tc qdisc add dev $number_vl parent 1:200 handle 200: sfq perturb 10
tc qdisc add dev $number_vl parent 1:100 handle 100: sfq perturb 10
tc qdisc add dev $number_vl parent 1:90 handle 90: sfq perturb 10
tc qdisc add dev $number_vl parent 1:80 handle 80: sfq perturb 10
tc filter add dev $number_vl parent 1:0 protocol ip prio 1 handle 200 fw classid 1:200
tc filter add dev $number_vl parent 1:0 protocol ip prio 1 handle 100 fw classid 1:100
tc filter add dev $number_vl parent 1:0 protocol ip prio 2 handle 90 fw classid 1:90
tc filter add dev $number_vl parent 1:0 protocol ip prio 3 handle 80 fw classid 1:80
done
#Это всем нашим юзерам
iptables -t mangle -A FORWARD -s 192.168.0.0/24 -o $inet -j MARK --set-mark 80
iptables -t mangle -A FORWARD -i $inet -d 192.168.0.0/24 -j MARK --set-mark 80
iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dport 110,25,143,1024,55777 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -p tcp -m multiport --sport 110,25,143,1024,55777 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -p udp -m multiport --dport 110,25,143,1024,55777 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -p udp -m multiport --sport 110,25,143,1024,55777 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -p icmp -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -p icmp -j ACCEPT
#Разрешаем NETBIOS
iptables -t mangle -A FORWARD -i bond0 -o eth3 -j MARK --set-mark 100
iptables -t mangle -A FORWARD -i eth3 -o bond0 -j MARK --set-mark 100
iptables -A FORWARD -i bond0 -o eth3 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
iptables -A FORWARD -i bond0 -o eth3 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
iptables -A FORWARD -i eth3 -o bond0 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
iptables -A FORWARD -i eth3 -o bond0 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
#BACKUP PC
iptables -t mangle -A FORWARD -s 192.168.0.2 -o $inet -j MARK --set-mark 90
iptables -t mangle -A FORWARD -i $inet -d 192.168.0.2 -j MARK --set-mark 90
iptables -A FORWARD -s 192.168.0.2 -o $inet -p tcp -m multiport --dport 80,8450,20,21 -j ACCEPT
iptables -A FORWARD -i $inet -d 192.168.0.2 -p tcp -m multiport --sport 80,8450,20,21 -j ACCEPT
#BACKUP WEB
iptables -t mangle -A FORWARD -s 10.213.1.63 -d 192.168.0.2 -j MARK --set-mark 100
iptables -t mangle -A FORWARD -s 192.168.0.2 -d 10.213.1.63 -j MARK --set-mark 100
iptables -A FORWARD -s 10.213.1.63 -d 192.168.0.2 -p tcp -m multiport --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.0.2 -d 10.213.1.63 -p tcp -m multiport --sport 80 -j ACCEPT
iptables -t mangle -A FORWARD -s 192.168.128.2 -d 192.168.0.2 -j MARK --set-mark 100
iptables -t mangle -A FORWARD -s 192.168.0.2 -d 192.168.128.2 -j MARK --set-mark 100
iptables -A FORWARD -s 192.168.128.2 -d 192.168.0.2 -p tcp -m multiport --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.0.2 -d 192.168.128.2 -p tcp -m multiport --sport 80 -j ACCEPT
#ТЕРМИНАЛЬНЫЙ СЕРВЕР
iptables -t mangle -A FORWARD -i virbr1 -o eth3 -j MARK --set-mark 100
iptables -t mangle -A FORWARD -i eth3 -o virbr1 -j MARK --set-mark 100
iptables -A FORWARD -i virbr1 -o eth3 -j ACCEPT
iptables -A FORWARD -i eth3 -o virbr1 -j ACCEPT
iptables -t mangle -A FORWARD -i virbr1 -o bond0 -j MARK --set-mark 200
iptables -t mangle -A FORWARD -i bond0 -o virbr1 -j MARK --set-mark 200
iptables -A FORWARD -i virbr1 -o bond0 -j ACCEPT
iptables -A FORWARD -i bond0 -o virbr1 -j ACCEPT
iptables -t mangle -A FORWARD -s 192.168.100.0/24 -o $inet -j MARK --set-mark 90
iptables -t mangle -A FORWARD -i $inet -d 192.168.100.0/24 -j MARK --set-mark 90
iptables -A FORWARD -s 192.168.100.0/24 -o $inet -p tcp -m multiport --dport 80,8450,20,21 -j ACCEPT
iptables -A FORWARD -i $inet -d 192.168.100.0/24 -p tcp -m multiport --sport 80,8450,20,21 -j ACCEPT
iptables -A FORWARD -s 192.168.100.0/24 -p icmp -j ACCEPT
iptables -A FORWARD -d 192.168.100.0/24 -p icmp -j ACCEPT
iptables -A FORWARD -i bond0 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 200
iptables -A FORWARD -i virbr1 -o bond0 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 200
iptables -A FORWARD -i bond0 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j ACCEPT
iptables -A FORWARD -i virbr1 -o bond0 -p tcp -m multiport --ports 3389,8450 -j ACCEPT
iptables -A FORWARD -i eth3 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 100
iptables -A FORWARD -i virbr1 -o eth3 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 100
iptables -A FORWARD -i eth3 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j ACCEPT
iptables -A FORWARD -i virbr1 -o eth3 -p tcp -m multiport --ports 3389,8450 -j ACCEPT
iptables -A FORWARD -i ppp0 -o virbr1 -p tcp -m multiport --ports 8450 -j MARK --set-mark 90
iptables -A FORWARD -i virbr1 -o ppp0 -p tcp -m multiport --ports 8450 -j MARK --set-mark 90
iptables -A FORWARD -i ppp0 -o virbr1 -p tcp -m multiport --ports 8450 -j ACCEPT
iptables -A FORWARD -i virbr1 -o ppp0 -p tcp -m multiport --ports 8450 -j ACCEPT
#Режем исходящую
tc qdisc del dev $inet root
tc qdisc add dev $inet root handle 1: htb
tc class add dev $inet parent 1: classid 1:1 htb rate 100Mbit
tc class add dev $inet parent 1:1 classid 1:90 htb rate 512Kbit ceil 512Kbit burst 15
tc class add dev $inet parent 1:1 classid 1:80 htb rate 128Kbit ceil 512Kbit burst 15
tc qdisc add dev $inet parent 1:80 handle 90: sfq perturb 10
tc qdisc add dev $inet parent 1:80 handle 80: sfq perturb 10
tc filter add dev $inet parent 1:0 protocol ip prio 1 handle 90 fw classid 1:90
tc filter add dev $inet parent 1:0 protocol ip prio 2 handle 80 fw classid 1:80Пьянка без секса – признак алкоголизма.
