Gateway på applikationsniveau
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 16. april 2018; verifikation kræver
1 redigering .
Application-level gateway , eller ALG (fra engelsk - "application level gateway") - en komponent i en NAT - router , der forstår enhver applikationsprotokol , og når pakker af denne protokol passerer gennem den, modificerer den dem på en sådan måde, at brugerne bagved NAT kan bruge protokollen.
Beskrivelse
En NAT -router videresender pakker, der kommer inde fra det lokale netværk, og sender dem til det eksterne netværk ved at bruge dens eksterne IP-adresse som kildeadresse. Porten kan også ændres . Men nogle netværksprotokoller i indholdet af deres pakker transmitterer og forsøger at bruge den lokale IP-adresse eller kildeport. Efter at have gennemgået NAT og erstattet den lokale IP med en ekstern, bliver disse parametre naturligvis forkerte - hvilket betyder, at den eksterne side ikke kan etablere en forbindelse.
ALG'en, der har identificeret pakken som tilhørende denne protokol, erstatter dens adresse og port som IP-adresse og port. Hvis en fjerncomputer i henhold til protokollen etablerer en forbindelse på denne port, aktiveres relæ automatisk.
ALG er som en proxy ; normalt refererer udtrykket "proxy" til en server, der udfører yderligere operationer som caching , mens opgaven for ALG er at sikre, at klienter kan bruge protokollen.
Protokoller, der kræver ALG'er
- FTP uden passiv tilstand ( PASV). Sender IP-adressen og portnummeret på klienten i PORT-kommandoen.
- PPTP . Protokollen er baseret på GRE (i det væsentlige er PPTP PPP over GRE med en ekstra kontrol TCP-forbindelse, der ikke bruges til data), hvilket betyder rå IP. Da rå IP ikke har noget begreb om et portnummer, er der problemer med NAT-tilknytningen af denne protokol til omverdenen. Uden en PPTP ALG i NAT (som natd i ældre versioner af FreeBSD ), er kun én PPTP-forbindelse til omverdenen mulig fra hele det interne netværk, et forsøg fra enhver på det interne netværk på at oprette en anden udgående PPTP-forbindelse resulterer i en fejl (fejl 619 på Windows).
- H.323
- Filoverførselsprotokoller i nogle messengers (såsom MSN Messenger )
- Oprettelse af en server i nogle spil
- Nogle fildelingsnetværk
OS implementeringer
Windows
Indbygget NAT i Windows OS (ipnat.sys, kaldet Internet Connection Sharing i brugergrænsefladen) bruger bruger-mode ALG-moduler, der indlæses i adresserummet for ALG.EXE-processen (alias tjeneste kaldet alg). Platform SDK har header-filer til udvikling af ALG-moduler til tidligere ikke-understøttede protokoller. Der er dog ikke offentliggjort dokumentation for disse grænseflader.
linux
Netfilter -firewallen, der er indbygget i kernen , understøtter protokoller som
AMANDA ,
FTP ,
TFTP ,
IRC ,
PPTP ,
H.323 ,
SIP ,
SNMP ,
DCCP ,
GRE og andre protokoller, eksisterende og fremtidige. På grund af den gratis status for selve Linux er al grænsefladedokumentation frit og frit tilgængeligt for alle.
Implementering i routere
Næsten alle routere med NAT kan arbejde med PPTP, IPsec, RTSP, SIP, H.323, SMTP, DNS, TFTP.
Links