Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒FreeBSD and Nix⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

Примеры шаблонов для Iptables


 

Примеры шаблонов для Iptables


Приведу свою шпаргалку с несколькими простыми примерами работы с iptables


Очистить цепочки и таблицы:
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X


Политики по умолчанию выставить в разрешенные (DROP - запрещенные):
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT


Стандартный набор правил для пользовательского ПК:
# Политики по умолчанию
iptable -P INPUT DROP
iptable -P FORWARD DROP
iptable -P OUTPUT ACCEPT
# Разрешить входящие соединения с localhost
iptables -A INPUT -i lo -j ACCEPT
# Разрешить установленные входящие соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


Стандартный набор правил для веб сервера на 80 порту и SSH:
# Политики по умолчанию
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Разрешить входящие соединения с localhost
iptables -A INPUT -i lo -j ACCEPT
# Разрешить установленные входящие соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить HTTP траффик
iptables -A INPUT -p TCP --dport 80 -j ACCEPT
# Разрешить SSH траффик
iptables -A INPUT -p TCP --dport 22 -j ACCEPT


Стандартный набор правил шлюза
1 - Раздаем интернет в локальную сеть при помощи NAT
2 - Разрешаем обращение из локальной сети во вне по HTTP, HTTPS, DNS протоколам
3 - Пробрасываем порт до веб сервера в локальной сети

####################### Основные настройки #######################
# В нешний сетевой интерфейс, смотрящий в сторону интернета
INET_IF="eth0"

# Внешний IP-адрес, сетевого интерфейса $INET_IF
INET_IP="1.1.1.1"

# Локальная сеть
LOCAL_NET="10.0.0.0/24"

# Разрешенный TCP траффик из локальной сети во вне
FORWARD_TCP_PORTS="53,80,443"

# Разрешенный UDP траффик из локальной сети во вне
FORWARD_UDP_PORTS="53"

# IP-адрес веб-сервера в локальной сети
WEB_SERVER="10.0.0.220"

# Путь до sysctl
SYSCTL="/sbin/sysctl -w"

# Включить форвардинг пакетов IPv4 в ядре
if [ "$SYSCTL" = "" ]
then
  echo "1" > /proc/sys/net/ipv4/ip_forward
else
  $SYSCTL net.ipv4.ip_forward="1"
fi
#####################################################################

####################### Политики по умолчанию #######################
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#####################################################################

####################### Правила в INPUT #######################
# Разрешить входящие соединения с localhost
iptables -A INPUT -i lo -j ACCEPT

# Разрешить принимать установленные соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Разрешить SSH траффик
iptables -A INPUT -p TCP --dport 22 -j ACCEPT

# Разрешить DNS траффик
iptables -A INPUT -p TCP —dport 53 -j ACCEPT
iptables -A INPUT -p UDP —dport 53 -j ACCEPT
#####################################################################

####################### Правила в FORWARD #######################
# Разрешить установленные пересылаемые соединения
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Разрешить из локальной сети ходить во вне по указанным TCP портам
iptables -A FORWARD -p TCP -s $LOCAL_NET -m multiport --dport $FORWARD_TCP_PORTS -j ACCEPT
iptables -A FORWARD -p TCP -d $LOCAL_NET -m multiport --dport $FORWARD_TCP_PORTS -j ACCEPT

# Разрешить из локальной сети ходить во вне по указанным UDP портам
iptables -A FORWARD -p UDP -s $LOCAL_NET -m multiport --dport $FORWARD_UDP_PORTS -j ACCEPT
iptables -A FORWARD -p UDP -d $LOCAL_NET -m multiport --dport $FORWARD_UDP_PORTS -j ACCEPT
#####################################################################

####################### Правила в NAT #######################
# Включить NAT для локальной сети
iptables -t nat -A POSTROUTING -s $LOCAL_NET -o $INET_IF -j SNAT --to-source $INET_IP

# Пробросить порт из вне до веб-сервера в локальной сети
iptables -t nat -A PREROUTING -p TCP -d $INET_IP --dport 80 -j DNAT --to-destination $WEB_SERVER:80
#####################################################################


Все эти правила можно записывать в скрипты, комбинировать, добавлять, изменять

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru