The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Тематический каталог: Скрипт для включения NAT в Gentoo Linu..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Тематический каталог: Скрипт для включения NAT в Gentoo Linu..."  
Сообщение от auto_topic (??) on 19-Мрт-07, 01:52 
Обсуждение статьи тематического каталога: Скрипт для включения NAT в Gentoo Linux (gentoo linux script nat msquerade)

Ссылка на текст статьи: http://www.opennet.ru/base/net/gentoo_masquerade.txt.html

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт для включения NAT в Gentoo Linux (gentoo linux script..."  
Сообщение от drew (??) on 19-Мрт-07, 01:52 
ИМХО, iptables интересней инициализировать из единого скрипта, в котором все (а не только NAT-related) modprobe´ы нужных модулей и правила
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Скрипт для включения NAT в Gentoo Linux (gentoo linux script..."  
Сообщение от sabitov email(??) on 19-Мрт-07, 10:02 
МММ, лучше все ж делать чуть-чуть не так :)))

~ # cat /etc/init.d/firewall
#!/sbin/runscript


opts="depend start stop status restart reload force-reload test"

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

COMMON=/usr/local/lib/firewall/firewall-common-rules
MAC=/usr/local/lib/firewall/MAC-allowed

NAME=firewall
DESC="firewall setup"
TESTDELAY=10

depend () {
    use logger
}

start () {
        echo "Starting $DESC"
        echo
        $COMMON
        $MAC
}

stop () {
        echo "Cleaning $DESC"

        iptables -P INPUT   ACCEPT
        iptables -P OUTPUT  ACCEPT
        iptables -P FORWARD ACCEPT

        for t in filter nat mangle; do
                iptables -t $t -F
                iptables -t $t -X
                iptables -t $t -Z
        done
}

status () {
        for t in filter nat mangle; do
                echo "============================================================= $t ======"
                iptables -t $t -L -n
        done
}

restart () {
        echo "Restarting $DESC"
        svc_stop
        sleep 1
        svc_start
}

reload () {
        restart
}

force-reload () {
        restart
}

test () {
        echo "Testing $DESC"
        start
        sleep $TESTDELAY
        stop
}

Тот что /usr/local/lib/firewall/firewall-common-rules содержит примерно такое (показываю только куски, что бы была понятна идея :))) ):

NET_L=172.16.0.0/16
NET_R=1.1.1.0/25
NET_Rold=2.2.2.0/24

black_file="/usr/local/lib/firewall/black-list"
white_file="/usr/local/lib/firewall/white-list"

#INPUT
#Список хостов с которых допустим ssh (только своя сетка)
accept_ssh="$NET_L $NET_R $NET_Rold"
#Список служб к которым открыт доступ всем (публичные)
accept_from_all_tcp="53 80 443 17000"
accept_from_all_udp="53 "

#Список служб к которым открыт доступ только из локальной сети (публичные)
accept_from_local_tcp="3128 137 138 139 445"
accept_from_local_udp="67 68 137 138 139 445"

# Разрешено из локальной сети
for a in $accept_from_local_tcp; do
    iptables -A tcp_packets -p TCP -s $NET_R    --dport  $a -j allowed_tcp
    iptables -A tcp_packets -p TCP -s $NET_L    --dport  $a -j allowed_tcp
    iptables -A tcp_packets -p TCP -s $NET_Rold --dport  $a -j allowed_tcp
done

# Разрешено всем
for a in $accept_from_all_tcp; do
    iptables -A tcp_packets -p TCP -s 0/0 --dport  $a -j allowed_tcp
done

iptables -A INPUT -p TCP  -j bad_tcp_packets
iptables -A INPUT -p ALL  -j mac_allowed

for a in $white_list; do
    iptables -A INPUT -p ALL -s $a -j ACCEPT
done

for a in $black_list; do
    iptables -A INPUT -p ALL -s $a -j DROP
done

iptables -A INPUT -p TCP  -j tcp_packets
iptables -A INPUT -p UDP  -j udp_packets
iptables -A INPUT -p ICMP -j icmp_packets

#Убиваем все входящие пакеты, дошедшие до этого места
iptables -A INPUT   -p ALL    -j LOG --log-prefix "INPUT died: "
iptables -A INPUT   -p ALL    -j DROP


iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/16 --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/16 --dport 8080 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/16 --dport 9080 -j REDIRECT --to-ports 3128

iptables -A POSTROUTING -t nat -s 172.16.0.0/16 -o $INET_IF -j SNAT --to-source $IP


/usr/local/lib/firewall/MAC-allowed заполняет цепочку такими правилами (создаютя автоматом):
iptables -A mac_allowed -s  172.16.2.72 -m mac --mac-source 08:00:09:ed:8b:80 -j RETURN
iptables -A mac_allowed -s  172.16.2.73 -m mac --mac-source 00:10:83:2e:c6:40 -j RETURN
iptables -A mac_allowed -s  172.16.2.74 -m mac --mac-source 00:30:c1:55:af:ec -j RETURN
iptables -A mac_allowed  -j LOG --log-prefix "MAC Dropped: "
iptables -A mac_allowed  -j DROP

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Скрипт для включения NAT в Gentoo Linux (gentoo linux script..."  
Сообщение от anonymous (??) on 22-Фев-08, 00:03 
какие-то вы извращенцы. Нафиг вообще пихать правила iptables в загрузочный скрипт? /var/lib/rules.save и /etc/init.d/iptables для чего?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Скрипт для включения NAT в Gentoo Linux (gentoo linux script..."  
Сообщение от anonymous (??) on 22-Фев-08, 00:04 
* /var/lip/iptables/rulez.save
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру