easy iptables config

я не администратор, я пользователь, собираю свою gentoo, как lego.
вожусь с iptables, посмотрев как у других и как в how to создал скрипт
для чего? параноя. да, .gov информации не держу.
хочу создать скрипт для тех, кто не администрирует сети,
а занимается инженерией системы под себя.

с последующей модернизацией скрипта здесь на форуме.

#!/bin/bash

###main###
INET_IFACE="eth0"
UNPRIPORTS="1024:65535"
IPTABLES='/sbin/iptables'

###to_kernel###
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

###drop_politics###
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

###main_politics###
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

###accept'lo'###
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
###'lo'pasport###
$IPTABLES -A INPUT -m state ! -i lo --state NEW -j DROP
$IPTABLES -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP

###kill_invalid###
$IPTABLES -A INPUT   -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state INVALID -j DROP

###accept_ineed_trafic###
$IPTABLES -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

###postrouting###
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -s 10.0.0.10/16 -j SNAT --to-source 192.168.35.141

#INDIGO_CHILDREN#
###syn_shtorm###
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
###udp_wave_shtorm###
$IPTABLES -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP 
$IPTABLES -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT 
$IPTABLES -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT  
$IPTABLES -A INPUT -p UDP -j RETURN 
$IPTABLES -A OUTPUT -p UDP -s 0/0 -j ACCEPT
###icmp_reway###
$IPTABLES -A INPUT --fragment -p ICMP -j DROP 
$IPTABLES -A OUTPUT --fragment -p ICMP -j DROP 

###ICMP_accept###
$IPTABLES -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type source-quench -j ACCEPT
$IPTABLES -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type source-quench -j ACCEPT

###ping_pong###
$IPTABLES -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT
$IPTABLES -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT

###worse_md5_box###
$IPTABLES -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type parameter-problem -j ACCEPT
$IPTABLES -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type parameter-problem -j ACCEPT

###save_X###
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn

###if_monkey_do###
#$IPTABLES -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 00000

###welcome_DNS###
$IPTABLES -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT

###AUTH_to_call###
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 113 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 113 -j DROP

###open_port###
#SMTP
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 25 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 25 -j ACCEPT ! --syn
#POP3
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn
#IMAP4
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 143 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 143 -j ACCEPT ! --syn
#SSH


$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 22 -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport 1020:1023 -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1020:1023 --sport 22 -j ACCEPT ! --syn
#FTP
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 21 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 21 -j ACCEPT ! --syn
# HTTP/HTTPS
$IPTABLES -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --sport $UNPRIPORTS -j ACCEPT --dports 80,443
$IPTABLES -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS -j ACCEPT --sports 80,443 ! --syn

###easy_safe(finger.whois.gorper.wais.traceroute)###
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 20 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 20 --sport $UNPRIPORTS -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 23 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 23 -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 79 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 79 -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 43 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 43 -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 70 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 70 -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 210 --sport $UNPRIPORTS -j ACCEPT
$IPTABLES -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 210 -j ACCEPT ! --syn
$IPTABLES -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 33434:33523 --sport 32769:65535 -j ACCEPT

###dynamic_IP_DHCP###
#$IPTABLES -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 67 --sport 68 -j ACCEPT
#$IPTABLES -A INPUT -p udp -m udp -i $INET_IFACE --dport 68 --sport 67 -j ACCEPT

###port_needs###
$IPTABLES -A INPUT --protocol tcp --dport rsync -j ACCEPT	# gentoo rsync 
$IPTABLES -A INPUT --protocol tcp --dport 1666 -j ACCEPT	# test 
$IPTABLES -A INPUT --protocol tcp --dport 8080 -j ACCEPT	# test  
$IPTABLES -A INPUT -p tcp --dport 6881:6889 -j ACCEPT		# torrent
$IPTABLES -A INPUT --protocol tcp --dport 21 -j ACCEPT		# ftp 
$IPTABLES -A INPUT --protocol tcp --dport 22 -j ACCEPT		# ssh
#$IPTABLES  -A INPUT -p tcp --dport 10100 -j ACCEPT		# dc++ 
#$IPTABLES  -A INPUT -p udp --dport 10100 -j ACCEPT		# dc++

http://www.gentoo-wiki.info/H

http://gazette.linux.ru.net/r

gentoo.ru: Конфигурации

gentoo.ru: Конфигурации iptables ;)

/ Enchant /
"Никакую проблему нельзя решить на том же уровне, на котором она возникла"

/var/lib/iptables/rules-save

/var/lib/iptables/rules-save
/etc/sysctl.conf

+ к вышесказанному
http://www.citforum.ru/operating_systems/linux/iptables/
http://iptables-tutorial.frozentux.net/

.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".