nat
Obsah
motivace
- proc mi n2n posila data pres vpn50 a ne primo na hosta? proc nefunguje traverzovani?
FAQ
- kdyz poslu UDP paket nekam.. NAT otevre pro me port na externim rozhrani, jake pakety posle na muj pc? overuje jen zdrojovou adresu? nebo i zdrojovy port? odpovedi :)
- podle typu natu :) prvni 3 typy lze v pohode protunelovat, pokud znam nat sport, ktery by mel byt pro klient IP + sport stejny
- jaky je system pridelovani portu? muze treba klient otevrit v NAT jeden port, pres ktery by posilal na vice IP? treba port 80 vlastne komunikuje bezne s vice IP :)
- v diskuzi se psalo: „Potreba premapovat porty (zmena sport na natu pri opakovanem udp pozadavku ze stejneho sport) je jen v pripade ze by dva NATovane pocitace chtely spojeni ze stejneho zdrojoveho portu na stejnou cilovou IP + stejny cilovy port.“ - ale nektere naty to meni i tak :)
- ano jde to a u prvnich 3 typu natu se to i vlastne deje. prvni 3 typy pouziji stejny nat sport, pokud klient IP + sport je stejna
traverzovani
- jak to teda vlastne funguje?
- tady je to hezky popsano link,
- ale predpoklada se, ze NAT pro pouzije stejny sport, jako zadal klient
- pokud nat provadi premapovani klient sportu na jiny nat sport tak,
- pokud urcity klient sport je vzdy mapovan na urcity nat port.. lze jej pomoci prostrednika s verejnou zjistit (navaze se na nej spojeni s urcitym sportem, ktery chceme zjistit]
- v diskuzi se psalo: „Potreba premapovat porty (zmena sport na natu pri opakovanem udp pozadavku ze stejneho sport) je jen v pripade ze by dva NATovane pocitace chtely spojeni ze stejneho zdrojoveho portu na stejnou cilovou IP + stejny cilovy port.“ - ale nektere naty to meni i tak? :)
- pokud urcity klient sport je pokazdy na jiny nat sport.. tak to nejde? :)
- existuji 4 typy natu link rfc sekce 5
- full cone (1:1) - jak se otevre externi port, forwarduji se pakety ze vsech IP a portu zaslanych na otevreny port klientovi
- (Address) restricted cone NAT - forwarduje jen z puvodni cilove IP
- Port-restricted cone NA - navic musi byt i stejny port
- symetric nat - Typ NATu, kde jsou všechny dotazy ze stejné lokální IP adresy a portu na danou cílovou IP adresu a port mapovány na stejnou vnější IP adresu a port. Pokud stejný počítač pošle paket se stejnou zdrojovou IP adresou a portem, ale na jinou destinaci, je použito jiné mapování. Pouze ten počítač ve vnější síti, který obdrží UDP paket, může poslat UDP paket zpět počítači v lokální síti.
- prvni tri typy nejspis pouzivaji stejny nat sport pri stejnem klient IP a sport na libovolnou destinaci, posledni otevira pro ruzne destinace ruzne porty.. kdyz je nat sport obsazen, musi se pouzit jiny…
- jaky nat podporuje iptables? link
/-"Full Cone NAT", with the following rules:/ iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.2.170 iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 10.0.0.1
/-"Port Restricted Cone NAT", with just a single rule:/ iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.2.170
- prakticka zkouska
djbuldog@Pharaon:~$ echo "aa" | nc -u veneto.liberouter.org 1235
Pharaon:/home/djbuldog# tcpdump -i eth0 -n host veneto.liberouter.org and udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 22:57:42.175668 IP 10.10.11.2.59223 > 147.251.21.178.1235: UDP, length 3
root@HomeRouterII:~# tcpdump -i eth0 -n host veneto.liberouter.org and udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 09:22:39.679431 IP 192.168.0.254.59223 > 147.251.21.178.1235: UDP, length 3
veneto(CentOS5) ~ # tcpdump -i eth0 -n host djbuldog.dyndns.org and udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 22:57:41.989465 IP 62.245.126.208.61482 > 147.251.21.178.1235: UDP, length 3
root@HomeRouterII:~# cat /proc/net/ip_conntrack | grep 147.251.21.178 udp 17 55 src=10.10.11.2 dst=147.251.21.178 sport=59223 dport=1235 packets=1 bytes=31 [UNREPLIED] src=147.251.21.178 dst=192.168.0.254 sport=1235 dport=59223 packets=0 bytes=0 mark=0 use=2
- jde videt, ze muj router pouziva stejny nat port jako zadal klient, ale ten kabel modem jej premapovava jinam. Premapovava jej pokazde na stejny jinam? -
'otestovat' - „Spoleha se na to ze NAT zdrojovy port nezmeni. Vetsinou to plati, 100% to ovsem neni. Linux driv (2.2.x?) vsechny porty premapovaval nekam nad 60000, ted uz to nedela“ — takze nase brana je na linuxu?
- dalsi test - jina destinace se stejnym klient ip + sport pouziva stejny nat sport .. (ale dport+1 = nat sport+1)
djbuldog@Pharaon:~$ sudo mz -B pinot.liberouter.org -t udp dp=12345 -p 100 djbuldog@Pharaon:~$ sudo mz -B veneto.liberouter.org -t udp dp=12345 -p 100
Pharaon:/home/djbuldog# tcpdump -i eth0 -n udp and port 12345 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 01:25:42.965221 IP 10.10.11.2.0 > 147.251.21.190.12345: UDP, length 100 01:25:47.632213 IP 10.10.11.2.0 > 147.251.21.178.12345: UDP, length 100
root@HomeRouterII:~# tcpdump -i eth0 -n udp and port 12345 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 11:50:40.458579 IP 192.168.0.254.0 > 147.251.21.190.12345: UDP, length 100 11:50:45.125564 IP 192.168.0.254.0 > 147.251.21.178.12345: UDP, length 100
veneto(CentOS5) ~ # tcpdump -i eth0 -n host djbuldog.dyndns.org and udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 01:25:47.273630 IP 62.245.126.208.13369 > 147.251.21.178.12345: UDP, length 100
pinot(CentOS5) ~ # tcpdump -i eth0 -n host djbuldog.dyndns.org and udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 01:25:42.638418 IP 62.245.126.208.13369 > 147.251.21.190.12345: UDP, length 100
aplikace
- n2n
- pwnat link - client server model behind the nat
nat.txt · Poslední úprava: autor: 127.0.0.1
