Maskowanie adresów IP polega na ukryciu (zmaskowaniu) adresów IP komputerów w sieci przez router podłączony do internetu. Pozwala to na dostęp do internetu komputerom nie posiadającym publicznego adresu IP (192.168.*.* czy też 10.*.*.*), lub też na ochronę tychże komputerów nawet jeżeli mają publiczne adresy IP - maskarada jest jedną z odmian firewalla.
Nasza przykładowa sieć będzie wyglądała następująco:
świat ---- rl1=serwer_FreeBSD=rl0 ---- switch
---- komputery_sieci_lokalnej
Są dwa sposoby zrobienia maskarady pod FreeBSD (a nawet trzy/cztery):
I. ipfw + natd
I.1 Dodajemy odpowiednie opcje do naszego kernela i
kompilujemy go oraz instalujemy
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT |
I.2 Dodajemy odpowienie wpisy w /etc/rc.conf
#konfiguracja karty sieciowej od
strony lanu i internetu
ifconfig_rl0="192.168.1.1 netmask
255.255.255.0"
ifconfig_rl1="IP_ZEWN netmask MASKA"#uruchamianie firewalla przy starcie
firewall_enable="YES"
#ścieżka do skryptu firewalla
firewall_script="/etc/rc.firewall"
#typ firewalla (proponuję na razie OPEN - przepuszcza wszystko)
firewall_type="OPEN"
#logowanie do plików
firewall_logging="YES"
#dodatkowe flagi (opcjonalnie)
firewall_flags=""
#uruchamiania przy starcie natowania - maskarady
natd_enable="YES"
#ścieżka do programu natd
natd_program="/sbin/natd"
#tutaj podajemy oznaczenie interfejsu zew.
lub swoje IP zew.
natd_interface="rl1"
#dodatkowe flagi (opcjonalnie)
natd_flags=""
#serwer będzie bramką
gateway_enable="YES"
|
I.3 W tym przypadku to wszystko. Teraz wystarczy tylko
reboot i skonfigurowanie klientów. Polecam
DHCP.
II. ipf + ipnat
II.1 Dodajemy odpowiednie opcje do naszego kernela i
kompilujemy go oraz instalujemy
options IPFILTER
options IPFILTER_LOG |
II.2 Dodajemy odpowienie wpisy w /etc/rc.conf
#konfiguracja karty sieciowej od
strony lanu i internetu
ifconfig_rl0="192.168.1.1 netmask
255.255.255.0"
ifconfig_rl1="IP_ZEWN netmask MASKA"#uruchamianie firewalla przy starcie
ipfilter_enable="YES"
#ścieżka do programu ipf
ipfilter_program="/sbin/ipf"
#ścieżka do regułek firewalla
ipfilter_rules="/etc/ipf.rules"
#dodatkowe flagi (opcjonalnie)
ipfilter_flags=""
#uruchamiania przy starcie natowania -
maskarady
ipnat_enable="YES"
#ścieżka do programu ipnat
ipnat_program="/sbin/ipnat"
#ścieżka do regułek maskarady
ipnat_rules="/etc/ipnat.rules"
#dodatkowe flagi (opcjonalnie)
ipnat_flags=""
#serwer będzie bramką
gateway_enable="YES"
|
II.3 Edycja pliku z regułkami firewalla (trzeba
utworzyć samemu) /etc/ipf.rules
#na początku puszczamy cały ruch na firewallu
pass in from any to any
pass out from any to any |
II.4 Edycja pliku z regułkami maskarady (trzeba
utworzyć samemu) /etc/ipnat.rules
map rl1 192.168.1.0/24 -> IP_ZEWN/32 proxy port 21
ftp/tcp
map rl1 192.168.1.0/24 -> IP_ZEWN/32 portmap tcp/udp 30000:60000
map rl1 192.168.1.0/24 -> IP_ZEWN/32 |
lub
map rl1 192.168.1.0/24 -> 0/32 proxy port 21
ftp/tcp
map rl1 192.168.1.0/24 -> 0/32 portmap tcp/udp 30000:60000
map rl1 192.168.1.0/24 -> 0/32 |
II.5 W tym przypadku to wszystko. Teraz wystarczy tylko
reboot i skonfigurowanie klientów. Polecam DHCP. Więcej na temat
ipf + ipnat.
III. ppp_nat
III.1 Jeżeli korzystamy z interfejsu tun np. SDI czy
Neostrada możemy skorzystać z wbudowanego mechanizmy natowania PPP. W tym celu
należy wyedytować plik /etc/rc.conf i dopisać poniższą opcję:
IV. pf
Jest jeszcze pf (Packet Filter z OpenBSD). Jeżeli interesują kogoś szczegóły na temat pf odsyłam do polskiego
FAQ-pf
Autor: Artur Kulda
arti(at)bsd4u.org
Powyższy artykuł został udostępniony na zasadach Licencji BSD |
Re: NATowanie czyli jak zrobić ''maskara Dodane przez Trash w dniu - 2003-09-11 04:57:41 | Jesli chodzi o polaczenie ipfw + natd to nalezy dodac w pliku rc.firewall lub jakimkolwiek innym z skryptami do firewalla: ${fwcmd} add divert natd all from any to any via ${natd_interface} w miejscu odpowiednim, w zaleznosci co tam juz mamy. | add divert jest zawsze Dodane przez arti w dniu - 2003-09-11 08:36:29 | W standardowym skrypcie taka linijka zawsze istnieje, chyba, że ktoś ją sobie wcześniej usunie. Nie wnikałem w szczegóły ponieważ nie pisałem nic o edycji pliku rc.firewll. A jeżeli nie pisałem o edycji tego pliku to wychodzę z założenia, że nie był on ruszany ani zmieniany. Ale dzięki za komentarz, na pewno się przyda ;-)) | Re: add divert jest zawsze Dodane przez Trash w dniu - 2003-09-12 03:51:31 | Szczerze mowiac nie wiedzialem o tym ze jest domyslnie. Tak sobie wczoraj siedzialem i akurat chcialem z ipnat przeskoczyc na natd. Nie mialem to sobie wyknulem ze byc powinna . W sumie teraz jest pelen opis. | IPFW + ipnat Dodane przez Ice_men w dniu - 2006-03-17 21:21:16 | | a probowaliscie moze kombinacji IPFW + ipnat ?? |
Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment! |