Ostatnio Na Forum
Logowanie

Polityka prywatno?ci

Portal openrouter.info stosuje pliki cookies ("ciasteczka") pozwalające na dostosowanie zawartości portalu do indywidualnych potrzeb. Korzystanie z portalu bez zmiany ustawień dotyczących ciasteczek oznacza akceptację umieszczenia ich na urządzenia użytkownika. Zmianę ustawień pliku ciasteczek można wykonać zmieniając opcję w ustawieniach przeglądarki internetowej. Więcej informacji można znaleźć w Polityce prywatności.

SNAT i DNAT w przyk?adach - OpenWrt

Email Drukuj

Technologia NAT (ang. Network Address Translation) inaczej translacja adresw sieciowych zosta?a opisana w dokumencie RFC1631. Liczba komputerw pod??czonych do internetu ro?nie wyk?adniczo co spowodowa?o ju? w latach 90-tych to, i? pula adresw publicznych zacze?a si? wyczerpywa?. Szybko zorientowano si?, ?e bardzo szybko zabraknie publicznych adresw IP dla nowo budowanych sieci. Aby temu zaradzi? wymy?lono NAT. Technologia NAT i nowe podej?cie do projektowania sieci IP, pozwoli?o na d?ugie lata przed?u?y? "niedalek? przysz?o??" co najmniej do dzi?. Wiele istniej?cych sieci nie opiera si? na adresach publicznych (bo takich ju? brakuje). Zamiast tego stosowane s? dla tych sieci adresy prywatne zdefiniowane w dokumencie RFC do ktrych nale??:

  • dla klasy A - adresy z zakresu 10.0.0.0 - 10.255.255.255
  • dla klasy B - adresy z zakresu 172.16.0.0 - 172.31.255.255
  • dla klasy C - adresy z zakresu 192.168.0.0 - 192.168.255.255


Adresy te nie s? oficjalnie rejestrowane. W zwi?zku z tym wiele istniej?cych sieci mo?e wykorzystywa? ten sam zakres adresowy ( czyli te sam? pul? adresw prywatnych ) co czyni internet skalowalny. Jednak ma to swoj? wad?. Poniewa? adresy nie s? oficjalnie rejestrowane czyli, nie s? unikalne - stwarza to powa?ny problem. Ot? pakiety w internecie z adresami prywatnymi nie mog? by? przesy?ane (rutowane) - po prostu nie mo?na okre?li? dla nich trasy. I w?a?nie w tym momencie wkracza technologia NAT. Dzi?ki niej aby uzyska? ??czno?? w sieci prywatnej wystarczy mie? minimum jeden adres publiczny IP (adres interfejsu zewn?trznego routera). Od strony internetu ca?a sie? prywatna jest widoczna jako jeden adres publiczny (mo?e by? wiele adresw). Najcz??ciej wykorzystujemy jedn? z dwch odmian translacji NAT:

SNAT

Translacja adresw ?rd?owych SNAT (ang. Source NAT) umo?liwia komputerom w sieci prywatnej dost?p do Internetu, a dok?adniej - do us?ug oferowanych przez r?ne serwery. Oznacza to, ?e pakiety, ktrych ?rd?em s? komputery sieci prywatnej, powinny dociera? do tych serwerw, a odpowiedzi - wraca? z powrotem. Proces translacji SNAT przebiega w dwch krokach:

  • gdy pakiet opuszcza sie? ?rd?ow?, ruter zamienia prywatny adres IP ?rd?a na adres swojego publicznego interfejsu oraz numer portu ?rd?owego na inny, nie zaj?ty numer portu. Zapami?tuje t? zmian? w tablicy translacji w postaci odwzorowania oryginalny_adres_IP:oryginalny_portnowy_adres_IP:nowy_port. Dzi?ki zamianie adresu ?rd?owego na publiczny mo?na dla pakietu z odpowiedzi? jednoznacznie okre?li? tras?. Nowy numer portu za? pozwala dodatkowo rozr?nia? poszczeglne adresy prywatne, dzi?ki czemu z us?ug Internetu mo?e jednocze?nie korzysta? wiele komputerw sieci prywatnej.
  • gdy ruter otrzymuje pakiet-odpowied?, publiczny adres docelowy (b?d?cy adresem ?rd?owym w poprzednim pakiecie) wraz z numerem portu docelowego s? zamieniane z powrotem na oryginalne warto?ci zgodnie z zapami?tanym wcze?niej odwzorowaniem. Dzi?ki temu odpowied? dociera do w?a?ciwego procesu na w?a?ciwym komputerze.

MASQUERADE

Jest to specjalna odmiana SNAT stosowana najcz??ciej, wtedy gdy otrzymujemy na interfejsie zewn?trznym routera adres IP publiczny. Mo?e rwnie? by? stosowany przy adresach statycznych. W OpenWrt domy?lnie jest wykorzystywany w momencie gdy otrzymujemy adres publiczny - niewazne czy dynamiczny czy statyczny. To on nam za?atwia translacj? adresw prywatnych na adres publiczny.

DNAT

Translacja dresw docelowych DNAT (ang. Destination NAT) umo?liwia komputerom z sieci publicznej dost?p do us?ug oferowanych przez serwery znajduj?ce si? w sieci prywatnej. Oznacza to, ?e pakiety, ktrych ?rd?em s? komputery sieci publicznej, powinny dociera? do tych serwerw, a odpowiedzi - wraca? z powrotem. Us?ugi sieci prywatnej dost?pne s? dla sieci zewn?trznej pod publicznym adresem interfejsu rutera. Translacja DNAT przebiega w dwch krokach:

  • gdy pakiet dociera do sieci prywatnej, jego adres IP docelowy jest ustawiony na publiczny adres zewn?trznego interfejsu rutera; pod tym adresem bowiem us?uga jest dost?pna. Ruter zamienia ten adres na w?a?ciwy adres serwera; w najprostszym przypadku numer portu docelowego nie ulega zmianie.
  • gdy ruter otrzymuje pakiet-odpowied?, z powrotem zamienia prywatny adres ?rd?owy na adres publiczny swojego zewn?trznego interfejsu.


W dokumencie tym nie b?d? zajmowa? si? translacj? MASQUERADE. Zostan? przedstawione przyk?ady wykorzystania DNAT i SNAT w naszej sieci.

Uwagi do przedstawionych poni?ej przyk?adw:

We wszystkich przedstawionych przyk?adach za?o?ono domy?ln? konfiguracj? OpenWrt czyli, ?e w pliku /etc/config/firewall s? u?yte standardowe opisy sieci (lan,wan):

config 'zone'
option 'name' 'lan'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'

config 'zone'
option 'name' 'wan'
option 'input' 'REJECT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'
option 'mtu_fix' '1'

poniewa? na podstawie tych opisw tworzone s? poszczeglne ?a?cuchy firewalla w openwrt np.

prerouting_lan
zone_lan_forward

nie s? to nazwy przypadkowe. prosz? zauwa?y? w w/w s?owach s?owo "lan". Dotyczy ono wpisu w zone "option name lan"

Identycznie jest od strony strefy WAN. Je?li stref? opiszemy jako wan to wtedy z tym s?owem zostan? utworzone standardowe regu?y:

prerouting_wan
zone_wan_forward
zone_wan_prerouting

Zreszt? prosz? zauwa?y? i? w plikach:

/etc/config/network
/etc/config/dhcp
/etc/config/firewall

rwnie? pos?ugujemy si? tymi nazwami i s? one ?ci?le powi?zane z automatycznie utworzonymi ?a?cuchami firewalla w OpenWrt.

W razie problemw nieodzowne s? komendy:

iptables -L -v -n
iptables -t nat -L -v -n

dzi?ki ktrym mo?emy przeanalizowa? i rozwi?za? ewentualne problemy.

UWAGA !!!

Od wersji r23025 wprowadzono SNAT do konfiguracji firewalla poprzez UCI (DNAT ju? by? wcze?niej). Dodano rwnie? opcj? NAT Reflection.

Czyli wsz?dzie tam gdzie w konfiguracji pojawiaj? si? poni?sze wpisy:

config redirect
option src wan
option src_dip 178.37.50.75
option dest lan
option dest_ip 192.168.1.105
option target DNAT

config redirect
option src lan
option src_ip 192.168.1.105
option dest wan
option src_dip 178.37.50.75
option target SNAT

czyli option target SNAT i DNAT oraz chemy uzyska? opcj? NAT Reflection mo?na konfigurowa? ale po aktualizacji do wersji r23025 Backfire OpenWrt (s? to pliki /lib/firewall/uci_firewall.sh oraz /etc/hotplug.d/firewall/10-nat-reflection)

Kompilacje wykonane przez obsy zawieraj? ju? w/w zmiany i nic nie trzeba robi?. Pobierzesz je ze strony http://eko.one.pl



Wykorzystanie DNAT w OpenWrt do wykonania prostego przekierowania z WAN do LAN

openwrt_only_dnat

Jedno z najcz??ciej wykonywanych przekierowa?.

Za?o?enia:

  1. Chcemy uzyska? dost?p z internetu (WAN) do naszej kamery znajduj?cej si? w sieci wewn?trznej (LAN) odwo?uj?c si? na adres IP b?d? nazw? dns interfejsu WAN routera.

Plik /etc/config/firewall winien zosta? uzupe?niony o nast?puj?ce wpisy:

config 'redirect'
option 'src' 'wan'
option 'src_dport' '5555'
option 'dest' 'lan'
option 'dest_ip' '192.168.1.10'
option 'dest_port' '5555'
option 'proto' 'tcp'

To co zosta?o wykonane poprzez UCI jest odpowienikiem:

iptables -t nat -I zone_wan_prerouting -p tcp --dport 5555-j DNAT --to-destination 192.168.1.10:5555
iptables -I zone_wan_forward -p tcp --dport 5555 -d 192.168.1.10 -j ACCEPT[

iptables -t nat -I nat_reflection_in -p tcp -s 192.168.1.0/24 -d WAN_IP_ADDRESS --dport 5555 -j DNAT --to-destination 192.168.1.10:5555
iptables -t nat -I nat_reflection_out -p tcp -s 192.168.1.0/24 -d 192.168.1.10 --dport 5555 -j SNAT --to 192.168.1.1

czyli nie musimy robi? SNAT aby mie? dost?p od strony LAN do hosta w LAN. NAT Reflection wykonana odpowiednie regu?y za nas. Opcja NAT Reflection jest uaktywniana w momencie u?ycia opcji przekierowania portw src_dport.

zauwa?cie i? nie okre?li?em opcji:

option 'target' 'DNAT'

po protu nie ma takiej potrzeby, bo jest to domy?lna opcja je?li nie okre?lili?my inaczej.



Wykorzystanie SNAT i DNAT w OpenWrt z publicznym adresem statycznym:

openwrt_snat_dnat_static

Za?o?enia:

  1. Chcemy uzyska? dost?p z internetu do kamery na porcie 5555 i adresie publicznym IP 179.38.59.78 ( tu wykorzystamy DNAT)
  2. Chcemy uzyska? dost?p do kamery z sieci LAN wywo?uj?c adres publiczny IP 179.38.59.78 i port 5555 (tu wykorzystamy SNAT)

Kto? pomy?li po co z sieci LAN odwo?uj?c si? do adresu sieci WAN dost?p do naszej kamery ? Ano zamiast kamery mo?na sobie wyobrazi? nasz serwer pocztowy. Mamy laptopa z skonfigurowanym ju? programem pocztowym na adres IP 179.38.59.78. Teraz niewa?ne czy jeste?my poza firm? czy w siedzibie firmy zawsze uzyskujemy dost?p do poczty pod tym samym adresem i numerem portu. Tak samo jest z kamer?. Jak mamy j? udost?pnion? w internet to niewa?ne czy jeste?my gdzie? poza firm? czy w firmie zawsze tak samo si? odwo?ujemy do naszej kamery (ten sam adres IP i numer portu).

Konfiguracja OpenWrt:

Do pliku /etc/firewall.user dopisujemy (to jest nasz DNAT):

iptables -t nat -A prerouting_rule -p tcp --dst 179.38.59.78 --dport 5555 -j DNAT --to-destination 192.168.1.10:5555
iptables -A forwarding_rule -p tcp --dst 192.168.1.10 --dport 5555 -j ACCEPT

Do pliku /etc/firewall.user dopisujemy (to jest nasz SNAT)

iptables -t nat -A postrouting_rule -p tcp --src 192.168.1.0/24 --dst 192.168.1.10 --dport 5555 -j SNAT --to 192.168.1.1

Je?eli chcemy rwnie? mie? przekierowanie z adresu IP LAN routera 192.168.1.1 na nasz? kamer? 192.168.1.10 to dopisujemy jeszcze poni?sze polecenie do pliku /etc/firewall.user:

iptables -t nat -A prerouting_lan -p tcp --dst 192.168.1.1 --dport 5555 -j DNAT --to-destination 192.168.1.10:5555

Konfiguracja OpenWrt ver.2:

Do pliku /etc/config/firewall dopisujemy:

config 'redirect'
option 'src_dport' '5555'
option 'src' 'lan'
option 'src_dip' '179.38.59.78'
option 'dest_ip' '192.168.1.10'
option 'proto' 'tcp'

Ma?e wyja?nienie:
W wersji drugiej zosta?a wykonana konfiguracja z DNAT oddzielnie dla WAN i LAN. Tzn. oddzielnie definiujemy dost?p i przekierowanie do kamery z sieci LAN i z internetu WAN.

To co zosta?o wykonane poprzez UCI jest odpowiednikiem wpisw iptables (ppp0 to interfejs WAN):

iptables -t nat -A zone_wan_prerouting -p tcp --dport 5555 -j DNAT --to-destination 192.168.1.10:5555
iptables -A zone_wan_forward -p tcp --dst 192.168.1.10 --dport 5555 -j ACCEPT

iptables -t nat -I nat_reflection_in -p tcp -s 192.168.1.0/24 -d 179.38.59.78 --dport 5555 -j DNAT --to-destination 192.168.1.10:5555
iptables -t nat -I nat_reflection_out -p tcp -s 192.168.1.0/24 -d 192.168.1.10 --dport 5555 -j SNAT --to 192.168.1.1

prosz? jeszcze zauwa?y? jedn? rzecz. Nie u?y?em opcji dest_port. Nie musia?em. Je?li nie zdefiniujemy tej opcji to pobierze port z parametru src_dport. Je?li jednak chcemy na inny port przekierowa? to musimy tej opcji u?y?.

czyli nie musimy robi? SNAT aby mie? dost?p od strony LAN do hosta w LAN. NAT Reflection wykonana odpowiednie regu?y za nas. Opcja NAT Reflection jest uaktywniana w momencie u?ycia opcji przekierowania portw src_dport.



Wykorzystanie SNAT i DNAT w OpenWrt z publicznym adresem dynamicznym:

openwrt_snat_dnat_ddns

Za?o?enia:

  1. Chcemy uzyska? dost?p z internetu do kamery na porcie 5555 i dynamicznym adresie publicznym IP ( tu wykorzystamy DNAT)
  2. Chcemy uzyska? dost?p do kamery z sieci LAN wywo?uj?c dynamiczny publiczny adres IP i port 5555 (tu wykorzystamy SNAT)
  3. Adresy zmieniaj? si? za ka?dym razem kiedy logujemy si? do internetu
  4. Aby u?atwi? odwo?anie do kamery odwo?ujemy si? do nazwy dns (us?uga dyndns) przypisanej do adresu dynamicznego publicznego IP

Plik /etc/firewall.user winien zosta? uzupe?niony o nast?puj?ce wpisy:

#tworzymy nowy ?a?cuch i przypisujemy do istniejacej reguly w OpenWrt
iptables -t nat -N prerouting_rule_dnat
iptables -t nat -I prerouting_rule -j prerouting_rule_dnat

#definiujemy SNAT na inny host w sieci lan
iptables -t nat -A postrouting_rule -p tcp --src 192.168.1.0/24 --dst 192.168.1.10 --dport 5555 -j SNAT --to 192.168.1.1

#dnat z ip lan routera 192.168.1.1 do hosta w lan 192.168.1.10 (opcjonalnie)
#iptables -t nat -A prerouting_lan -p tcp --dst 192.168.1.1 --dport 5555 -j DNAT --to-destination 192.168.1.10:5555

#forward do hosta 192.168.1.10
iptables -A forwarding_rule -p tcp --dst 192.168.1.10 --dport 5555 -j ACCEPT

Plik /etc/ppp/ip-up.d/90-dnat winien wygl?da? nast?puj?co:

tworzymy plik i nadajemy uprawnienia:

touch /etc/ppp/ip-up.d/90-dnat
chmod +x /etc/ppp/ip-up.d/90-dnat

utworzony plik wype?niamy poni?sz? tre?ci?:

#!/bin/sh

#czyszczenie starych regul
iptables -t nat -F prerouting_rule_dnat
#tworzenie nowych regul
iptables -t nat -A prerouting_rule_dnat -p tcp --dst $PPP_LOCAL --dport 5555 -j DNAT --to-destination 192.168.1.25:5555

Powinni?my mie? skonfigurowan? us?ug? dyndns na adres dynamiczny np.updatedd wygl?da jak poni?ej:

config 'updatedd'
option 'service' 'dyndns'
option 'username' 'user_name'
option 'password' 'tajne_haslo'
option 'host' 'wr1043nd.dyndns.org'
option 'update' '1

I to ju? wszystko. Teraz jak zalogujemy na nazw? dns w przegl?darce np. Firefox na adres "http://wr1043nd.dyndns.org:5555" czy to z lan czy to z internetu to dostaniemy si? do naszej kamery.

Konfiguracja ver.2

config 'redirect'
option 'src' 'wan'
option 'src_dport' '5555'
option 'dest' 'lan'
option 'dest_ip' '192.168.1.10'
option 'proto' 'tcp'

Powinni?my mie? skonfigurowan? us?ug? dyndns na adres dynamiczny np.updatedd wygl?da jak poni?ej:

config 'updatedd'
option 'service' 'dyndns'
option 'username' 'user_name'
option 'password' 'tajne_haslo'
option 'host' 'wr1043nd.dyndns.org'
option 'update' '1

I to ju? wszystko. Teraz jak zalogujemy na nazw? dns w przegl?darce np. Firefox na adres "http://wr1043nd.dyndns.org:5555" czy to z lan czy to z internetu to dostaniemy si? do naszej kamery.

Co zosta?o zrobione:

iptables -t nat -A zone_wan_prerouting -p tcp --dport 5555 -j DNAT --to-destination 192.168.1.10:5555
iptables -A zone_wan_forward -p tcp --dst 192.168.1.10 --dport 5555 -j ACCEPT

iptables -t nat -I nat_reflection_in -p tcp -s 192.168.1.0/24 -d WAN_IP_ADDRESS --dport 5555 -j DNAT --to-destination 192.168.1.10:5555
iptables -t nat -I nat_reflection_out -p tcp -s 192.168.1.0/24 -d 192.168.1.10 --dport 5555 -j SNAT --to 192.168.1.1

prosz? jeszcze zauwa?y? jedn? rzecz. Nie u?y?em opcji dest_port. Nie musia?em. Je?li nie zdefiniujemy tej opcji to pobierze port z parametru src_dport. Je?li jednak chcemy na inny port przekierowa? to musimy tej opcji u?y?.

czyli nie musimy robi? SNAT aby mie? dost?p od strony LAN do hosta w LAN. NAT Reflection wykonana odpowiednie regu?y za nas. Opcja NAT Reflection jest uaktywniana w momencie u?ycia opcji przekierowania portw src_dport.



Wykorzystanie SNAT w OpenWrt jako dost?p do modemu ADSL.

openwrt_wrt54gl_ag241_snat

Cz?sto stosowane po??czenie routera z modemem adsl i dost?p do modemu z LAN

Za?o?enia

  1. Modem ADSL AG241V2 ustawiony w BRIDGE
  2. Router WRT54GL ??czy si? poprzez PPPOE z internetem
  3. Chcemy mie? dost?p do modemu ADSL z naszej sieci LAN
  4. Adres sieci LAN - 192.168.50.0/24 (adres IP routera 192.168.50.1)
  5. Adres sieci LAN modemu ADSL - 192.168.1.0/24 (adres IP modemu 192.168.1.1)

Konfiguracja OpenWrt ver.1:

Plik /etc/firewall.user uzupe?niamy o poni?sze wpisy:

ifconfig eth0.1 192.168.1.2
#dost?p do portu 80 modemu czyli strony web
iptables -t nat -I postrouting_rule -p tcp --src 192.168.50.0/24 --dst 192.168.1.1 --dport 80 -j SNAT --to 192.168.1.2
iptables -I zone_lan_forward -p tcp --src 192.168.50.0/24 --dst 192.168.1.1 --dport 80 -j ACCEPT

#jak kto? chce mie? pinga dodatkowo
iptables -t nat -I postrouting_rule -p icmp --src 192.168.50.0/24 --dst 192.168.1.1 -j SNAT --to 192.168.1.2
iptables -I zone_lan_forward -p icmp --src 192.168.50.0/24 --dst 192.168.1.1 -j ACCEPT

Konfiguracja OpenWrt ver.2:

Teraz to co poprzednio definiowali?my w /etc/firewall.user definiujemy normalnie w /etc/config/firewall

config 'redirect'
option 'src' 'lan'
option 'src_ip' '192.168.50.0/24'
option 'src_dip' '192.168.1.2'
option 'dest' 'lan'
option 'proto' 'tcp'
option 'dest_sport' '80'
option 'dest_ip' '192.168.1.1'
option 'target' 'SNAT'

config 'redirect'
option 'src' 'lan'
option 'src_ip' '192.168.50.0/24'
option 'src_dip' '192.168.1.2'
option 'dest' 'lan'
option 'proto' 'icmp'
option 'dest_ip' '192.168.1.1'
option 'target' 'SNAT'

za? w pliku /etc/firewall.user zostaje tylko jeden wpis:

ifconfig eth0.1 192.168.1.2



NAT 1:1 - czyli przypisanie publicznego adresu ip do adresu prywatnego

openwrt_snat_dnat_nat11

NAT 1:1 to jest mniej wi?cej DMZ. Czyli je?li mamy komputer o adresie prywatnym 192.168.1.103 mo?emy przypisac, ?e od strony internetu b?dzie widziany jako adres publiczny 178.37.50.73. Daje nam to, i? wszystko co wychodzi z komputera w sieci LAN i przechodzi przez router b?dzie widoczne w internecie jako adres publiczny (router zamaskuje nasz adres prywatny). W skrcie uzyskujemy prosty DMZ. Tych przypisa? mo?emy wykona? tyle ile mamy wolnych adresw publicznych.

Za?o?enia:


Za??my, iz dostajemy od swojego dostawcy 8 adresow? sie?

178.37.50.70
178.37.50.71
178.37.50.72
178.37.50.73
178.37.50.74
178.37.50.75
178.37.50.76
178.37.50.77

z mask?


255.255.255.248

Czyli mamy tak naprawd? 5 u?ytecznych adresw bo

178.37.50.70 - sie?
178.37.50.71 - brama
178.37.50.77 - broadcast
178.37.50.72-178.37.50.76 - do wykorzystania adresy IP

  1. Adresacja sieci LAN: 192.168.1.0/24
  2. Adres statyczny interfejsu WAN routera: 178.37.50.72
  3. Chcemy aby by? wykonany NAT 1:1 178.37.50.73 -> 192.168.1.103
  4. Chcemy aby by? wykonany NAT 1:1 178.37.50.74 -> 192.168.1.104
  5. Chcemy aby by? wykonany NAT 1:1 178.37.50.75 -> 192.168.1.105
  6. Chcemy aby by? wykonywany bezproblemowy ruch z i do komputera w LAN z maskowaniem adresw (FORWARD)



Konfiguracja:
Plik /etc/config/network winien wygl?da?:

config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'

config 'interface' 'lan'
option 'ifname' 'eth0.1'
option 'type' 'bridge'
option 'proto' 'static'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'

config 'interface' 'wan'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'ipaddr' '178.37.50.72'
option 'netmask' '255.255.255.248'
option 'gateway' '178.37.50.71'
option 'dns' '208.67.222.222'
option 'dns' '208.67.220.220'

config 'alias'
option 'interface' 'wan'
option 'proto' 'static'
option 'ipaddr' '178.37.50.73'
option 'netmask' '255.255.255.248'

config 'alias'
option 'interface' 'wan'
option 'proto' 'static'
option 'ipaddr' '178.37.50.74'
option 'netmask' '255.255.255.248'

config 'alias'
option 'interface' 'wan'
option 'proto' 'static'
option 'ipaddr' '178.37.50.75'
option 'netmask' '255.255.255.248'

Do pliku /etc/firewall.user dopisujemy:

iptables -t nat -I prerouting_rule -d 178.37.50.73 -j DNAT --to-destination 192.168.1.103
iptables -t nat -I postrouting_rule -s 192.168.1.103 -j SNAT --to 178.37.50.73
iptables -I forwarding_rule -d 178.37.50.73 -j ACCEPT
iptables -I forwarding_wan -d 192.168.1.103 -j ACCEPT

iptables -t nat -I prerouting_rule -d 178.37.50.74 -j DNAT --to-destination 192.168.1.104
iptables -t nat -I postrouting_rule -s 192.168.1.104 -j SNAT --to 178.37.50.74
iptables -I forwarding_rule -d 178.37.50.74 -j ACCEPT
iptables -I forwarding_wan -d 192.168.1.104 -j ACCEPT

iptables -t nat -I prerouting_rule -d 178.37.50.75 -j DNAT --to-destination 192.168.1.105
iptables -t nat -I postrouting_rule -s 192.168.1.105 -j SNAT --to 178.37.50.75
iptables -I forwarding_rule -d 178.37.50.75 -j ACCEPT
iptables -I forwarding_wan -d 192.168.1.105 -j ACCEPT

Do pliku /etc/ethers dopisujemy adresy MAC tak aby nasze hosty w LAN zawsze dostawa?y ten sam adres ip:


xx:xx:xx:xx:xx:xx 192.168.1.103
xx:xx:xx:xx:xx:xx 192.168.1.104
xx:xx:xx:xx:xx:xx 192.168.1.105

Konfiguracja OpenWrt ver.2:

Teraz to co poprzednio definiowali?my w /etc/firewall.user definiujemy normalnie w /etc/config/firewall

Plik /etc/config/firewall winien zosta? uzupe?niony o poni?sze wpisy:

config redirect
option src wan
option src_dip 178.37.50.73
option dest lan
option dest_ip 192.168.1.103
option target DNAT

config redirect
option src lan
option src_ip 192.168.1.103
option dest wan
option src_dip 178.37.50.73
option target SNAT

config redirect
option src wan
option src_dip 178.37.50.74
option dest lan
option dest_ip 192.168.1.104
option target DNAT

config redirect
option src lan
option src_ip 192.168.1.104
option dest wan
option src_dip 178.37.50.74
option target SNAT

config redirect
option src wan
option src_dip 178.37.50.75
option dest lan
option dest_ip 192.168.1.105
option target DNAT

config redirect
option src lan
option src_ip 192.168.1.105
option dest wan
option src_dip 178.37.50.75
option target SNAT



NAT 1:1 - czyli przypisanie publicznego adresu ip do adresu prywatnego - przydzielanie adresw publicznych dynamiczne poprzez dhcp

alt

openwrt_snat_dnat_nat11dyn

NAT 1:1 to jest mniej wi?cej DMZ. Czyli je?li mamy komputer o adresie prywatnym 192.168.1.103 mo?emy przypisac, ?e od strony internetu b?dzie widziany jako adres publiczny 178.37.50.73. Daje nam to, i? wszystko co wychodzi z komputera w sieci LAN i przechodzi przez router b?dzie widoczne w internecie jako adres publiczny (router zamaskuje nasz adres prywatny). W skrcie uzyskujemy prosty DMZ. Tych przypisa? mo?emy wykona? tyle ile mamy wolnych adresw publicznych.

Za?o?enia:

Poni?ej przedstawi? konfiguracj? NAT 1:1 ale dla adresw publicznych uzyskanych dynamicznie poprzez dhcp od dostawcy internetu. Za?o?enie jest takie, i? dostajemy 8 adresow? sie? (czyli 5 u?ytecznych adresw) ale za ka?dym razem z innymi adresami. Czyli po prostu nie wiemy jakie adresy uzyskamy po ka?dym uzyskaniu dzier?awy przez router.

  1. Adresacja sieci LAN: 192.168.1.0/24
  2. Adres dynamiczny interfejsu WAN routera (dhcp) xx.xx.xx.xx
  3. Chcemy aby by? wykonany NAT 1:1 (dhcp) xx.xx.xx.xx+1 -> 192.168.1.103
  4. Chcemy aby by? wykonany NAT 1:1 (dhcp)xx.xx.xx.xx+2 -> 192.168.1.104
  5. Chcemy aby by? wykonany NAT 1:1 (dhcp)xx.xx.xx.xx+3 -> 192.168.1.105
  6. Chcemy aby by? wykonywany bezproblemowy ruch z i do komputera w LAN z maskowaniem adresw (FORWARD)

Instalacja:

opkg update
opkg install ip
opkg install kmod-macvlan

Modu? macvlan tworzy nam virtualny interfejs, ktry ma w?asny adres MAC inny jak interfejsu g?wnego. Jest to lepsze rozwi?zanie od aliasw. Aliasy maj? ten sam adres MAC co interfejs g?wny. Tutaj mamy jakby oddzieln? kart? sieciow? tylko virtualn?.

Konfiguracja:

Plik /etc/rc.local powinien zosta? uzupe?niony o poni?sze wpisy:

ip link add link eth0.2 name eth2 address 01:23:45:67:89:01 type macvlan
ip link add link eth0.2 name eth3 address 01:23:45:67:89:02 type macvlan
ip link add link eth0.2 name eth4 address 01:23:45:67:89:03 type macvlan
ip link set eth2 up
ip link set eth3 up
ip link set eth4 up

Plik /etc/config/network winien wygl?da? nast?puj?co:

config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'

config 'interface' 'lan'
option 'ifname' 'eth0.1'
option 'type' 'bridge'
option 'proto' 'static'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'

config 'interface' 'wan'
option 'ifname' 'eth0.2'
option 'proto' 'dhcp'

config 'interface' 'wan1'
option 'ifname' 'eth2'
option 'proto' 'dhcp'
option 'defaultroute' '0'
option 'peerdns' '0'
option 'gateway' '0.0.0.0'

config 'interface' 'wan2'
option 'ifname' 'eth3'
option 'proto' 'dhcp'
option 'defaultroute' '0'
option 'peerdns' '0'
option 'gateway' '0.0.0.0'

config 'interface' 'wan3'
option 'ifname' 'eth4'
option 'proto' 'dhcp'
option 'defaultroute' '0'
option 'peerdns' '0'
option 'gateway' '0.0.0.0'

config 'switch'
option 'name' 'rtl8366rb'
option 'reset' '1'
option 'enable_vlan' '1'

config 'switch_vlan'
option 'device' 'rtl8366rb'
option 'vlan' '1'
option 'ports' '1 2 3 4 5t'

config 'switch_vlan'
option 'device' 'rtl8366rb'
option 'vlan' '2'
option 'ports' '0 5t'

Do utworzonych interfejsw eth2,eth3,eth4 przypisujemy zerowy gateway,peerdns,defaultroute. Nie ma potrzeby ustawia? jeszcze raz tych danych poniewa? ustawi? nam to ju? interfejs g?wny WAN eth0.2. Dlatego te? musimy wymusi? nie ustawianie tych opcji.

Plik /etc/config/firewall winien wygl?da? nast?puj?co:

config 'defaults'
option 'syn_flood' '1'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'

config 'zone'
option 'name' 'lan'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'

config 'zone'
option 'name' 'wan'
option 'input' 'REJECT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'
option 'mtu_fix' '1'

config 'zone'
option 'name' 'wan1'
option 'input' 'REJECT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'

config 'zone'
option 'name' 'wan2'
option 'input' 'REJECT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'

config 'zone'
option 'name' 'wan3'
option 'input' 'REJECT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'

config 'forwarding'
option 'src' 'lan'
option 'dest' 'wan'

config 'forwarding'
option 'src' 'lan'
option 'dest' 'wan1'

config 'forwarding'
option 'src' 'lan'
option 'dest' 'wan2'

config 'forwarding'
option 'src' 'lan'
option 'dest' 'wan3'

config 'rule'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '68'
option 'target' 'ACCEPT'

config 'rule'
option 'src' 'wan1'
option 'proto' 'udp'
option 'dest_port' '68'
option 'target' 'ACCEPT'

config 'rule'
option 'src' 'wan2'
option 'proto' 'udp'
option 'dest_port' '68'
option 'target' 'ACCEPT'

config 'rule'
option 'src' 'wan3'
option 'proto' 'udp'
option 'dest_port' '68'
option 'target' 'ACCEPT'

config 'rule'
option 'src' 'wan'
option 'proto' 'icmp'
option 'icmp_type' 'echo-request'
option 'target' 'ACCEPT'

config 'rule'
option 'src' 'wan1'
option 'proto' 'icmp'
option 'icmp_type' 'echo-request'
option 'target' 'ACCEPT'

config 'rule'
option 'src' 'wan2'
option 'proto' 'icmp'
option 'icmp_type' 'echo-request'
option 'target' 'ACCEPT'

config 'rule'
option 'src' 'wan3'
option 'proto' 'icmp'
option 'icmp_type' 'echo-request'
option 'target' 'ACCEPT'


config 'include'
option 'path' '/etc/firewall.user'

config 'rule'
option 'proto' 'tcp'
option 'dest_port' '22'
option 'target' 'ACCEPT'

config 'redirect'
'option' 'src' 'wan1'
'option' 'dest' 'lan'
'option' 'dest_ip' '192.168.1.103'
'option' 'target' 'DNAT'

config 'redirect'
'option' 'src' 'wan2'
'option' 'dest' 'lan'
'option' 'dest_ip' '192.168.1.104'
'option' 'target' 'DNAT'

config 'redirect'
'option' 'src' 'wan3'
'option' 'dest' 'lan'
'option' 'dest_ip' '192.168.1.105'
'option' 'target' 'DNAT'

Dublujemy stref? (zone) dla interfejsw eth2,eth3,eth4 (wan1,wan2,wan3). Oczywi?cie reszt? ?a?cuchw rwnie? nale?y zdublowa? aby mc np. pingowa?. Na ko?cu dodajemy DNAT. Prosz? zauwa?y?, i? nie doda?em parametru "src_dip" jest on tutaj zb?dny - zreszt? i tak nie wiemy jaki adres ip dostaniemy. Nie definiujemy SNAT. Nie ma takiej potrzeby poniewa? zdefiniowali?my oddzielne strefy (zone) dla nowych interfejsw jednocze?nie w??czaj?c MASQUERADE (w skrcie SNAT).



Najaktualniejsz? wersj? tego dokumentu znajdziesz zawsze pod adresem http://rpc.one.pl

 
Share
designed by digi-led.pl
góra
...Copyright © 2010-2013, Ekipa openrouter.info