Hoe reageert een NAT of proxy op een binnenkomend TCP SYN-pakket? Verschil tussen NAT en proxy

0

In sommige berichtensystemen verzenden/ontvangen twee berichtenclients pakketten rechtstreeks van elkaar in een chat- of chatsessie spraakoproep. Ik denk dat het onderliggende mechanisme (bijv. TCP) is: deze clientprogramma's openen een luisterende TCP-socket en vertellen het berichtenserver/coördinerende IP/POORT-paar. De clientprogramma's halen vervolgens de IP/POORT van de andere partij op van de berichten-/coördinatieserver. En een van hen (laten we zeggen A) initieert vervolgens TCP met de ander (laten we zeggen B) met het ontvangen IP/POORT-paar van B.

Wanneer passieve cliënt B (die verwacht TCP-pakket SYN) niet achter NAT of proxy, dat is geweldig. Maar als B zich achter een NAT of proxy bevindt, dan is het IP/POORT-paar feitelijk openbaar netwerkinterface NAT of proxy.

Mijn vraag is dus: wat is de reactie als een NAT of proxy een TCP SYN ontvangt? Hoe geven ze de TCP SYN door aan de juiste host/proces erachter?

  • 2 antwoorden
  • Sorteren:

    Activiteit

0

Ik betwijfel of je eerste inschatting juist is. Hoogstwaarschijnlijk zijn ze allebei open actieve verbindingen naar de server, en de server routeert gegevens daartussen. Het is veel eenvoudiger en de problemen die u beschrijft verdwijnen.

0

Deze vraag is duidelijk al lang geleden gesteld, maar toch...

Chat- en spraak-/video-oproepen worden vaak heel verschillend afgehandeld. In het geval van chat gebruikt u waarschijnlijk het XMPP-protocol, waarbij beide uiteinden verbinding maken met de server en er gegevens doorheen uitwisselen. XMPP bevindt zich op TCP op laag 4 omdat betrouwbaarheid een hogere prioriteit heeft dan latentie. Omdat het de clients zijn die de verbinding openen en onderhouden, zul je in dit geval geen problemen ondervinden met NAT.

  • het gedeelte waar u het netwerk bespreekt (IP-adres en poort) en de codecs die nodig zijn voor de signalering van het gesprek (bekend als SDP - Session Description Protocol)
  • het mediagedeelte waar u effectief spraak-/video-inhoud uitwisselt tussen twee abonnees.

Het signaal reist meestal via TCP met behulp van protocollen hoog niveau, zoals SIP (Session Initiation Protocol). Dit bericht gaat via de server. Media reizen via UDP met behulp van hogere protocollen zoals RTP (Real Time Transfer Protocol), en dit deel van de berichtenuitwisseling reist doorgaans peer-to-peer. Eén UDP-poort kan worden gebruikt voor het verzenden en ontvangen van verkeer voor één enkel spraak-/videokanaal. Bovendien wilt u tijdens het gesprek waarschijnlijk informatie krijgen over de gesprekskwaliteit, zodat u bijvoorbeeld de gebruikte bandbreedte kunt verminderen om pakketverlies te voorkomen/verminderen. Hiervoor moet u RTCP (Regulation Control Protocol) gebruiken voertuig live). In dit geval is NAT-traversal van cruciaal belang! Omdat geen van de clients hun openbare IP-adressen kent, heeft u een server in uw intern netwerk(op het openbare internet) dat zou kunnen zeggen "zoals je van buitenaf ziet", dat wil zeggen achter NAT. In het bijzonder. World of WebRTC deze server kent ICE. Zodra de peer weet hoe deze zichtbaar is vanaf internet, plaatst hij deze informatie in het SDP-gedeelte van het signaleringsbericht, zodat het andere uiteinde deze via internet kan bereiken. Houd er rekening mee dat de router die de NAT uitvoert mogelijk ook enige aanvullende configuratie nodig heeft om de UDP-poorten bij te houden die worden gebruikt voor spraak en video (voor het NAT-verkeer terug van internet naar u).

Ten slotte zijn er in deze gevallen andere oplossingen, maar deze zijn afhankelijk van uw opstelling. Als je schrijft software Voor eindgebruiker dan zijn de voorgaande uitleg van toepassing. Als u echter software voor de zakelijke markt schrijft, zijn oplossingen zoals extra server(bekend als EDGE) aan de rand van uw bedrijfsnetwerk, zal een gemeenschappelijke aanpak zijn.

Ik zou hier uren over kunnen schrijven, maar dit zou genoeg moeten zijn om je op weg te helpen... :)

Aansluiting van een pc waarop is aangesloten lokaal netwerk, met internet kan worden gedaan met behulp van technologieën zoals NAT en Proxy. Wat zijn ze?

Wat is NAT?

NAT is een technologie waarmee u pc's die op een lokaal netwerk zijn aangesloten met internet kunt verbinden door gebruik te maken van het mechanisme voor het vertalen van IP-adressen (of poorten) naar de netwerkruimte buiten het LAN. Elke pc die op het lokale netwerk is aangesloten, doet verzoeken aan de NAT-service, die deze omzet in aanvragen die zijn gericht aan bepaalde internetdiensten.

Het gebruik van NAT-technologie impliceert in de regel het gebruik van een afzonderlijke netwerkapparaat- een router, server of bijvoorbeeld een firewall.

Zelfs als meerdere computers tegelijkertijd met het internet zijn verbonden via NAT-technologie, ziet de online server verzoeken van slechts één IP-adres: het adres dat is geïnstalleerd op het apparaat waarop NAT-algoritmen zijn geïmplementeerd.

Er zijn twee hoofdtypen van de technologie in kwestie: Source NAT en Destination NAT.

De eerste betreft het vervangen van het adres dat is ingesteld voor de bron van het pakket tijdens de verzending van dit pakket naar de doelcomputer op internet en dienovereenkomstig het vervangen van het adres dat is ingesteld voor de doelcomputer op het lokale netwerk wanneer het pakket wordt teruggestuurd. Indien nodig kunnen ook de pc-poortnummers op het LAN veranderen.

Destination NAT-technologie omvat de vertaling van pakketten die naar het LAN worden verzonden externe omgeving- bijvoorbeeld van een online server naar een specifieke pc met lokaal IP-adres, die niet toegankelijk is voor de overeenkomstige online server.

Het belangrijkste voordeel van het gebruik van het schema LAN-verbindingen naar internet via NAT - centralisatie van de instellingen van de overeenkomstige dienst. Het is niet nodig om speciale opties in te stellen op elke pc die op het lokale netwerk is aangesloten.

Wat is proxy?

Volmacht is een technologie waarmee u pc's die op een netwerk zijn aangesloten, met elkaar kunt verbinden online diensten via een speciale gateway geactiveerd aparte toepassingen. Dat wil zeggen dat u de verbindingsinstellingen moet instellen om pc's die deel uitmaken van het LAN te verbinden met de proxyserver op elk van deze pc's. Proxytechnologie is in essentie software-service, geladen aparte server LAN of op een van de internetservers.

Computers die op een LAN zijn aangesloten, vragen niet rechtstreeks om toegang tot onlinebronnen, maar via het IP-adres en de poort van de proxyserver. Dit concept bepaalt vooraf de aanwezigheid van enkele overeenkomsten tussen Proxy en NAT, in die zin dat de online server inhoud op verzoek van individuele pc's doorstuurt naar een gemeenschappelijk IP-adres dat is opgegeven in de instellingen van de proxyserver. Natuurlijk kunnen proxyservers in sommige gevallen unieke externe IP-adressen instellen voor aangesloten pc's, maar het samenvallen ervan met de oorspronkelijke IP-adressen waaronder de computers op het LAN zijn geregistreerd, is praktisch onmogelijk.

Opgemerkt kan worden dat er puur “online” proxyservers zijn die juist worden gebruikt met het doel opzettelijk de IP-adressen te maskeren van computers die verbinding maken met internet. Het principe van hun werking is over het algemeen vergelijkbaar met dat wat kenmerkend is voor de werking van proxyservers die op een LAN zijn geïnstalleerd.

Een van de belangrijkste voordelen van het gebruik van proxytechnologie is de mogelijkheid om online-inhoud in het cachegeheugen op te slaan (elementen van bezochte webpagina's en gedownloade bestanden in het geheugen van de server op te slaan), waardoor u de toegang tot internet vanaf individuele pc's kunt versnellen. Andere voordelen van Proxy zijn de volgende:

  • toegangscontrole uitoefenen individuele gebruikers LAN naar internet, filteren van inhoud en websiteadressen,
  • installeer antivirussoftware op proxyservers die uitgaande en inkomend verkeer, wat de netwerkbeveiliging aanzienlijk kan verbeteren.

Proxy-technologie wordt door veel experts als functioneler beschouwd dan NAT, omdat het de implementatie van een breed scala aan besturingsalgoritmen mogelijk maakt netwerktoegang op programma niveau.

Vergelijking

Het belangrijkste verschil tussen NAT en Proxy zit in de technologische principes van voorziening gelijktijdige toegang met het internet van verschillende pc's die zich op het LAN bevinden.

Als we het over NAT hebben, dan deze standaard beheer netwerk connecties impliceert het gebruik van relatief meer eenvoudige algoritmen- wanneer het adres van de pc die het pakket naar internet verzendt, verandert in het adres van het NAT-apparaat, waardoor dit laatste het antwoordpakket kan ontvangen en op de bestemming kan afleveren. Er worden geen aanpassingen gedaan aan de verzonden en ontvangen pakketten.

Proxytechnologie impliceert het gebruik van meer complexe mechanismen zorgen voor de uitwisseling van pakketten tussen pc's op het LAN en online servers. Wanneer u bijvoorbeeld een proxyserver gebruikt, kan de inhoud in de cache worden opgeslagen, gefilterd en op virussen worden gecontroleerd.

Nadat we hebben vastgesteld wat het verschil is tussen NAT en Proxy, zullen we de belangrijkste conclusies in een kleine tabel vastleggen.

Tafel

NAT Volmacht
Wat hebben zij gemeen met elkaar?
Beide technologieën worden gebruikt voor organisatorische doeleinden gelijktijdige verbinding op het internet van verschillende computers die zijn aangesloten op een lokaal netwerk
Online servers ontvangen verzoeken van de IP-adressen van een NAT-apparaat of proxyserver die niet daadwerkelijk overeenkomen met de IP-adressen van de computers waarop deze verzoeken worden gegenereerd
Wat is het verschil tussen hen?
Het NAT-apparaat verandert het adres van de pc die het pakket naar het internet verzendt naar zijn eigen adres (of gespecificeerd in de instellingen), zonder de structuur van het verzoek te wijzigen, waarna het, na ontvangst van het pakket van de online server, het aflevert bij zijn bestemming ook zonder wijzigingenDe proxyserver, die een verzoek heeft ontvangen van een pc die een pakket naar internet verzendt, stuurt het door naar een online server via een vastgesteld IP-adres, waarna het, nadat het pakket is ontvangen, het zonder wijzigingen of aanpassingen met behulp van filters op de bestemming aflevert (indien nodig gecontroleerd met een antivirusmodule)
De technologie vereist geen registratie van extra netwerkinstellingen op afzonderlijke pc's binnen een LANDe technologie vereist het instellen van programma's die worden gebruikt om toegang te krijgen tot het netwerk op elke pc in het LAN

Laten we UserGate als voorbeeld proberen, hoewel ik het niet bij de hand heb, ik zal het uit mijn geheugen doen, dus excuseer me als ik details mis.

U wijst een gebruiker toe aan UserGate - bijvoorbeeld: Vasya. U geeft de autorisatiemethode aan: laten we zeggen: per IP-adres registreert u - 192.168.0.66, u kunt in de autorisatie bovendien specificeren dat er ook rekening wordt gehouden met het MAC-adres voor meer veiligheid, zodat deze Vasya zich niet vermenigvuldigen. .. Als Vasya alleen maar op de pagina's surft en meer, is het misschien voldoende om iets te downloaden; HTTP- en FTP-proxy's en NAT hoeven niet ingeschakeld te zijn (dit geldt alleen voor de RUG waar we het hier over hebben), uiteraard zou Vasya's browser dat wel moeten doen. heb het volgende selectievakje: gebruik proxy en proxy-adres: 192.168.0.55 en poort 8080 (of degene die je hebt opgegeven in de instellingen van je RUG) voor HTTP en laten we zeggen poort 21 voor FTP. Alles Vasya is met elkaar verbonden. Maar misschien wil Vasya ook e-mail verzenden en ontvangen van bijvoorbeeld mail.ru... ga naar het tabblad NAT, vink het vakje aan - gebruik ergens op andere instellingentabbladen het vinkje uit het vakje om POP en SMTP te activeren, omdat , standaard zijn ze uitgeschakeld, de bijbehorende items worden actief, ga vervolgens naar Vasina's instellingen rekening en in het teken dat het mag, zet je een vinkje bij POP en SMTP. We hebben NAT voor Vasya ingeschakeld door POP-protocollen en SMTP. Als deze beruchte Vasya de zijne opzet mail programma, dan zal het aangeven normale instellingen om e-mail van mail.ru te ontvangen en zal uw e-mail stilletjes ontvangen alsof hij rechtstreeks met internet is verbonden. Als u andere protocollen moet toestaan, moet u deze handmatig registreren. Zonder met behulp van NAT we zullen voor dezelfde doeleinden een mailgateway in Vasino moeten organiseren e-mailclient registreer het pad naar de gateway en configureer de gateway zelf, of organiseer portmapping (omleiding). Zie je, je zei dat NAT een spelbreker is, maar het bespaart je onnodig rondlopen en verschillende ingewikkelde instellingen. We gaan ervan uit dat we de eerste taak eerder hebben afgehandeld. Kijk zelf maar waar deze of gene instelling zich precies bevindt, ik herhaal dat ik UserGate niet voor mijn ogen heb.

De tweede taak is daarentegen om een ​​andere gebruiker mij te laten bellen via een modem ( inkomende verbinding) toegang tot mijn internet via LAN. In dit geval krijg ik bij verbinding via modems ip 192.168.5.1, ik geef de kiezer 192.168.5.2 (ons masker is 255.255.255.0).

Laten we nog een gebruiker aanmaken: laat het Misha zijn. Autorisatie via login en wachtwoord, omdat Het IP-adres zal steeds anders zijn.

IN aanvullende instellingen UG geven wij aan - gebruik de bovenliggende proxy: en voer daar het proxyadres van uw lokale netwerk in, als dit natuurlijk wordt gebruikt. Maar over het algemeen moet je in dit geval ter plekke kijken.

Ik ben een gewone LAN-client (ip 192.168.0.55 masker 255.255.255.0). Ik heb twee kanalen voor toegang tot internet: één via ons lokale netwerk, de andere via een modem (inbelverbinding). Wanneer ik toegang krijg tot de modem, krijg ik het externe IP-adres 84.53.206.121 (bijvoorbeeld).

Mijn eerste taak is het bieden van inbel-internettoegang aan dezelfde client op het lokale netwerk als ik (zijn IP-adres is 192.168.0.66, masker 255.255.255.0).

Mijn eigen mening: wat je doet is een complete schande, want... u zoekt gaten in het netwerk en overtreedt het beveiligingsregime zonder over voldoende kennis te beschikken, en uw beheerder is gewoon een slordige en voormalig student C-student, als hij gewone gebruikers dit op internet laat doen. Je moet een klap krijgen en de beheerder moet worden ontslagen. Als normale beheerder zou je niet eens de rechten hebben om zonder zijn medeweten iets op de machine te installeren, vooral proxy's en NAT.

En als NAT niet uitmaakt welk IP-adres moet worden ingesteld, maar u geen instellingen hoeft te maken op de client en hoeft op te geven waar NAT zich bevindt...

er bestaat zoiets als DHCP server, zoekt de client automatisch beschikbare server en ontvangt een IP, en NAT zendt bepaalde lokale adressen uit die eraan zijn gespecificeerd. Bovendien bestaat er zoiets als binding op basis van een MAC-adres.

tot welke computer heeft de client dan toegang als er bijvoorbeeld twee machines in het NAT-netwerk zijn? (Iedereen kan dezelfde UserGate of WinGate met NAT installeren)

waarschijnlijk degene die het eerst vindt... of die expliciet wordt aangegeven... dat is het probleem, als iedereen alles en overal kan installeren, op deze manier kun je in het algemeen alles verwarren en het netwerk uit de hand laten lopen , het kan in één woord worden beschreven: TROEP, moet een netwerk één master hebben die het beleid van dat netwerk afdwingt. En de rest zijn populistische sprookjes, zoals het bolsjewistische: iedere kok kan de staat regeren. Ondanks wat ik in deze draad heb geantwoord, is mijn houding ten opzichte van dit alles uiterst negatief, en het is niet nodig om misbruik te maken van de zachtheid of onervarenheid van uw beheerder. En als u op het punt staat een dergelijke modernisering van uw netwerk door te voeren, moet u op zijn minst duidelijk begrijpen wat u doet, hoe, waarom en tot welke gevolgen dit kan leiden. Wees niet beledigd, het is niets persoonlijks. Maar stel je een situatie voor waarin elke passagiersstoel in een bus is uitgerust met een stuur en bedieningspedalen, dan zou ik niet in deze bus willen zitten.