Uživatelské nástroje

Nástroje pro tento web


nat

Toto je starší verze dokumentu!


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.1329489281.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki