The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Интерфейсы+iptables"
Отправлено VIDok, 13-Июн-07 09:45 
Вот рабочий конфиг, подставь свои адреса и интерфейсы
------------------------------
#!/bin/sh
# Настройка firewall на 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_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc

# Сбрасываем все цепочки
iptables -F
iptables -t nat -F
iptables -t mangle -F
# Определяем политику по умолчанию
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Сбрасываем цепочку POSTROUTING в таблице nat
iptables -t nat -F POSTROUTING

# Настройка интерфейсов и IP
#
# Интернет
INET_IP="xxx.xxx.xxx.xxx" # ИП адрес реальный, на внешней сетевухе
INET_IP2="xxx.xxx.xxx.xxx" # ИП адрес приватной сети провайдера, вида 192.168.х.х
               # для доступа из локальной сети провайдера, сделан в виде алиаса для внешней сетевухи
INET_IFACE="eth1" # инетрфейс смотрящий во внешнюю сеть

# Локальная сеть
LAN_IP="xxx.xxx.xxx.xxx" # ИП адрес локальной сетевухи
LAN_IFACE="eth0" # интерфейс смотрящий в локальную сеть
LAN_NET="xxx.xxx.xxx.0/255.255.255.0" # Локальная подсеть из частного диапазона (192.168.0.0/255.255.255.0 к примеру)

# Настройка iptables
IPTABLES="/usr/sbin/iptables" # команда запуска iptables, можно без пути, или подправить путь под себя

# Включаем пересылку пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

# Безусловно разрешаем соединения по локальному интерфейсу (loopback, 127.0.0.1)
$IPTABLES -A INPUT -i lo -j ACCEPT

# Делаем доступ из внешней сети (MY)
#$IPTABLES -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT # полный доступ из сети провайдера или интернета, для доверенных ИП, если нужен

# Разрешаем пересылку (FORWARD) всех пакетов с локального интерфейса eth0, этого может и не нужно
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Принимаем все пакеты, относящиеся к установленным соединениям
$IPTABLES -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT

# Будут отброшены все пакеты tcp имеющие статус NEW, но не имеющие флагов SYN,ACK
# предохраняет от атак, подробности в приложении В4 Iptables Tutorial
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP

# Редирект порта 80 для прозрачного проксирования
$IPTABLES -t nat -A PREROUTING -i eth0 -s $LAN_NET -p tcp --dport 80 -j REDIRECT --to-port 3128

# Настраиваем NAT
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

# ping, разрешаем пинг, пожно по неоходимости разрешить другие icmp пакеты, но этого вполне достаточно
$IPTABLES -A INPUT -p ICMP --icmp-type 8 -j ACCEPT

#######################################################
##
## Открытие и закрытие портов
##
#######################################################
# Здесь можно открыть некоторые порты, т.к. по умолчанию закрыты все
#######################################################
# TCP
#######################################################
# Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24, сеть провайдера
$IPTABLES -A INPUT -p TCP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
# Доступ к прокси серверу из локалки, порт 3128
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 3128 -j ACCEPT
# Это Веб сервер
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 80 -j ACCEPT
# 113 порт для службы ident, нужен для ирк протокола и еще чего то
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 113 -j ACCEPT
# Это для ИРК
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 6667 -j ACCEPT
# Это для почты
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 25 -j ACCEPT # SMTP

####
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL
# если ты цепляешься к серваку из внешней сети (что скорее всего, т.к. MS сервера нету
#под линух :) то оставь $LAN_NET, если доступ по этому порту нужен к твоему серваку со
#всех возможных ИП то поставь 0/0, и подправь в секции UDP

########################################################
# UDP
########################################################
# Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24
$IPTABLES -A INPUT -p UDP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
# DNS service, только локальная сеть, если у тебя нет своего
# настроенного ДНС домена, то доступ из вне не нужен
$IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 53 -j ACCEPT
# Точное время порт 123, ntp сервис
$IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 123 -j ACCEPT
# Это для Аськи
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 5190 -j ACCEPT
# Это для почты
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 25 -j ACCEPT # SMTP
######
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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