LINUX.ORG.RU

гуглится же на раз-два.

Deleted ()
Ответ на: комментарий от uSide

Он умеет по ssh настраивать. В любом случае сгенери на машине с иксами два скрипта и кинь их на целевую. Вот и будет тебе две команды. Дефолтный шаблон для рабочей станции должен подойти.

ziemin ★★ ()
Ответ на: комментарий от uSide

Ну и вообще, поглядывая, что он делает из правил (любое можно скомпилировать отдельно), можно быстро разобраться с iptables.

ziemin ★★ ()
Ответ на: комментарий от blackst0ne

А лучше ИМХО так, как в редхате:

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
А открыть можно командой:
/etc/init.d/iptables stop
:)

generator ★★★ ()

у меня так

# Настраиваем политики по умолчанию
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# удаляем все имеющиеся правила
iptables -F
iptables -t nat -F
iptables -t mangle -F

iptables -X
iptables -t nat -X
iptables -t mangle -X

# правила входящих соединений
iptables -A INPUT -i lo -j ACCEPT

#внешний интерфейс
iptables -A INPUT -i eth0 -p tcp --dport 80 --match state --state NEW -j ACCEPT

# Правила исходящих соединений
iptables -A OUTPUT -o lo -j ACCEPT

#внешний интерфейс
iptables -A OUTPUT -o eth0 --match state --state NEW,ESTABLISHED,RELATED -j ACCEPT

jo_b1ack ★★★★★ ()
Ответ на: комментарий от tagilchanin

Ну не придирайся :) Ты понял о чём я. Естественно нужно указать цепочки, сделать iptables-restore, если не редхатоподобный linux и т.д.

generator ★★★ ()
Ответ на: комментарий от generator

)) вот вот)) а лучше написать скрипт типа такого: cat /etc/init.d/rc.firewall #!/bin/bash INET_IFACE=«ppp0» INET_IP=«ip_add» LAN_IP=«192.168.0.9» LAN_IP_RANGE=«192.168.0.0/24» LAN_BCAST_ADRESS=«192.168.0.255» LAN_IFACE=«eth1» LO_IFACE=«lo» LO_IP=«127.0.0.1» IPTABLES=«/sbin/iptables» IPTRESTORE=«/sbin/iptables-restore» IPTSAVE=«/bin/iptables-save»

clear() { echo -n «Turn policies to ACCEPT....» $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT echo «Done» echo -n «Clear filtering table....» $IPTABLES -F $IPTABLES -F -t nat echo «Done» }

stop() { clear echo -n «Delete user specified chains....» $IPTABLES -X bad_tcp_packets 2> /dev/null $IPTABLES -X allowed 2> /dev/null $IPTABLES -X allowed_udp 2> /dev/null $IPTABLES -X icmp_packets 2> /dev/null $IPTABLES -X tcp_packets 2> /dev/null $IPTABLES -X udpincoming_packets 2> /dev/null echo «Done»

}

start() { clear echo -n «Create user specified chains....» $IPTABLES -N bad_tcp_packets 2> /dev/null $IPTABLES -N allowed 2> /dev/null $IPTABLES -N allowed_udp 2> /dev/null $IPTABLES -N icmp_packets 2> /dev/null $IPTABLES -N tcp_packets 2> /dev/null $IPTABLES -N udpincoming_packets 2> /dev/null echo «Done»

echo «Create content in user specified chains»

echo -n «bad_tcp_packets chain....» $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP echo «Done»

echo -n «allowed....» $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A allowed -p TCP --syn -j ACCEPT $IPTABLES -A allowed -p TCP -j DROP echo «Done»

echo -n «allowed_udp....» $IPTABLES -A allowed_udp -p UDP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT #$IPTABLES -A allowed_udp -p UDP -m multiport --dport 5243,9785 -j ACCEPT $IPTABLES -A allowed_udp -p UDP -j DROP echo «Done»

echo -n «icmp_packets....» $IPTABLES -A icmp_packets -p ICMP -j ACCEPT echo «Done»

echo -n «tcp_packets....» $IPTABLES -A tcp_packets -p TCP -m multiport --dport 20,22222,21,22,25,443,53,110,143,995,1194,9080,8080,10200 -j allowed $IPTABLES -A tcp_packets -p TCP -m multiport --dport 2222,993,123,465,1780,3390,2224,4121,5222,5666,9418,10153,11520,60180,44301 -j allowed $IPTABLES -A tcp_packets -p TCP -m multiport --dport 12992,2525,80 -j allowed #MS $IPTABLES -A tcp_packets -p TCP -i $INET_IFACE -m multiport --dport 137:139,445 -j DROP echo «Done»

echo -n «udpincoming_packets....» $IPTABLES -A udpincoming_packets -p UDP -m multiport --dport 53,5938,9001,5243,9785 -j allowed_udp echo «Done»

echo -n «INPUT chain» #$IPTABLES -t mangle -F PREROUTING #$IPTABLES -t mangle -A PREROUTING -p TCP --dport 33434:33542 -j TTL --ttl-inc 1 echo -n "."

#Bad TCP packets we don't want. $IPTABLES -A INPUT -p tcp -j bad_tcp_packets

#Special rule for VPN #$IPTABLES -A INPUT -p gre -j allowed

echo -n "." #Rules for incoming packets from the internet. $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets

echo -n "." #Rules for special networks not part of the Internet $IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT $IPTABLES -A INPUT -p ALL -s $LAN_IP_RANGE -j ACCEPT $IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -p TCP -i $TAP_IFACE -j ACCEPT

#Log weird packets that don't match the above. $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix «IPT INPUT packet died:» $IPTABLES -P INPUT DROP echo «Done»

echo -n «FORWARD chain..» #Bad TCP packets we don't want $IPTABLES -A FORWARD -p tcp -j bad_tcp_packets echo -n "." #Accept the packets we actually want to forward $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -i ppp0 -j ACCEPT $IPTABLES -A FORWARD -i $TAP_IFACE -j ACCEPT $IPTABLES -A FORWARD -o $TAP_IFACE -j ACCEPT $IPTABLES -A FORWARD -p TCP -j tcp_packets $IPTABLES -A FORWARD -p ICMP -j icmp_packets #$IPTABLES -A FORWARD -p UDP -j allowed_udp

echo -n "." #Log weird packets that don't match the above. $IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix «IPT FORWARD packet died:» $IPTABLES -P FORWARD DROP #$IPTABLES -P FORWARD ACCEPT echo «Done»

echo -n «OUTPUT chain....» #Bad TCP packets we don't want $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets $IPTABLES -P OUTPUT ACCEPT echo «Done»

echo -n «PREROUTING chain...» $IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -s $LAN_IP_RANGE -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128 echo «Done»

echo «POSTROUTING chain...» $IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -d $LAN_IP -p tcp -m multiport --dport 25,80,110,143,995 -j SNAT --to-source $LAN_IP $IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -d 192.168.0.197 -p tcp --dport 443 -j SNAT --to-source $LAN_IP $IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -o $INET_IFACE -j SNAT --to-source $INET_IP $IPTABLES -t nat -P POSTROUTING ACCEPT echo «Done»

}

case $1 in start) start ;; stop) stop ;; clear) clear ;; restart) stop start ;; *) echo «Usage `basename $0` start|stop|clear|restart» exit 1 esac exit 0

tagilchanin ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.