Article View: pl.comp.os.linux.sieci
Article #200Re: Masquerade - pomocy!
From: Lukasz Grochal
Date: Sun, 03 Jan 1999 03:07
Date: Sun, 03 Jan 1999 03:07
133 lines
5875 bytes
5875 bytes
3 Jan 1999 01:47:48 GMT Roman Niewiarowski pisze: > vi /etc/sysconfig/network > [...] > FORWARD_IPV4="true" ... taaa, przez to chyba wszyscy przeszli ;) Kiedy tydzień temu stawiałem RedHat'a szukałem tego przez bite dwie godziny klnąc jak szewc. System niby ładny i po odpowiednim wyczyszczeniu nawet zgrabny routerek z niego wyszedł, ale te wszystkie "user friendly" pliki konfiguracyjne doprowadziły mnie do szału - różnice między dystrybucjami (na co dzień używam debiana) są coraz większe ;) No, to była dygresja, a teraz konkrety - jeśli nie bardzo ufamy providerowi, to lepszym firewallem będzie coś takiego (Masquerade-HOWTO z dodatkami): #!/bin/sh # # /etc/rc.d/rc.firewall, define the firewall configuration, invoked from # rc.local. # PATH=/sbin:/bin:/usr/sbin:/usr/bin LOCAL_DEV=eth0 LOCAL_IF=192.168.1.1 LOCAL_NET=192.168.1.0 LOCAL_MASK=255.255.255.0 WORLD_DEV=eth1 WORLD_IF=???.???.???.??? WORLD_NET=???.???.???.??? WORLD_MASK=???.???.???.??? # testing, wait a bit then clear all firewall rules. # uncomment following lines if you want the firewall to automatically # disable after 10 minutes. # (sleep 600; \ # ipfwadm -I -f; \ # ipfwadm -I -p accept; \ # ipfwadm -O -f; \ # ipfwadm -O -p accept; \ # ipfwadm -F -f; \ # ipfwadm -F -p accept; \ # ) & ### uwaga na marginesie... powyższe _bardzo_ ułatwia życie :) # Incoming, flush and set default policy of deny. Actually the default policy # is irrelevant because there is a catch all rule with deny and log. ipfwadm -I -f ipfwadm -I -p deny # dowolny interfejs, udaje loopback - spoofing, spad ipfwadm -I -i deny -o -P all -S 127.0.0.0/8 -V $LOCAL_IF -D 0/0 ipfwadm -I -i deny -o -P all -S 127.0.0.0/8 -V $WORLD_IF -D 0/0 # dowolny interfejs, pakiety udajace, ze sa ode mnie - jw. ipfwadm -I -a deny -o -P all -S $LOCAL_IF/32 -V $LOCAL_IF -D 0/0 ipfwadm -I -a deny -o -P all -S $LOCAL_IF/32 -V $WORLD_IF -D 0/0 ipfwadm -I -a deny -o -P all -S $WORLD_IF/32 -V $LOCAL_IF -D 0/0 ipfwadm -I -a deny -o -P all -S $WORLD_IF/32 -V $WORLD_IF -D 0/0 # local interface, local machines, going anywhere is valid ipfwadm -I -a accept -V $LOCAL_IF -S $LOCAL_NET/$LOCAL_MASK -D 0.0.0.0/0 # remote interface, claiming to be local machines, IP spoofing, get lost ipfwadm -I -a deny -V $WORLD_IF -S $LOCAL_NET/$LOCAL_MASK -D 0.0.0.0/0 -o # interfejs zewnetrzny - polaczenia na port SSH sa przepuszczane ipfwadm -I -a accept -V $WORLD_IF -S 0.0.0.0/0 -D $WORLD_IF/32 22 -P tcp ipfwadm -I -a accept -V $WORLD_IF -S 0.0.0.0/0 -D $WORLD_IF/32 22 -P udp # interfejs zewnetrzny - polaczenia TCP i UDP na porty chronione sa odrzucane ipfwadm -I -a reject -V $WORLD_IF -S 0.0.0.0/0 -D $WORLD_IF/32 0:1023 -P tcp -o ipfwadm -I -a reject -V $WORLD_IF -S 0.0.0.0/0 -D $WORLD_IF/32 0:1023 -P udp -o # remote interface, any source, going to permanent PPP address is valid ipfwadm -I -a accept -V $WORLD_IF -S 0.0.0.0/0 -D $WORLD_IF/32 # loopback interface is valid. ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0 # catch all rule, all other incoming is denied and logged. pity there is no # log option on the policy but this does the job instead. ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o # Outgoing, flush and set default policy of deny. Actually the default policy # is irrelevant because there is a catch all rule with deny and log. ipfwadm -O -f ipfwadm -O -p deny # local interface, any source going to local net is valid ipfwadm -O -a accept -V $LOCAL_IF -S 0.0.0.0/0 -D $LOCAL_NET/$LOCAL_MASK # outgoing to local net on remote interface, stuffed routing, deny ipfwadm -O -a deny -V $WORLD_IF -S 0.0.0.0/0 -D $LOCAL_NET/$LOCAL_MASK -o # outgoing from local net on remote interface, stuffed masquerading, deny ipfwadm -O -a deny -V $WORLD_IF -S $LOCAL_NET/$LOCAL_MASK -D 0.0.0.0/0 -o ipfwadm -O -a deny -V $WORLD_IF -S 0.0.0.0/0 -D $LOCAL_NET/$LOCAL_MASK -o # anything else outgoing on remote interface is valid ipfwadm -O -a accept -V $WORLD_IF -S $WORLD_IF/32 -D 0.0.0.0/0 # loopback interface is valid. ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0 # catch all rule, all other outgoing is denied and logged. pity there is no # log option on the policy but this does the job instead. ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o # Forwarding, flush and set default policy of deny. Actually the default policy # is irrelevant because there is a catch all rule with deny and log. ipfwadm -F -f ipfwadm -F -p deny # Masquerade from local net on local interface to anywhere. ipfwadm -F -a masquerade -W $WORLD_DEV -S $LOCAL_NET/$LOCAL_MASK -D 0.0.0.0/0 # catch all rule, all other forwarding is denied and logged. pity there is no # log option on the policy but this does the job instead. ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o #koniec -- (-) Lukasz Grochal lgrochal@rmf.fm _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ http://www.rmf.fm/ludzie/lukie _ A poza tym uważam, że [----] [Ustawa z dn. 31 VII 81r., o kontroli publikacji i widowisk; art. 2, pkt. 1 (Dz.U. nr 20, poz. 99)] ...
Technical Details
Message-ID:
<76mmuc$2f9$1@intranet.rmf.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!orion.cst.tpsa.pl!news.nask.pl!cyfronet!intranet.rmf.pl!not-for-mailReferences:
<368E8C45.BCDF155F@in.com.pl> <slrn78tj28.7fs.newrom@bilbo.pasjo.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!orion.cst.tpsa.pl!news.nask.pl!cyfronet!intranet.rmf.pl!not-for-mail
From: Lukasz Grochal <lgrochal@rmf.pl>
Newsgroups: pl.comp.os.linux.sieci
Subject: Re: Masquerade - pomocy!
Date: 3 Jan 1999 03:07:56 GMT
Organization: RMF FM
Lines: 133
Message-ID: <76mmuc$2f9$1@intranet.rmf.pl>
References: <368E8C45.BCDF155F@in.com.pl> <slrn78tj28.7fs.newrom@bilbo.pasjo.net.pl>
NNTP-Posting-Host: lukasz.rmf.pl
Mime-Version: 1.0
X-Server-Date: 3 Jan 1999 03:07:56 GMT
User-Agent: tin/pre-1.4-981225 ("Volcane") (UNIX) (Linux/2.0.36 (i586))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit