Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Help & Support » Networking » iptables - помощ за донаписване на скрипт
Тема: iptables - помощ за донаписване на скрипт, ;)
Мнение #1
Написано на: Март 01 2006, 16:17
mexus

Avatar




Група: Li fans
Мнения: 163
Регистриран: Октомври 2005

Оценка: няма

Offline
Здравейте, ако някой може да ми помогне с донаписването на този скрипт, ще му бъда крайно благодарен.
Ето какво трябва да му бъде донаправено:
1. Да се пусне неограничена скорост на вътрешната мрежа до външната (192.168.0.0 <-> 83.148.109.0/83.148.103.0/85.187.13.0).
т.е. да могат да теглят от локалния неограничено.
2. Да се ограничи и международната скорост! Разполагам с ip list на bgpeering.
3. Да се добави и MAC защита.

Моля помогнете. Нямам времето да прочета и наизустя lartc

Ето го и скрипчето ми:
Код: 
#!/bin/sh
IPTABLES=/usr/sbin/iptables
LAN=192.168.0.1/29
LAN_ETH=eth1
INET_IP=83.148.109.208
INET_ETH=eth0
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P OUTPUT DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p tcp --sport 137:139 -d ! $LAN -j DROP
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p udp --sport 135:139 -d ! $LAN -j DROP
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p tcp --sport 445 -d ! $LAN -j DROP
$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -p udp --sport 445 -d ! $LAN -j DROP
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -s $LAN -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -s 83.148.109.0/24 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -s 83.148.103.0/24 -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -s 85.187.13.0/24 -j ACCEPT
$IPTABLES -A INPUT -i $LAN_ETH -s $LAN -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -t nat -A POSTROUTING -o $INET_ETH -s 192.168.0.2 -d ! 192.168.0.2 -j SNAT --to 83.148.103.208
$IPTABLES -t nat -A POSTROUTING -o $INET_ETH -s 192.168.0.3 -d ! 192.168.0.3 -j SNAT --to 83.148.103.208
$IPTABLES -t nat -A POSTROUTING -o $INET_ETH -s 192.168.0.4 -d ! 192.168.0.4 -j SNAT --to 83.148.103.208
$IPTABLES -t nat -A POSTROUTING -o $INET_ETH -s 192.168.0.5 -d ! 192.168.0.5 -j SNAT --to 83.148.103.208
$IPTABLES -t nat -A POSTROUTING -o $INET_ETH -s 192.168.0.6 -d ! 192.168.0.6 -j SNAT --to 83.148.103.208

$IPTABLES -A FORWARD -i $LAN_ETH -s $LAN -d ! $LAN -o $INET_ETH -j ACCEPT

$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 21 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 25 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 110 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 143 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 631 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 53 -j ACCEPT


$IPTABLES -A INPUT -i $INET_ETH -p tcp --dport 6890 -j ACCEPT
$IPTABLES -A FORWARD -o $INET_ETH -s 192.168.0.4 -p tcp --sport 6890 -j ACCEPT
$IPTABLES -A FORWARD -i $INET_ETH -p tcp -d 192.168.0.4 --dport 6890 -j ACCEPT
$IPTABLES -A PREROUTING -t nat -i $INET_ETH -p tcp -d 83.148.103.208 --dport 6890 -j DNAT --to 192.168.0.4
$IPTABLES -A INPUT -i $INET_ETH -p udp --dport 6890 -j ACCEPT
$IPTABLES -A FORWARD -o $INET_ETH -s 192.168.0.4 -p udp --sport 6890 -j ACCEPT
$IPTABLES -A FORWARD -i $INET_ETH -p udp -d 192.168.0.4 --dport 6890 -j ACCEPT
$IPTABLES -A PREROUTING -t nat -i $INET_ETH -p udp -d 83.148.103.208 --dport 6890 -j DNAT --to 192.168.0.4

#shaper
tc qdisc add dev eth1 root handle 1: cbq avpkt 10000 bandwidth 100mbit
tc class add dev eth1 parent 1: classid 1:1 cbq rate 100mbps allot 1500 prio 5 isolated

tc class add dev eth1 parent 1:1 classid 1:10 cbq rate 200kbps allot 1500 prio 5 bounded
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.2 flowid 1:10

tc class add dev eth1 parent 1:1 classid 1:10 cbq rate 200kbps allot 1500 prio 5 bounded
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.3 flowid 1:10

tc class add dev eth1 parent 1:1 classid 1:10 cbq rate 200kbps allot 1500 prio 5 bounded
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.4 flowid 1:10

tc class add dev eth1 parent 1:1 classid 1:10 cbq rate 200kbps allot 1500 prio 5 bounded
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.5 flowid 1:10

tc class add dev eth1 parent 1:1 classid 1:10 cbq rate 200kbps allot 1500 prio 5 bounded
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.6 flowid 1:10

Контакти:  mexus

  • AOL  AOL:
  • ICQ  ICQ: 243745868
  • MSN  MSN: mexus_bg@hotmail.com
  • YIM  Yahoo IM:
WEB  
Общо 0 отговор(а) от Март 01 2006, 16:17 до сега
 » Начало » Li Форуми » Help & Support » Networking » iptables - помощ за донаписване на скрипт

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums