LinuxForum.Fans
Тема

Правила для iptables анализ

Автор: user2014 1 сообщений 1423 просмотров
09.11.2014 12:30 #400294

Здравствуйте,

Сам я пока только осваиваю мир линукс, поэтом хочу проконсультироваться у вас у профессионалов.

Читая документацию источники в интернете и исходя из задачи сделал следующий набор правили.

text

#!/bin/bash

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

IPT=/sbin/iptables

# SIP сеть SIPNET=192.168.3.0/24

# Локальная сеть LOCALNET=192.168.1.0/24

LAN_ADAPTER=eth1 WAN_ADAPTER=eth0

/sbin/modprobe iptable_nat /sbin/modprobe nf_conntrack_sip /sbin/modprobe nf_nat_sip

# Очистка всех цепочек iptables $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X $IPT -t nat -X $IPT -t mangle -X

# Закрываю изначально всё $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP

# разрешаю локальный траффик для внутренней сети $IPT -A INPUT -i lo -j ACCEPT $IPT -A INPUT -i $LAN_ADAPTER -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT $IPT -A OUTPUT -o $LAN_ADAPTER -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. # Пропускать все уже инициированные соединения, а также дочерние от них $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Пропускать новые, а так же уже инициированные и их дочерние соединения $IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых, а так же уже инициированных # и их дочерних соединений $IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаю фрагментацию пакетов. Необходимо из за разных значений MTU $IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы # и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный # обмен данными становится не возможным. $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Разрешаю доступ из внутренней сети наружу $IPT -A FORWARD -i $LAN_ADAPTER -o $WAN_ADAPTER -j ACCEPT

# Запрещаю доступ снаружи во внутреннюю сеть $IPT -A FORWARD -i $WAN_ADAPTER -o $LAN_ADAPTER -j REJECT

# Включил нат $IPT -t nat -A POSTROUTING -o $WAN_ADAPTER -s $USERNET -j MASQUERADE

Политика по умолчанию у меня DROP

Мне необходимо чтобы через мой компьютер другие компьютер USERNET ходили в интернет.
Мне также необходимо чтобы доступ снаружи был закрыть, а доступ изнутри был полностью открыт и без ограничений.
Наверное много лишнего? хотелось бы максимально оптимизировать скрипт.

Войдите или зарегистрируйтесь, чтобы ответить.