masquerade na iptables

Ivo Panacek ivop na regionet.cz
Úterý Září 23 13:56:44 CEST 2003


Dne úterý 23 září 2003 13:18 jste napsal(a):
> > Dne úterý 23 září 2003 12:41 jste napsal(a):
> > > prosim o radu, nedari se mi prepsat toto pravidlo z ipchains na
> > > iptables .... poradite se syntaxi?
> > >
> > > -A forward -s 192.168.111.0/255.255.255.0 -d 0.0.0.0/0.0.0.0 -j MASQ
> >
> > -t nat -A POSTROUTING -s 192.168.111.0/24 -j MASQUERADE
> > --
> > S pozdravem
> > Ivo Panáček
>
> Vyborne, vyborne, diky, diky uz to jede...
> Jeste jedna blba otazka... vsechna tato pravidla jsem psal z prikaz radku a
> nakonec dal iptables-save  ... kdyz restartnu pocitac, zustanou ta pravidla
> nastavena, nebo se budou muset nastavovat znovu?
> Kdyz jsem to mel pres ipchains, tak jsem musel pravidla napsat do nejakyho
> souboru (z hlavy nevim nazev), co se spoustel pri startu, aby se to
> nacetlo. Musi se i tato nekam ukladat, nebo si je to bude pamatovat?
> diky

Predevsim:

pokud neco konfigurujete na serveru a navic si nejste prilis jist,
ze se to podari (a podari zopakovat), tak je VZDYCKY uzitecne si to psat
jako skript (po urcite dobe zjistite, ze to spori cas a nervy)

A odpoved tedy je, ano, napiste si to do souboru.

Ovsem to je jen muj nazor, iptables-save to snad udela taky a spravne
a zajistete, ze pri bootu se pousti iptables, nikoliv ipchains (viz prikaz ntsysv).

Unix si sam nic nepamatuje !, vsechno si nekam musi napsat a pak to po sobe
precist. Ve vhodnou chvili. Je uzitecne vedet, kam a kdy si to pise
a kdy to cte.

A k ipchains jeste jednu vec: jede-li to na masine, ktera je on-line, tak
V PRUBEHU zmeny je potencialne derava. Ja osobne ten skript zacinam
vzdy nejak takto:

# remove old modules
/sbin/rmmod ipchains >/dev/null 2>&1

# install necessary modules
/sbin/modprobe ip_conntrack >/dev/null 2>&1
/sbin/modprobe ip_conntrack_ftp >/dev/null 2>&1
/sbin/modprobe ip_nat_ftp >/dev/null 2>&1

# ----------------------------------------------------------
# opening

# set top rules
/sbin/iptables -I INPUT 1 -j DROP
/sbin/iptables -I FORWARD 1 -j DROP
/sbin/iptables -I OUTPUT 1 -j DROP
/sbin/iptables -t nat -I PREROUTING 1 -j DROP
/sbin/iptables -t nat -I POSTROUTING 1 -j DROP

# set default policies
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -t nat -P PREROUTING DROP
/sbin/iptables -t nat -P POSTROUTING DROP

# cleanup any old definitions
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F PREROUTING
/sbin/iptables -t nat -F POSTROUTING

potom tam nasazim pravidla, ktera potrebuji, a zakoncim nejak takhle:


# ----------------------------------------------------------
# closing

# count defaults
/sbin/iptables -A INPUT -m limit -j LOG --log-prefix "Default rule (policy ACCEPT):"
/sbin/iptables -A FORWARD -m limit -j LOG --log-prefix "Default rule (policy DROP):"
/sbin/iptables -A OUTPUT -m limit -j LOG --log-prefix "Default rule (policy ACCEPT):"

# FINALLY: allow something again
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT

# ----------------------------------------------------------
# eof

(Ono se mi to popravde receno generuje z konfiguracniho souboru
samo, ale generuje se vicemene tohle.)
--
S pozdravem
Ivo Panáček


Další informace o konferenci Linux