[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