[Comm] iptables vs ipchains

Alexey Morsov samurai на ricom.ru
Ср Дек 22 17:25:48 MSK 2004


Andriy Dobrovol's'kii wrote:

> Michael Shigorin wrote:
>
>> On Mon, Dec 20, 2004 at 10:33:54PM +0000, Alexey S. Kuznetsov wrote:
>>
> <cut>
>
>> PS: моя дежурная болванка в аттаче, если кто-либо в благодарность
>> проверит, доточит, проверит и предложит в FAQ -- welcome.
>>
> <cut>
>
>>
> Миш, какя ж это болванка, если всюду пробиты конкретные адреса и 
> интерфейсы. И никаких коментариев. Откоментированный скрипт её 
> генерации с разумно абстрагированными переменными был бы болванкой...
>
> P.S. Могу прислать свою попытку сделать такой, но, она застряла на 
> "дверном" варианте и врядли представляет интерес. Уж больно жизнь 
> разнообразна...

А вот моя болванка - кому нать - use it or modify :)
Не знаю какая у неё степень "дверности" :)


-- 
Всего наилучшего,
Системный Администратор ЗАО "ИК "РИКОМ-ТРАСТ"
Алексей Морсов
ICQ: 196766290
Jabber: Samurai at jabber.pibhe.com
http://www.ricom.ru
http://www.fondmarket.ru 

-------------- next part --------------
#!/bin/sh
# объявим переменные
FW="/sbin/iptables"

LAN_NET="192.168.130.0/24"
LAN_IP="192.168.130.2"
LAN_ETH="eth0"

INET_IP="195.210.171.34"
INET_ETH="eth1"

# локалка
LH="127.0.0.1"
PROXY_PORT="3128"

# для меня
COOL_IP="192.168.130.95"

modprobe ip_nat_ftp

# маршрут для почты Риком
route add -net 194.247.149.208 netmask 255.255.255.248 gw 192.168.130.1 dev eth0

# все прочистим
$FW -t nat -F
$FW -F
$FW -X

# введем цепочки для подсчета трафика
$FW -N OUT_SORTING
$FW -N IN_SORTING
$FW -N TCP_OUT
$FW -N TCP_IN
$FW -N UDP_OUT
$FW -N UDP_IN

# наведем маскарад для себя :)
$FW -t nat -A POSTROUTING -s $LAN_NET -o $INET_ETH -j SNAT --to-source $INET_IP

# все всем запретить
$FW -P INPUT DROP
$FW -P FORWARD DROP
# кроме локального хоста - ему можно ходить куда угодно
$FW -P OUTPUT ACCEPT

# а теперь начнем прописывать правила
$FW -A TCP_OUT -j ACCEPT
$FW -A TCP_IN -j ACCEPT
$FW -A UDP_OUT -j ACCEPT
$FW -A UDP_IN -j ACCEPT

$FW -A OUT_SORTING -p tcp -j TCP_OUT
$FW -A OUT_SORTING -p udp -j UDP_OUT
$FW -A OUT_SORTING -j ACCEPT

$FW -A IN_SORTING -p tcp -i $INET_ETH -j TCP_IN
$FW -A IN_SORTING -p udp -i $INET_ETH -j UDP_IN
$FW -A IN_SORTING -j ACCEPT

# для INPUT
$FW -A INPUT -m state --state ESTABLISHED,RELATED -j IN_SORTING
$FW -A INPUT -m state --state NEW -i ! $INET_ETH -j ACCEPT

# для FORWARD
# для Aton-Line

# для МЕНЯ
$FW -A FORWARD -p all -i $LAN_ETH -o $INET_ETH -s $COOL_IP -j OUT_SORTING
$FW -A FORWARD -p all -i $INET_ETH -o $LAN_ETH -d $COOL_IP -m state --state ESTABLISHED,RELATED -j IN_SORTING

# для OUTPUT
$FW -A OUTPUT -o $INET_ETH -j OUT_SORTING


Подробная информация о списке рассылки Community