Техническая поддержка

www.ingineer.ru
Регистрируйтесь и задавайте вопросы, делитесь опытом.
Если что обращайтесь:
e-mail: обратная связь.
Не востребованные пользователи будут удаляться!
Текущее время: 25 май 2019, 20:10

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: ХИТРЫЙ IPTABLES
СообщениеДобавлено: 18 июл 2008, 23:27 
Не в сети

Зарегистрирован: 18 июл 2008, 23:23
Сообщения: 1
День добрый,


Прочитал Вашу статью "Настройка межсетевого экрана Iptables" довольно интересно и подробно большое вам спасибо она открыла мне глаза на многие вещи в iptables.
Составил я небольшой конфиг, всё отлично работает, только вот не получается пользователям локальной сети разрешить определённые порты (по умолчанию я открыл все)
Большая просьба помочь, знатокам iptables
Вот мой конфиг:

#!/bin/sh
INET_IP="IP что дал провайдер"
INET_IFACE="eth1"
INET_BROADCAST="БРОДКАСТ"

LAN_IP="192.168.100.1"
LAN_IP_RANGE="192.168.100.0/24"
LAN_IFACE="eth0"

LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/usr/sbin/iptables"


##/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ip_nat_ftp

echo "1" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -F
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets

$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

#
$IPTABLES -P INPUT DROP
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s <внешний домашний IP> -d $INET_IP --dport 22 -j allowed # Открываю доступ по ssh

$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

#Разрешаю всё для локальной сети
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
#Разрешаю все пакеты между интерфейсами локальная сеть интернет
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
№Разрешаю 3 удалённых подключения по модему
$IPTABLES -A INPUT -p ALL -i ppp0 -j ACCEPT
$IPTABLES -A INPUT -p ALL -i ppp1 -j ACCEPT
$IPTABLES -A INPUT -p ALL -i ppp2 -j ACCEPT
$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

#$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
#
$IPTABLES -A FORWARD -i $LAN_IFACE -s 192.168.100.99 -j ACCEPT #USER1
#Modems
$IPTABLES -A FORWARD -s 192.168.0.2 -j ACCEPT #
$IPTABLES -A FORWARD -s 192.168.0.6 -j ACCEPT #
$IPTABLES -A FORWARD -s 192.168.0.10 -j ACCEPT #
#########################################################################

#
# All other useful stuff
#

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

#
# NAT
#

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.10 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP


С Уважением,
Александр


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB