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