Are you a developer? Try out the
IP - MASQUERADE (MASKOWANIE PAKIETÓW)
IP-MASQUERADING jest funkcją sieciową Linuxa będąca w fazie rozwoju, zajmującą się
tłumaczeniem adresów sieciowych.
Jądra systemu od wersji 1.3.x mają wbudowaną obsługę maskowania pakietów.
Każdy pakiet ma swój adres docelowy i zwrotny, dzięki temu może on dotrzeć do innego komputera, a
ten na podstawie adresu zwrotnego może z kolei wysłać odpowiedź.
Jeśli komputer z sieci wewnętrznej o adresie 192.168.0.3 próbowałby wysłać wiadomość do
komputera znajdującego się gdzieś w sieci Internet, to nie otrzyma odpowiedzi z powodu złego adresu
zwrotnego. W wysyłanym pakiecie adres zwrotny będzie adresem z klasy C o numerze 192.168.0.3,
który to nie jest adresem routowalnym i przepadnie gdzieś w sieci.
Aby nasz komputer otrzymał odpowiedź, należy wskazać jako bramę sieciową serwer z poprawnie
zaimplementowanym IP-masqueradingiem, który przechwyci wszystkie pakiety wysyłane przez
komputery w sieci wewnętrznej i zmieni ich adres zwrotny na swój własny, legalny numer IP. Pakiet
bez problemu dotrze do komputera docelowego, który wyśle odpowiedź z adresem zwrotnym serwera,
a serwer po odebraniu pakietu zmieni jego adres zwrotny na adres naszego komputera w sieci
wewnętrznej.
W katalogu /etc/rc.d/ należy stworzyć skrypt o nazwie rc.forward, w którym umieścimy reguły
Are you a developer? Try out the
maskowania pakietów.
W pliku /etc/rc.d/rc.local umieszczamy następujący wpis /etc/rc.d/rc.forward, który spowoduje
uruchomienie podczas startu systemu naszego skryptu z regułami maskowania .
Uruchomienie funkcji maskowania odbywa się poprzez wywołanie następującego polecenia :
echo "1" > /proc/sys/net/ipv4/ip_forward
Reguły maskowania pakietów ustalamy za pomocą programu ipchains z odpowiednimi parametrami :
usuwamy wszystkie reguły maskowania
ipchains -F forward
blokujemy możliwość maskowania czegokolwiek
ipchains -P forward DENY
Dodajemy nową regułę maskowania, gdzie źródłem może być adres wraz z maską hosta lub sieci, z
której chcemy maskować pakiety, a celem w naszym przypadku jest sieć Internet.
Are you a developer? Try out the
ipchains -A forward -s źródło -d cel -j MASQ
Aby wszystkie komputery z naszej sieci mogły podlegać forwardingowi, należy w miejscu celu wpisać
adres naszej sieci wewnętrznej yyy.yyy.yyy.yyy wraz znumerem odpowiadającym ilości bitów naszej
maski - x , czyli :
ipchains -A forward -s yyy.yyy.yyy.yyy/x -d 0.0.0.0/0 MASQ
MASKA
X
PODSIEĆ
255.0.0.0
8
Klasa A
255.255.0.0
16
Klasa B
255.255.255.0
24
Klasa C
255.255.255.255
32
Point-to-point
Dla sieci o numerze 192.168.0.0 i masce 255.255.255.0 polecenie ustawiające maskowanie powinno
wyglądać następująco:
ipchains -A forward -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQ
Jeśli chcielibyśmy, aby w naszej sieci tylko pakiety z komputera o adresie 192.168.0.4 podlegały
Are you a developer? Try out the
maskowaniu, należy wydać polecenie :
ipchains -A forward -s 192.168.0.4/32 -d 0.0.0.0/0 -j MASQ