Особенности IPTables

Различие «BSD» и «Linux» подхода к разработке

IPTables extensios

Базовая статья: iptables-extensions

Модуль

Тип

ah

ipsec

esp

ipsec

policy

ipsec

conntrack

базовые функции, классификация

cpu

балансировка нагрузки

statistic

балансировка нагрузки

addrtype

классификация

connmark

классификация

devgroup

классификация

length

классификация

mac

классификация

mark

классификация

owner

классификация

physdev

классификация

pkttype

классификация

realm

классификация

recent

классификация

rpfilter

классификация

socket

классификация

state

классификация

string

классификация

tcpmss

классификация

time

классификация

tos

классификация

ttl

классификация

u32

классификация

unclean

классификация

iprange

классификация, таблицы

multiport

классификация, таблицы

set

классификация, таблицы, userspace

connlimit

ограничение

hashlimit

ограничение

limit

ограничение

quota

ограничение

dccp

протоколы

dscp

протоколы

ecn

протоколы

icmp

протоколы

ipvs

протоколы

sctp

протоколы

tcp

протоколы

udp

протоколы

connbytes

статистика

rateest

статистика

nfacct

статистика, userspace

osf

статистика, userspace

cluster

топология сети, балансировка нагрузки

comment

удобство

-j Цель

Тип

AUDIT

userspace

IDLETIMER

userspace

LED

userspace

LOG

userspace

NFQUEUE

userspace

DNAT

базовые функции

MASQUERADE

базовые функции

NETMAP

базовые функции

REDIRECT

базовые функции

REJECT

базовые функции

SNAT

базовые функции

CONNMARK

классификация

CONNSECMARK

классификация

HMARK

классификация

MARK

классификация

CT

настройки

CLASSIFY

ограничение, очереди

CHECKSUM

протоколы

DSCP

протоколы

ECN

протоколы

TCPMSS

протоколы

TOS

протоколы

TTL

протоколы

RATEEST

статистика

TRACE

статистика

NFLOG

статистика, userspace

ULOG

статистика, userspace

SET

таблицы, userspace

CLUSTERIP

топология сети

TEE

топология сети

MIRROR

экспериментальные возможности

TCPOPTSTRIP

экспериментальные возможности

Разбор примера

ALT Linux Centaurus Server 7.0.3 по умолчанию+проброс порта):

[root@srv ~]# iptables-save  
# Generated by iptables-save v1.4.18 on Fri Apr  4 14:38:01 2014
*mangle
:PREROUTING ACCEPT [27:2118]
:INPUT ACCEPT [27:2118]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [20:2782]
:POSTROUTING ACCEPT [20:2782]
COMMIT
# Completed on Fri Apr  4 14:38:01 2014
# Generated by iptables-save v1.4.18 on Fri Apr  4 14:38:01 2014
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 10.0.2.15/32 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.62.2:22
-A OUTPUT -d 10.0.2.15/32 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.62.2:22
-A POSTROUTING -o enp0s3 -j MASQUERADE
COMMIT
# Completed on Fri Apr  4 14:38:01 2014
# Generated by iptables-save v1.4.18 on Fri Apr  4 14:38:01 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -f -j DROP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j ULOG --ulog-prefix icount --ulog-cprange 48 --ulog-qthreshold 50
-A INPUT -i enp0s3 -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -i enp0s3 -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -i enp0s3 -p tcp -m tcp --dport 1194 -j ACCEPT
-A INPUT -i enp0s3 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i enp0s3 -p udp -m udp --dport 22 -j ACCEPT
-A INPUT -i enp0s3 -p icmp -j ACCEPT
-A INPUT -i enp0s3 -j DROP
-A FORWARD -f -j DROP
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j ULOG --ulog-prefix fcount --ulog-cprange 48 --ulog-qthreshold 50
-A FORWARD -d 192.168.62.2/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -d 10.0.2.0/24 -i enp0s3 -j ACCEPT
-A FORWARD -m physdev --physdev-is-bridged -j ACCEPT
-A FORWARD -i enp0s3 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp0s3 -j DROP
-A OUTPUT -f -j DROP
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -j ULOG --ulog-prefix ocount --ulog-cprange 48 --ulog-qthreshold 50
COMMIT
# Completed on Fri Apr  4 14:38:01 2014

Д/З

LecturesCMC/UnixFirewalls2014/07_UsingIPTables (последним исправлял пользователь FrBrGeorge 2014-04-07 06:31:25)