<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Правила для iptables анализ]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=36666&amp;type=atom" />
	<updated>2014-11-09T09:30:01Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=36666</id>
		<entry>
			<title type="html"><![CDATA[Правила для iptables анализ]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=430439#p430439" />
			<content type="html"><![CDATA[<p>Здравствуйте,</p><p>Сам я пока только осваиваю мир линукс, поэтом хочу проконсультироваться у вас у профессионалов.</p><p>Читая документацию источники в интернете и исходя из задачи сделал следующий набор правили.<br /></p><div class="codebox"><pre><code>#!/bin/bash

echo 1 &gt; /proc/sys/net/ipv4/ip_forward
echo 1 &gt; /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</code></pre></div><p>Политика по умолчанию у меня DROP</p><p>Мне необходимо чтобы через мой компьютер другие компьютер USERNET ходили в интернет.<br />Мне также необходимо чтобы доступ снаружи был закрыть, а доступ изнутри был полностью открыт и без ограничений.<br />Наверное много лишнего? хотелось бы максимально оптимизировать скрипт.</p>]]></content>
			<author>
				<name><![CDATA[user2014]]></name>
				<uri>https://linuxforum.ru/profile.php?id=36131</uri>
			</author>
			<updated>2014-11-09T09:30:01Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=430439#p430439</id>
		</entry>
</feed>
