Na przyk³ad, aby udostêpniæ
po³¹czenie œledz¹ce sesje FTP, powinieneœ za³adowaæ modu³y ip_conntrack_ftp
i ip_nat_ftp.o i u¿yæ ich.
Konfigurowanie maskowania IP
Je¿eli ju¿ przeczyta³eœ rozdzia³y na temat firewalla i liczenia ruchu IP, nie bêdziesz
zaskoczony, ¿e do konfigurowania regu³ maskowania IP s¹ u¿ywane równie¿ polece-
nia ipfwadm, ipchains i iptables.
Regu³y maskowania s¹ szczególn¹ klas¹ regu³ filtruj¹cych. Mo¿liwe jest maskowanie
jedynie tych datagramów, które s¹ odbierane na jednym interfejsie i rutowane do in-
nego interfejsu. W celu utworzenia regu³y maskowania musisz skonstruowaæ regu³ê
bardzo podobn¹ do regu³y przekazywania dla firewalla, ale z wykorzystaniem spe-
cjalnych opcji, które mówi¹ j¹dru, by maskowa³o datagram. Polecenie ipfwadm wyko-
rzystuje opcjê –m, ipchains opcjê -j MASQ, a iptables opcjê -j MASQUERADE, by poka-
zaæ, ¿e datagram pasuj¹cy do regu³y powinien byæ zamaskowany.
Spójrzmy na przyk³ad. Student informatyki z uniwersytetu Groucho Marx ma w do-
mu kilka komputerów po³¹czonych w sieæ Ethernet. Zdecydowa³ siê na u¿ycie jed-
nego z prywatnych, zarezerwowanych adresów sieci. Mieszka razem z innymi stu-
dentami, którzy te¿ chc¹ mieæ dostêp do Internetu. Poniewa¿ ich warunki ¿yciowe
s¹ doœæ skromne, nie mog¹ pozwoliæ sobie na sta³e po³¹czenie z Internetem, a wiêc
u¿ywaj¹ zwyk³ego, komutowanego po³¹czenia PPP. Wszyscy chcieliby wspó³dzie-
liæ ³¹cze, by pogadaæ na IRC-u, poogl¹daæ strony WWW czy pobraæ pliki przez FTP
bezpoœrednio na swoje komputery – maskowanie IP jest tu dobrym rozwi¹zaniem.
Student konfiguruje najpierw komputer z Linuksem obs³uguj¹cy ³¹cze komutowane
i dzia³aj¹cy jako ruter dla sieci LAN. Adres IP, jakiego u¿ywa przy dzwonieniu, nie
jest istotny. Konfiguruje ruter z maskowaniem IP i u¿ywa jednego z adresów sieci
prywatnej dla swojej sieci LAN: 192.168.1.0. Zapewnia ka¿demu hostowi w sieci
LAN ustawienie domyœlnego rutingu tak, by wskazywa³ na ruter linuksowy.
Poni¿sze polecenia ipfwadm wystarcz¹, by maskowanie zadzia³a³o w takiej konfiguracji:
# ipfwadm -F -p deny
# ipfwadm -F -a accept -m -S 192.168.1.0/24 -D 0/0
lub w przypadku ipchains:
# ipchains -P forward -j deny
# ipchains -A forward -s 192.168.1.0/24 -d 0/0 -j MASQ
lub w przypadku iptables:
# iptables -t nat -P POSTROUTING DROP
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Teraz, gdy tylko jakiœ z hostów z sieci LAN spróbuje po³¹czyæ siê z us³ug¹ na hoœcie
zdalnym, jego datagramy zostan¹ automatycznie zamaskowane przez ruter z Li-
nuksem. Pierwsza regu³a w ka¿dym z przyk³adów zapobiega przed rutowaniem
wszelkich innych datagramów i zapewnia pewne bezpieczeñstwo.
Aby zobaczyæ w³aœnie utworzon¹ listê regu³ maskowania, u¿yj argumentu -l w po-
leceniu ipfwadm zgodnie z tym, co opisaliœmy, omawiaj¹c firewalle.
210
Rozdzia³ 11: Maskowanie IP i translacja adresów sieciowych
Oto, jak nale¿y zapisaæ to polecenie:
# ipfwadm -F -l -e
W wyniku otrzymujemy:
# ipfwadm -F -l -e
IP firewall forward rules, default policy: accept
pkts bytes type prot opt tosa tosx ifname ifaddress ...
0
0 acc/m all ---- 0xFF 0x00 any
any
...
Symbol „/m” w wyniku pokazuje w³aœnie regu³ê maskowania.
Aby zobaczyæ listê regu³ maskowania w przypadku polecenia ipchains, u¿yj argu-
mentu –L. Wynik bêdzie nastêpuj¹cy:
# ipchains -L
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
target
prot
opt
source
destination
ports
MASQ
all ------ 192.168.1.0/24
anywhere
n/a
Chain output (policy ACCEPT):
Wszelkie regu³y, w których pole target ma wartoœæ MASQ, to regu³y maskowania.
No i aby zobaczyæ regu³y za pomoc¹ iptables, musisz u¿yæ czegoœ takiego:
# iptables -t net -L
Chain PREROUTING (policy ACCEPT)
target
prot
opt
source
destination
Chain POSTROUTING (policy DROP)
target
prot
opt
source
destination
MASQUERADE all --
anywhere
anywhere
MASQUERADE