DE10128493A1 - Integration of network address translation and IP security protocol within virtual private network, involves providing allocation table containing NAT rules in VPN gateway - Google Patents

Integration of network address translation and IP security protocol within virtual private network, involves providing allocation table containing NAT rules in VPN gateway

Info

Publication number
DE10128493A1
DE10128493A1 DE10128493A DE10128493A DE10128493A1 DE 10128493 A1 DE10128493 A1 DE 10128493A1 DE 10128493 A DE10128493 A DE 10128493A DE 10128493 A DE10128493 A DE 10128493A DE 10128493 A1 DE10128493 A1 DE 10128493A1
Authority
DE
Germany
Prior art keywords
address
network
gateway
nat
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10128493A
Other languages
German (de)
Inventor
Edward B Boden
Tod A Monroe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/595,950 external-priority patent/US6832322B1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10128493A1 publication Critical patent/DE10128493A1/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2535Multiple local networks, e.g. resolving potential IP address conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

An internal network host is configured to transmit selected data to a proxy network address. An allocation table containing network address translation (NAT) rules is provided in a virtual private network (VPN) gateway. Connection through VPN is initiated based on the NAT rules. Independent claims are also included for the following: (a) Method and system for operation of domain name server; (b) System for integration of network address translation within secured VPN; (c) Computer readable program storage unit for integration of NAT within secured VPN; (d) Article of manufacture comprising computer readable program for integration of NAT within secured VPN

Description

Hintergrund der ErfindungBackground of the Invention Querverweise auf damit verbundene AnmeldungenCross-references to related applications

Diese Anmeldung ist Continuation-In-Part(CIP) von Seriennummer 09/240 720, eingereicht am 29.01.1999, mit dem Titel "System and Method for Network Address Translation Integration With IP Security".This application is Continuation-In-Part (CIP) from Serial number 09/240 720, filed on January 29, 1999, with the Title "System and Method for Network Address Translation Integration With IP Security ".

US-Patentanmeldung, Seriennummer 09/239 693, eingereicht am 29.01.99, mit dem Titel "System and Method for Managing Security Objects"; Seriennummer 09/240 718, am 29.01.99, mit dem Titel "System and Method for Dynamic Macro Placement of IP Connection Filters"; S/N 09/239 694, eingereicht am 29.01.99, mit dem Titel "System and Method for Dynamic Micro Placement of IP Connection Filters"; S/N 09/240 483, eingereicht am 29.01.99, mit dem Titel "System and Method for Central Management of Connections in a Virtual Private Network, und Seriennummer 09/578,215, eingereicht am 23.05.99, mit dem Titel "System and Method for Network Address Translation Integration with IP Security", werden dem selben Rechtsnachfolger zugewiesen und enthalten in bestimmten Punkten Themen der vorliegenden Anmeldung. Die oben angegebenen Patentanmeldungen sind durch Bezugnahme hier enthalten.U.S. Patent Application Serial No. 09/239 693, filed on 29/01/99, entitled "System and Method for Managing Security Objects "; serial number 09/240 718, on January 29, 1999, with entitled "System and Method for Dynamic Macro Placement of IP Connection Filters "; S / N 09/239 694, filed on 29/01/99, entitled "System and Method for Dynamic Micro Placement of IP Connection Filters "; S / N 09/240 483, filed on January 29, 1999, entitled "System and Method for Central Management of Connections in a Virtual Private Network, and serial number 09 / 578,215, filed on May 23, 1999, entitled "System and Method for Network Address Translation Integration with IP Security " assigned to the same legal successor and contained in certain topics of the present application. The above-mentioned patent applications are by reference included here.

Technischer Bereich der ErfindungTechnical field of the invention

Diese Erfindung betrifft die Sicherheit von Verbindungen virtueller privater Netzwerke (virtual private network connections) (VPN) und bezieht sich im Besonderen auf VPN- NAT oder die gleichzeitige Verwendung von Netzwerkadressen- Übersetzung (network address translation) (NAT) und Internetprotokoll-(Internet Protocol) (IP) Sicherheits- (IPSec)-Protokolle (Security (IPSec) protocols).This invention relates to connection security virtual private networks connections) (VPN) and refers in particular to VPN  NAT or the simultaneous use of network addresses Network address translation (NAT) and Internet Protocol (IP) security (IPSec) protocols.

Stand der TechnikState of the art

Virtuelle private Netzwerke (virtual private networks) (VPNs) stellen einen aktiven Bereich technischer Entwicklung des gesamten Internets und der Computerindustrie dar. Dies liegt daran, dass sie für die meisten Formen von elektronischem Handel eine grundlegende Voraussetzung darstellen. VPNs verwenden Protocol Tunneling sowie Verschlüsselungs- und Entschlüsselungstechnologie (IP- Sicherheitsprotokolle), um Clients und Servern, Niederlassungen oder unabhängigen Organisationen die Nutzung des Internets für ihren TCP/IP-Verkehr zu wesentlich niedrigeren Kosten zu ermöglichen, als beim Kauf von Standleitungen anfallen, ohne den wichtigsten Vorteil von Standleitungen einzubüßen: Privatsphäre.Virtual private networks (VPNs) represent an active area of technical development of the entire Internet and the computer industry. This is because it works for most forms of electronic trading is a basic requirement represent. VPNs use protocol tunneling as well Encryption and decryption technology (IP Security protocols) to clients and servers, Branches or independent organizations use of the Internet is too essential for your TCP / IP traffic lower costs than buying Leased lines are incurred without the main benefit of Losing dedicated lines: privacy.

Das Tunneling, das VPN einsetzt, hat eine Nebenwirkung, die ein Problem verursacht: zwei Teilnetze oder Unternehmen oder andere Benutzer, die am Anfang nicht direkt miteinander kommunizierten, tun dies nun, was die Wahrscheinlichkeit von IP-Adressenkonflikten erheblich vergrößert Netzwerkadressen-Übersetzung (Network Address Translation) (NAT) wird im Internet und in Unternehmen, die sich mit dem Internet verbinden, häufig eingesetzt, um Adressenkonflikte zu überwinden. Diese Konflikte ereignen sich gewöhnlich zwischen festgelegten "privaten" Adressräumen (d. h. 10.*.*.*)The tunneling that VPN uses has a side effect that causes a problem: two subnets or companies or other users who are not directly connected to each other in the beginning communicated now do what the probability of IP address conflicts significantly increased Network Address Translation (NAT) is used on the Internet and in companies that deal with the Connect to the Internet, often used to address conflicts to overcome. These conflicts usually happen between specified "private" address spaces (i.e. 10. *. *. *)

Jedoch stehen NAT und IP-Sicherheit (IP-Sec) architektonisch miteinander in Konflikt. In der Tat wird IP-Sec durch NAT beeinträchtigt. Das heißt, NAT "ist die Funktion, die letztendlich die semantische Überladung der IP-Adresse sowohl als ein Lokalisierer als auch als der Endpunkt- Kennzeichner aufbricht" (siehe "Architectural Implications of NAT", draft-iab-nat-implications-00.txt, März 1998. IPSec wird beschrieben in Kent, S., and Atkinson, "Security Architecture for the Internet Protocol", RFC2401, November 1998; Kent, S., and Atkinson, "IP Authentication Protocol", RFC 2402, November 1998; and Kent, 5., and Atkinson, "IP Encapsulation Security Payload", RFC 2406, November 1998.) Folglich können zwei Hosts keine IP-Sec-Verbindung aufbauen, wenn sich dazwischen ein NAT-System befindet. Dafür gibt es zwei Gründe: für den IP-Verkehr zwischen den beiden Hosts (für die IP-Sec-Verbindung) wird das Berechtigungsprotokoll (AH) oder Verkapselung der Sicherheitsnutzinformation (encapsulation security payload) (ESP) angewandt. (Siehe RFCs 2402 und 2406, oben.)However, NAT and IP security (IP-Sec) are architectural  in conflict with each other. In fact, IP-Sec is supported by NAT impaired. That is, "NAT" is the function that ultimately the semantic overload of the IP address both as a localizer and as the endpoint Identifier breaks up "(see" Architectural Implications of NAT ", draft-iab-nat-implications-00.txt, March 1998. IPSec is described in Kent, S., and Atkinson, "Security Architecture for the Internet Protocol ", RFC2401, November 1998; Kent, S., and Atkinson, "IP Authentication Protocol", RFC 2402 November 1998; and Kent, 5th, and Atkinson, "IP Encapsulation Security Payload ", RFC 2406, November 1998.) As a result, two hosts cannot establish an IP-Sec connection, if there is a NAT system in between. Therefore there is two reasons: for the IP traffic between the two hosts (for the IP-Sec connection) is the authorization protocol (AH) or encapsulation of the safety information (encapsulation security payload) (ESP) applied. (Please refer RFCs 2402 and 2406, above.)

Erstens ist bezüglich des Tunnelmodus die IP-Adresse, die übersetzt werden muss, im ESP-Tunnel, und sie ist verschlüsselt. Aus diesem Grund ist sie für NAT nicht verfügbar. Bezüglich des Berechtigungsprotokolls (AH) im Transport- oder Tunnelmodus, ist die IP-Adresse, die übersetzt werden muss, in NAT sichtbar, doch die AH- Berechtigungserkennung (authentication) enthält sie. Daher wird durch Ändern der IP-Adresse die Berechtigungserkennung am fernen Ende der IP-Sec-Verbindung unterbrochen. Bezüglich des ESP im Transportmodus ist die IP-Adresse für NAT verfügbar, selbst wenn ESP mit Berechtigungserkennung verwendet wird. Wenn jedoch die IP-Adresse geändert wird, wird die IP-Sec-Verbindung aufgrund der Unterbrechung der Berechtigungserkennung am fernen Ende der IP-Sec-Verbindung unterbrochen. First, regarding tunnel mode, the IP address is that needs to be translated, in the ESP tunnel, and it is encrypted. For this reason, it is not for NAT available. Regarding the authorization protocol (AH) in Transport or tunnel mode, is the IP address that must be translated, visible in NAT, but the AH- It contains authorization recognition. Therefore authorization recognition becomes by changing the IP address interrupted at the far end of the IP-Sec connection. In terms of of the ESP in transport mode is the IP address for NAT available even if ESP with authorization recognition is used. However, if the IP address is changed, the IP-Sec connection is interrupted due to the interruption of the Authorization recognition at the far end of the IP-Sec connection interrupted.  

Zweitens, selbst wenn der IP-Verkehr für die IP-Sec- Verbindung übersetzt werden könnte, würde sie fehlschlagen, weil die IP-Sec-Verbindung auf Sicherheitszuordnungen (security associations) basiert, die die beiden Host-IP- Adressen (host IP addresses) enthalten. Diese sind grundlegend für die Sicherheitszuordnungsarchitektur (Security Association architecture) (siehe RFC 2401, oben), insofern die eingehende IP-Sec auf dem Host, auf dem die Entschlüsselung (oder Berechtigungserkennung) zu erfolgen hat, in dreifacher Weise eindeutig bestimmt werden muss:
{Ziel-IP-Adr, SPI, IP-Sec-Protokoll}.
dabei ist SPI der Sicherheitsprotokollindex (security protocol index) (siehe RFC 2401, oben) Angenommen bei gegebenen Hosts A und W wird NAT auf ein IP- Datagramm (ein Gattungsbegriff für Bytes, die in die Leitung geschickt werden) angewandt, wobei sich ESP im Transportmodus befindet, der von A bis W reicht. Folglich wird die IP-Quellenadresse (IP source address) geändert. Wenn das Paket bei W eintrifft, wird es wahrscheinlich erfolgreich entschlüsselt, da dies nicht von der IP- Quellenadresse abhängt (die genau genommen unverschlüsselt, also nicht getunnelt war). Bei exakter Ausführung wird die Prüfung der eingehenden SPD, die auf die Entschlüsselung folgen sollte, wegen der geänderten IP-Quellenadresse fehlschlagen (da es nicht die Adresse war, die bei der Verhandlung über die Sicherheitszuordnung (security association) verwendet wurde). Daher scheitert sogar der Fall des Transportmodus-ESP.
Second, even if the IP traffic could be translated for the IP-Sec connection, it would fail because the IP-Sec connection is based on security associations that link the two host IP addresses ) contain. These are fundamental to the security association architecture (see RFC 2401, above), insofar as the incoming IP-Sec on the host on which the decryption (or authorization recognition) has to take place must be uniquely determined in three ways:
{Destination IP addr, SPI, IP Sec protocol}.
where SPI is the security protocol index (see RFC 2401, above). Assuming given hosts A and W, NAT is applied to an IP datagram (a generic term for bytes that are sent on the line), whereby ESP in Transport mode, which ranges from A to W. As a result, the IP source address is changed. When the packet arrives at W, it is likely to be decrypted successfully because it does not depend on the source IP address (which was strictly unencrypted, so it was not tunneled). If executed correctly, the incoming SPD check that should follow the decryption will fail due to the changed IP source address (since it was not the address used when negotiating the security association). Therefore, even the case of the transport mode ESP fails.

NAT und IP-Sec einfach gegenseitig auszuschließen, ist keine Lösung, die dem Stand der Technik entspricht. NAT wird sehr häufig eingesetzt, da sie viele Probleme löst, beispielsweise: sie maskiert globale Adressenänderungen, verringert die Adressenbenutzung, verringert die Unterstützungslast von Internetdienstanbietern (ISP) und ermöglicht die gemeinsame Nutzung von Lasten als virtuelle Hosts.Simply excluding NAT and IP-Sec is not one State-of-the-art solution. NAT will be very often used because it solves many problems  for example: it masks global address changes, reduces address usage, decreases Support burden of Internet service providers (ISP) and enables sharing of loads as virtual Hosts.

Dennoch wird NAT als die größte einzelne Bedrohung für die Sicherheitsintegration (security integration) betrachtet, die heutzutage im Internet eingesetzt wird. Dieses "NAT- Problem", wie es nach wie vor bezeichnet wird, ist architektonisch grundlegend. Auch Altanwendungen und -dienste (beispielsweise diejenigen, die für IP Version 4 entwickelt wurden) werden ihr Nebeneinanderbestehen noch lange fortführen, während Anwendungen und Dienste für IP Version 6 weiterentwickelt werden. Folglich herrscht beim Stand der Technik eine starke Notwendigkeit für die Bereitstellung eines Nebeneinanderbestehens von NAT und IP- Sec, zumindest in ausgewählten Situationen, ohne dass deshalb schwerwiegende Konfigurationsprobleme entstehen. (IP Version 4 wird in "Internet Protocol", RFC791, September 1981, beschrieben. IP Version 6 wird in Deering, S., Hinden, R., "Internet Protocol, Version 6 (IPv6) Specification", RFC2460, Dezember 1998, beschrieben.)Still, NAT is considered the biggest single threat to that Considered security integration, which is used on the internet today. This "NAT- Problem "as it is still called architecturally fundamental. Even old applications and -services (for example, those for IP version 4 their coexistence will still exist continue for a long time while applications and services for IP Version 6 will be further developed. Consequently, there is a State of the art a strong need for that Provision of a coexistence of NAT and IP Sec, at least in selected situations, without that therefore serious configuration problems arise. (IP Version 4 is published in "Internet Protocol", RFC791, September 1981. IP version 6 is in Deering, S., Hinden, R., "Internet Protocol, Version 6 (IPv6) Specification", RFC2460, December 1998.)

Eine VPN-Verbindung zwischen zwei Adressendomänen (address domains) kann bewirken, dass zwei Domänen direkt miteinander verbunden werden, obwohl dies höchstwahrscheinlich nicht geplant war. Daher werden durch die vermehrte Verwendung von VPNs die Adressenkonflikte (address conflicts) wahrscheinlich vergrößert. Es wird auch verstanden werden, dass VPNs die Netzwerksichtbarkeit (network visibility) neu definieren und die Wahrscheinlichkeit von Adressenkollision (address collision) beim Durchqueren von NATs vergrößern. Adressverwaltung im Verborgenen hinter NATs wird zu einer beträchtlichen Belastung. Daher besteht beim Stand der Technik die Notwendigkeit, diese Belastung zu verringern.A VPN connection between two address domains (address domains) can cause two domains to be linked directly connected, though most likely not was planned. Therefore, through the increased use of VPNs address conflicts probably enlarged. It will also be understood that VPNs new network visibility define and the likelihood of address collision Increase (address collision) when traversing NATs. Address management hidden behind NATs becomes one considerable burden. Therefore, the status of  Technology the need to reduce this burden.

In der US-Patentanmeldung, Seriennummer 09/240 720, wird eine Lösung für dieses allgemeine Problem der Integration von IP-Sec und NAT vorgestellt. In einem virtuellen privaten Netzwerk, das Netzwerkadressen-Übersetzung (network address translation) (NAT) verwendet, wird IP-Sicherheit mittels Durchführung einer oder einer Kombination aus vier Typen von VPN-NAT (VPN NAT) bereitgestellt. (Die Beschreibung von drei VPN-NAT-Typen von der Rechtsnachfolger-Akte END9 1999 0129 US1 ist von jetzt an hier enthalten, und der vierte Typ ist Gegenstand dieser Anmeldung.) Dieser umfasst dynamisch erzeugte NAT-Regeln und deren Verknüpfung mit den manuell oder dynamisch erzeugten Sicherheitszuordnungen (security associations) für den Austausch von Internetschlüsseln (Internet key exchange) (IKE) vor Beginn der IP-Sicherheit, die die Sicherheitszuordnungen (security associations) verwendet. (Siehe Harkins, D., Carrel, D., "The Internet Key Exchange (IKE)" RFC2409, November 1998. Der Begriff 'Sicherheitszuordnungen' (Security Associations) ist definiert in RFC201, oben.) Wenn dann IP-Sec bei eingehenden und ausgehenden Datagrammen durchgeführt wird, wird auch die NAT-Funktion durchgeführt. "IP-Sec durchführen" bedeutet, dass die Schritte, die die ausgehende oder eingehende IP- Sec-Verarbeitung umfasst, ausgeführt werden, wie oben durch die drei IP-Sec-RFCs (und andere) definiert. "NAT durchführen" bedeutet, dass die Schritte ausgeführt werden, die die VPN-NAT-Verarbeitung umfassen, wie nachstehend in dieser Anmeldung beschrieben.In U.S. patent application serial number 09/240 720 a solution to this general problem of integration presented by IP-Sec and NAT. In a virtual private Network, the network address translation (network address translation) (NAT) is used, IP security is by means of Carrying out one or a combination of four types of VPN-NAT (VPN NAT) provided. (The description of three VPN NAT types from the legal successor file END9 1999 0129 US1 is included here from now on, and the fourth type is Subject of this application.) This includes dynamically generated NAT rules and their connection with the manually or dynamically generated security associations (security associations) for the exchange of Internet keys (Internet key exchange) (IKE) before the start of IP security, which the security associations used. (See Harkins, D., Carrel, D., "The Internet Key Exchange (IKE) "RFC2409, November 1998. The term 'Security Associations' is defined in RFC201, above.) If then IP-Sec for incoming and outgoing datagrams is also carried out NAT function performed. "Perform IP-Sec" means that the steps that the outgoing or incoming IP Sec processing involves executing as above the three IP-Sec RFCs (and others) defined. "NAT perform "means that the steps are performed that include VPN NAT processing, as described below in described in this application.

In der US-Patentanmeldung, Seriennummer 09/240 720, muss der Kunde jede einzelne VPN-NAT-Regel als eine getrennte VPN- Verbindung konfigurieren. Dies ist zeitaufwendig und fehleranfällig, und VPN-Verbindungen sind eigentlich dafür gedacht, den Verkehr zu schützen und sollten nicht von speziellen VPN-NAT-Regeln abhängen. Das heißt, die Regeln wurden bis jetzt eins-zu-eins umgesetzt, so dass NAT die Anzahl der erforderlichen VPN-Verbindungen erhöht.In U.S. patent application serial number 09/240 720, the Customer each individual VPN NAT rule as a separate VPN Configure connection. This is time consuming and error prone, and VPN connections are actually for that thought to protect traffic and should not be from  depend on special VPN NAT rules. That is, the rules have been implemented one-to-one so far, so NAT Number of required VPN connections increased.

Es ist eine Aufgabe der Erfindung, ein verbessertes und stark vereinfachtes System und Verfahren für die gleichzeitige Ausführung von Netzwerkadressen-Übersetzung (NAT) und IP-Sicherheit (IP-Sec) bereitzustellen.It is an object of the invention to provide an improved and highly simplified system and procedure for the simultaneous execution of network address translation (NAT) and IP security (IP-Sec).

Weiterhin ist es eine Aufgabe der Erfindung, ein System und ein Verfahren zur Herabsetzung der erhöhten Wahrscheinlichkeit von IP-Adressenkonflikten bereitzustellen, die ein virtuelles privates Netzwerk (VPN) mit sich bringt.Furthermore, it is an object of the invention, a system and a method of reducing the elevated Probability of IP address conflicts to provide a virtual private network (VPN) brings with it.

Weiterhin ist es eine Aufgabe der Erfindung, ein System und ein Verfahren für die Nutzung von VPNs bereitzustellen, ohne dass eine Neuadressierung einer Domäne (eine teure Alternative) erforderlich wird.Furthermore, it is an object of the invention, a system and to provide a method for using VPNs without that a reallocation of a domain (an expensive one Alternative) is required.

Weiterhin ist es eine Aufgabe der Erfindung, ein System und ein Verfahren für VPN-NAT bereitzustellen, das ohne erforderliche Änderungen in Domänenhosts vollständig im IP- Sec-Gateway zustande gebracht werden kann.Furthermore, it is an object of the invention, a system and to provide a method for VPN-NAT without required changes in domain hosts completely in the IP Sec gateway can be brought about.

Weiterhin ist es eine Aufgabe der Erfindung, ein System und ein Verfahren für VPN-NAT bereitzustellen, das keine oder nur kleinere Änderungen am Routing in jeder verbundenen Domäne erfordert.Furthermore, it is an object of the invention, a system and to provide a procedure for VPN-NAT that does not or only minor changes to the routing in each connected Domain requires.

Weiterhin ist es eine Aufgabe der Erfindung, ein System und ein Verfahren für VPN-NAT bereitzustellen, das einfach zu konfigurieren ist.Furthermore, it is an object of the invention, a system and to provide a procedure for VPN NAT that is easy to do is to configure.

Weiterhin ist es eine Aufgabe der Erfindung, eine Lösung für die Adressenkollisionsprobleme (address collision problems) bereitzustellen, die von VPNs verursacht werden.Furthermore, it is an object of the invention to provide a solution for  address collision problems provide that are caused by VPNs.

Weiterhin ist es eine Aufgabe der Erfindung, eine vereinfachte Lösung für die Konfiguration von VPN- Verbindungen durch Kunden bereitzustellen.Furthermore, it is an object of the invention to simplified solution for configuring VPN Providing connections through customers.

Weiterhin ist es eine Aufgabe der Erfindung, einer einzelnen VPN-Verbindung die Unterstützung mehrerer VPN-NAT-Regeln zu ermöglichen.Furthermore, it is an object of the invention, an individual VPN connection to support multiple VPN NAT rules enable.

Weiterhin ist es eine Aufgabe der Erfindung, ein System und ein Verfahren bereitzustellen, das Konflikte unter den implizit oder dynamisch zugeordneten VPN-NAT-Regeln systemübergreifend vermeidet.Furthermore, it is an object of the invention, a system and to provide a process to resolve conflicts among the implicitly or dynamically assigned VPN NAT rules avoids cross-system.

Weiterhin ist es eine Aufgabe der Erfindung, ein System und ein Verfahren bereitzustellen, das die Systemverwaltungszeit für dynamische NAT-Regeln durch Beseitigung der Notwendigkeit der Verwaltung zahlreicher einzelner VPN- Verbindungen für jede NAT-Regel verringert.Furthermore, it is an object of the invention, a system and to provide a procedure that takes system administration time for dynamic NAT rules by eliminating the Need to manage numerous individual VPN Connections reduced for each NAT rule.

Weiterhin ist es eine Aufgabe der Erfindung, ein VPN-NAT- System und -Verfahren bereitzustellen, das die Netzwerküberwachung (network monitoring) und die Verkehrsanalyse (traffic analysis) vereinfacht.It is also an object of the invention to provide a VPN NAT To provide the system and method that the Network monitoring and the Traffic analysis simplified.

Zusammenfassung der ErfindungSummary of the invention

Gemäß der Erfindung wird ein System und ein Verfahren zur Integration von Netzwerkadressen-Übersetzung innerhalb eines gesicherten virtuellen privaten Netzwerks bereitgestellt. Ein interner Netzwerkhost wird dazu konfiguriert, ausgewählten Verkehr an eine Proxy-Netzwerkadresse zu senden. Ein Gateway eines virtuellen privaten Netzwerks wird mit einer Zuordnungstabelle mit Übersetzungsregeln für Netzwerkadressen (network address translation rules) konfiguriert. Als Reaktion auf die Übersetzungsregeln für Netzwerkadressen wird dann eine virtuelle private Netzwerkverbindung gestartet.According to the invention, a system and a method for Integration of network address translation within one secured virtual private network. An internal network host is configured to selected traffic to a proxy network address send. A gateway of a virtual private network becomes  with an assignment table with translation rules for Network addresses translation rules configured. In response to the translation rules for Network addresses will then become a virtual private one Network connection started.

Andere Merkmale und Vorteile dieser Erfindung werden anhand der folgenden ausführlichen Beschreibung der vorliegenden bevorzugten Ausführungsform der Erfindung in Verbindung mit den begleitenden Zeichnungen deutlich.Other features and advantages of this invention will become apparent the following detailed description of the present preferred embodiment of the invention in connection with the accompanying drawings clearly.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Fig. 1 ist ein Flussdiagramm des VPN-NAT-Verfahrens der bevorzugten Ausführungsform der Erfindung. Fig. 1 is a flow diagram of the VPN NAT method is the preferred embodiment of the invention.

Fig. 2 veranschaulicht vom Ziel ausgehende NAT, die mit von Quellen ausgehender NAT verwendet wird, um es zwei Teilnetzen mit identischen Teilnetzen zu ermöglichen, gemäß der bevorzugten Ausführungsform der Erfindung zu kommunizieren. Figure 2 illustrates destination outbound NAT used with source outbound NAT to allow two subnets with identical subnets to communicate in accordance with the preferred embodiment of the invention.

Fig. 3 veranschaulicht statische NAT, die einfachste konventionelle NAT zur Darstellung des Zusammenhangs. Fig. 3 illustrates static NAT, the simplest conventional NAT to show the relationship.

Fig. 4 veranschaulicht Maskeraden-NAT (masquerade NAT), eine Art von konventioneller NAT zur Darstellung des Zusammenhangs. Figure 4 illustrates masquerade NAT, a type of conventional NAT to illustrate the relationship.

Fig. 5 ist ein Übersichts-Flussdiagramm, das die Beziehungen zwischen verschiedenen Programm- und Datenelementen veranschaulicht, die das System und das Verfahren der Erfindung einsetzt. Figure 5 is an overview flow diagram illustrating the relationships between various program and data elements that the system and method of the invention employ.

Fig. 6 veranschaulicht VPN-NAT, Typ b (bekannt als "Ziel­ aus") (destination-out), gemäß der bevorzugten Ausführungsform der Erfindung. Fig. 6 illustrates VPN NAT, type b (known as the "destination") (destination-out), according to the preferred embodiment of the invention.

Fig. 7 ist ein Diagramm, das die Überschneidung von Adressendomänen und die Bedingungen veranschaulicht, unter denen "Zielaus"- (destination-out) und "Quelle-aus" (source-out)-Netzwerkadressen-Übersetzung erforderlich ist. Figure 7 is a diagram illustrating the intersection of address domains and the conditions under which destination-out and source-out network address translation is required.

Bevorzugte Ausführungsart der ErfindungPreferred embodiment of the invention

Gemäß der bevorzugten Ausführungsform der Erfindung wird das NAT-Problem durch Funktionen angegangen, die statt einer einzigen NAT-Übersetzungsregel VPN-NAT mit mehreren NAT- Übersetzungsregeln enthält, die für eine einzelne VPN- Verbindung gültig sind. Dies vereinfacht die Konfiguration durch den Kunden erheblich. Zuvor musste jede Adresse, die NAT und VPN erfordert, getrennt konfiguriert werden. Hinsichtlich der Vorangegangen US-Patentanmeldung, Seriennummer 09/240 720, wird für "Typ a Quelle-aus" und "Typ d Ziel-ein"-VPN-NAT in ebenfalls anhängiger Patentanmeldung Seriennummer 09/578,215 sowie in der vorliegenden Anmeldung für "Type b Ziel-aus" zusätzliche Funktion bereitgestellt. Um nichtfunktionierende IP-Sec- Verbindungen mit der versehentlichen Verwendung von VERBERGEN- und ZUORDNEN-NAT-Regeln (bekannt als "konventionelle NAT") zu vermeiden, wird während der konventionellen NAT auf AH oder ESP überprüft. VERBERGEN- und ZUORDNEN-NAT-Regeln sind zwei grundlegende Formen konventioneller NAT, die in Verbindung mit den Fig. 3 und 4 nachfolgend beschrieben werden. Wenn eine gegebene NAT- Regel für das IP-Paket (IP packet), außer für den AH- oder ESP-Kopf (header) gültig ist, wird keine Adressenübersetzung (address translation) durchgeführt. Dies gilt für eingehende und ausgehende NAT. Daher wird für konventionelle NAT (im Vergleich zu VPN-NAT für IP-Sec oder IP-Sec-NAT) IP-Sec bevorzugt. IP-Sec hat Vorrang vor konventioneller NAT. According to the preferred embodiment of the invention, the NAT problem is addressed by functions which, instead of a single NAT translation rule, contain VPN-NAT with several NAT translation rules which are valid for a single VPN connection. This considerably simplifies the configuration by the customer. Previously, each address that required NAT and VPN had to be configured separately. Regarding the previous US patent application, serial number 09/240 720, "Type a source-off" and "Type d target-on" -VPN-NAT is also in pending patent application serial number 09 / 578,215 and in the present application for "Type b Target-out "additional function provided. In order to avoid non-functioning IP-Sec connections with the inadvertent use of HIDE and ASSIGN NAT rules (known as "conventional NAT"), AH or ESP is checked during conventional NAT. HIDE and ASSIGN NAT rules are two basic forms of conventional NAT that are described below in connection with FIGS. 3 and 4. If a given NAT rule is valid for the IP packet (IP packet), except for the AH or ESP header, no address translation is carried out. This applies to incoming and outgoing NAT. Therefore, IP-Sec is preferred for conventional NAT (compared to VPN-NAT for IP-Sec or IP-Sec-NAT). IP-Sec takes precedence over conventional NAT.

Da zu dem Zeitpunkt, da die NAT-Regeln geladen werden, nicht bekannt ist, ob irgendwelche IP-Sec-Verbindungen miteinander in Konflikt (z. B. dynamisches IP) stehen könnten, kann die Überprüfung solcher Probleme erst bei der tatsächlichen NAT- Verarbeitung im Betriebssystemkernel erfolgen. Wenn die Journalerstellung für die Regel aktiviert (on) ist, wird Benutzer-Sichtbarkeit (user visibility) für diese Aktionen gewährt, indem in einem Journaleintrag angezeigt wird, dass eine NAT-Regel in das Datagramm passt, jedoch wegen IP-Sec nicht durchgeführt worden ist. Zusätzlich kann eine Protokollierung der Betriebssystemkernel-Informationen dieser Aktionen für eine begrenzte Anzahl von Vorkommen pro konventioneller NAT-Regel bereitgestellt werden. Ähnlich kann auch eine Nachricht pro Verbindung statt pro Vorkommen im Jobprotokoll eines Verbindungsmanagers oder in einem Verbindungsjournal bereitgestellt werden.Because at the time the NAT rules are loaded, not it is known whether there are any IP-Sec connections with each other could be in conflict (e.g. dynamic IP), the Checking such problems only with the actual NAT Processing takes place in the operating system kernel. If the Journaling for the rule is enabled (on) User visibility for these actions granted by displaying in a journal entry that a NAT rule fits into the datagram, but because of IP-Sec has not been carried out. In addition, a Log operating system kernel information of these actions for a limited number of occurrences per conventional NAT rule are provided. Similar can also have one message per connection instead of per occurrence in the job log of a connection manager or in a Connection journal will be provided.

"Journalerstellung" und "Journaleintrag" sind Begriffe, die sich auch auf das beziehen, was gewöhnlich als "Protokollierung" bzw. "Protokolleintrag" bekannt ist."Journaling" and "Journal Entry" are terms that also refer to what is usually called "Logging" or "log entry" is known.

Um zu ermöglichen, dass gemäß der in der Stammanmeldung beschriebenen Erfindung, auf die als VPN-NAT Bezug genommen wird, NAT am IP-Sec-Gateway mit IP-Sec verwendet wird, behalten Kunden private interne IP-Adressen bei. Erhöhte Adressenkollision wird dadurch vermieden, dass IP-Sec- Verbindungen am IP-Sec-Gateway beginnen und enden. Ein IP- Sec-Gateway ist ein Begriff, der in RFC2401, oben, definiert ist. Der Begriff "VPN-Verbindung" ist ein weiterer Begriff, der sich auf das bezieht, was gewöhnlich mit "IP-Sec-Tunnel" ("IP-Sec tunnel") bezeichnet wird, wobei letzterer in RFC2401, oben, definiert wird.To enable that according to the in the parent application described invention, referred to as VPN-NAT NAT is used on the IP-Sec gateway with IP-Sec, customers retain private internal IP addresses. Increased Address collision is avoided by IP-Sec Connections on the IP-Sec gateway begin and end. An IP Sec gateway is a term defined in RFC2401, above is. The term "VPN connection" is another term which refers to what is usually associated with "IP-Sec-Tunnel" ("IP-Sec tunnel") is referred to, the latter in RFC2401, above.

Weiterhin werden gemäß der Stammanmeldung virtuelle private Netzwerke (VPN) sowohl im Initiator- als auch im Beantworter-Modus mit einer integrierten NAT-Funktion bereitgestellt. Sicherheitszuordnungen (security associations) werden unter Verwendung der korrekten externen (NAT-rts) IP-Adressen ausgehandelt, und die Netzwerkadressen-Übersetzung entsprechender interner (NAT­ lks) IP-Adressen erfolgt durch erzeugte NAT-Regeln synchron mit der Verbindungslast für IPsec- und IPSec-Verarbeitung im Betriebssystemkernel. Eingehende Quelle-IP-Adressen werden genau wie die übliche Quelle-IP-Adressen-NAT bei Ausgang (mit entsprechender Übersetzung der Ziel-IP-Adresse bei Eingang) übersetzt. Eine "VPN-NAT-Regel" wird in Fig. 3 durch die Blöcke 72 und 76 dargestellt; das heißt, die beiden lks- und rts-Adressensätze umfassen eine VPN-NAT- Regel.Furthermore, according to the master registration, virtual private networks (VPN) are provided both in initiator and answering mode with an integrated NAT function. Security associations are negotiated using the correct external (NAT-rts) IP addresses, and the network address translation of corresponding internal (NAT lks) IP addresses is carried out by generated NAT rules in synchronism with the connection load for IPsec and IPSec -Processing in the operating system kernel. Incoming source IP addresses are translated just like the usual source IP address NAT on output (with a corresponding translation of the target IP address on input). A "VPN NAT rule" is represented in FIG. 3 by blocks 72 and 76 ; that is, the two lks and rts address sets include a VPN NAT rule.

Gemäß der vorliegenden Erfindung unterstützt eine einzelne VPN-Verbindung mehrere VFN-NAT-Regeln, indem sie dem Kunden die Angabe einer Klasse von NAT-Regeln ermöglicht, die mit einer VPN-Verbindung verknüpft sind, und ermöglicht es dem System, eine spezielle NAT-Bindung (Regel) aus dieser Klasse dynamisch zu erzeugen. Weiterhin werden Konflikte zwischen den implizit oder dynamisch zugeordneten VPN-NAT-Regeln durch Verknüpfung kundenkonfigurierter NAT-Adresspools mit lokalen IP-Adressen systemweit vermieden, wenn der VPN-NAT- Typ quelleneingehend ist. Die vier VPN-NAT-Typen werden in Tabelle 1, unten, definiert.According to the present invention, a single one supports VPN connection multiple VFN NAT rules by the customer allows you to specify a class of NAT rules that use a VPN connection, and allows that System, a special NAT binding (rule) from this class generate dynamically. Conflicts between the implicitly or dynamically assigned VPN NAT rules by linking customer-configured NAT address pools with system-wide local IP addresses avoided if the VPN NAT Type is incoming. The four VPN NAT types are in Table 1, below, defined.

In Bezug auf Fig. 1 umfasst das Verfahren der bevorzugten Ausführungsform der Erfindung für die Ausführung von VPN-NAT in Schritt 20 das Konfigurieren von Verbindungen, die NAT erfordern, in Schritt 22 das Definieren von IPsec-NAT- Adresspools, in Schritt 24 das Starten von Verbindungen im Initiator-Modus, in Schritt 26 das Starten von Beantworter- Modus-Verbindungen (diese werden am anderen Ende der Verbindung gestartet), in Schritt 28 die Verarbeitung von SA-Paar-Aktualisierungen sowie in Schritt 30 die Beendigung der Verbindungen. (Ein NAT-Pool besteht aus einer Anzahl von IP-Adressen.) Jeder dieser Schritte wird unten näher erklärt.Referring to Fig. 1, the method of the preferred embodiment of the invention for performing VPN NAT includes configuring connections that require NAT in step 20 , defining IPsec NAT address pools in step 22 , starting in step 24 of connections in initiator mode, in step 26 the start of answering mode connections (these are started at the other end of the connection), in step 28 the processing of SA pair updates and in step 30 the termination of the connections. (A NAT pool consists of a number of IP addresses.) Each of these steps is explained in more detail below.

In Schritt 20 entscheidet der Benutzer über die Verbindungen, die NAT erfordern und konfiguriert diese Verbindungen. Dies ist logisch gleichbedeutend mit dem Schreiben von NAT-Regeln. Die vier Fälle, bei denen dieses Vorgehen in Betracht zu ziehen ist, sind in Tabelle 1 dargestellt.In step 20 , the user decides on the connections that NAT requires and configures these connections. This is logically equivalent to writing NAT rules. The four cases where this should be considered are shown in Table 1.

TABELLE 1 TABLE 1

TYPEN VON VPN-NAT TYPES OF VPN NAT

wobei
IDci = "Kennzeichner des Client-Initiators"
IDcr = "Kennzeichner des Client-Beantworters".
in which
IDci = "Identifier of the client initiator"
IDcr = "Identifier of the client answering machine".

Eine VPN-Verbindung besitzt definitionsgemäß vier Endpunkte:
zwei "Verbindungsendpunkte" und zwei "Datenendpunkte". (Transportmodus bedeutet dann, dass der Verbindungsendpunkt gleich dem Datenendpunkt an jedem Ende der Verbindung ist.) Die Begriffe IDci und IDcr beziehen sich insbesondere auf die beiden Datenendpunkte, indem sie anzeigen, welcher der Initiator und welcher der Beantworter ist (siehe RFC2409, oben.) Diese Kennzeichner können eine von ungefähr sechs verschiedenen Formen annehmen, die Teil der IDci, IDcr- Definitionen sind. Für diese Anmeldung sind Kennzeichner- Typen weniger relevant.
A VPN connection has four endpoints by definition:
two "connection endpoints" and two "data endpoints". (Transport mode then means that the connection endpoint is equal to the data endpoint at each end of the connection.) The terms IDci and IDcr refer in particular to the two data endpoints by indicating which is the initiator and which is the answerer (see RFC2409, above. ) These identifiers can take one of about six different forms that are part of the IDci, IDcr definitions. Identifier types are less relevant for this registration.

Bei der Angabe eines speziellen Falls von NAT, beispielsweise in einer IP-Sec-Strategie-Datenbank, trifft der Benutzer eine Ja/Nein-Entscheidung, z. B. in einem Kontrollkästchen. Wie hier verwendet, bezieht sich eine IP- Sec-Strategie auf die vollständige Anzahl von konfigurierten IP-Sec-Informationen über ein System. Diese Informationen werden in einer Datenbank gespeichert, die als IP-Sec- Datenbank oder IP-Sec-Strategie-Datenbank bezeichnet wird. Beantworter-Modus-NAT-Merker IDci und IDcr können Teil der Verbindungsdefinition sein. Der Initiator-Modus-Merker kann ein Teil des Benutzer-Clientpaars sein, das (nur) mit einer "lokalen Client-Kennung" verknüpft ist. Die Beantworter-NAT- Merker IDci und IDcr können unabhängig voneinander gesetzt werden. Beide sind nur relevant, wenn die Verbindungsdefinition einen externen Initialisierungsmodus aufweist.When specifying a special case of NAT, for example in an IP-Sec strategy database the user makes a yes / no decision, e.g. B. in one Check box. As used here, an IP refers Sec strategy on the full number of configured IP-Sec information about a system. This information are stored in a database that is stored as IP-Sec Database or IP-Sec strategy database is called. Answering mode NAT flags IDci and IDcr can be part of the Connection definition. The initiator mode flag can be part of the user-client pair that (only) with one "local client identifier" is linked. The answering machine NAT Flags IDci and IDcr can be set independently of each other become. Both are only relevant if the Connection definition an external initialization mode having.

In allen Fällen, in denen bis jetzt der NAT-Merker "gesetzt" war, war es erforderlich, dass der entsprechende Granularitätswert in der Verbindungsdefinition "s" (Skalar) war. Gemäß der vorliegenden Erfindung besteht diese Beschränkung bei dynamischer VPN-NAT nicht mehr. Das heißt, die Granularitäten "s" (Skalar), "f" (Filter) und "c" (Client) werden alle unterstützt. "Granularität" wird in RF02401, oben, auf den Seiten 15-16 beschrieben. Gemäß einer beispielhaften Ausführungsform der Erfindung, beispielsweise dem IBM AS/400, wird "Granularität" folgendermaßen umgesetzt: jede VPN-Verbindung besitzt fünf Wähler (selectors) (Felder in einem Datagramm, das eventuell geprüft wird, um festzustellen, ob in der VPN-Verbindung Verkehr vorhanden sein sollte; dies sind: Quelle-IP, Ziel- IP, Quellenanschluss, Zielanschluss und Protokoll. Gemäß dieser beispielhaften Ausführungsform erhält jeder Wähler (selector) beim Start einer VPN-Verbindung seinen Wert entweder (1) vom Strategiefilter für diese VPN-Verbindung (für Wähler-Granularität "f"), (2) einzelnen Werten von IKE (für Wähler-Granularität "s") oder (3) einem zusammenhängenden Bereich von Werten von IKE (für Wähler- Granularität "c").In all cases in which the NAT flag has been "set" was, it was required that the appropriate Granularity value in the connection definition "s" (scalar) was. According to the present invention, this exists Limitation with dynamic VPN NAT no longer. This means, the granularities "s" (scalar), "f" (filter) and "c" (Client) all are supported. "Granularity" is used in RF02401, described above, on pages 15-16. According to one exemplary embodiment of the invention, for example the IBM AS / 400, "granularity" is as follows implemented: each VPN connection has five voters (selectors) (fields in a datagram that may checked to see if in the VPN connection  Traffic should be available; these are: source IP, target IP, source connection, destination connection and protocol. According to In this exemplary embodiment, each voter receives (selector) its value when starting a VPN connection either (1) from the strategy filter for this VPN connection (for voter granularity "f"), (2) individual values from IKE (for voter granularity "s") or (3) one contiguous range of values from IKE (for voter Granularity "c").

In Bezug auf Fig. 2 veranschaulicht das System einer beispielhaften Ausführungsform der vorliegenden Erfindung eine mögliche Kunden-Konfiguration, die Typ "b Ziel-aus" enthält. Die Netzwerke 462 und 466 werden durch VPN-Gateway A 470 und VPN-Gateway B 472 über Netzwerk 460 verbunden. VPN-Gateway A 470 enthält in dieser Ausführungsform einen Domänennamen-Server (DNS) 468 und Tabelle 480, die von Gateway 470 verwendet wird, um für externe Adressen die gleichen Aliasnamen bereitzustellen wie die auf ihrem eigenen Teilnetz 462 vorhandenen. (DNS 468 kann sich innerhalb von Gateway 470 oder auf einem Host 474 an anderer Stelle innerhalb von Netzwerk 462 hinter Gateway 470 in Bezug auf Tunnel 482 befinden.) Der Aliasnamen (beispielsweise 10.90.5.37) wird durch Gateway 470 unmittelbar vor IP sec in seine richtige, am anderen Ende von Tunnel 482 durch Gateway 472 verwendete Adresse übersetzt. Die Adressen, die für die vom Ziel ausgehende VPN-NAT verwendet werden, werden auf eine andere Art erhalten als für die anderen drei VPN-NAT-Typen. Das heißt, gemäß der vorliegenden Erfindung kann ein Kunde in Verbindung mit jedem fernen VPN-Gateway 472, mit dem ein gegebenes Netzwerk 462 kommunizieren muss, eine Vorlage oder Übersetzungsregel einer vom Ziel ausgehenden VPN-NAT konfigurieren. Beispielsweise könnte die in Tabelle 480 dargestellte Regel wie folgt ausgedrückt werden: 10.5.*.*, was bedeutet, dass alle Adressen im angezeigten Teilnetz übersetzt werden. Die Ziel-aus-NAT-Regel kann eine einzelne IP-Adresse oder mehrere IP-Adressen in unterschiedlichen Formen als einen Bereich, ein Teilnetz, eine Liste oder als eine Kombination von diesen angeben.In reference to FIG. 2, the system illustrates an exemplary embodiment of the present invention, a possible customer configuration, contains the type "b destination of". Networks 462 and 466 are connected by VPN gateway A 470 and VPN gateway B 472 via network 460 . VPN gateway A 470 in this embodiment includes a domain name server (DNS) 468 and table 480 , which gateway 470 uses to provide the same aliases for external addresses as those on their own subnet 462 . (DNS 468 may reside within gateway 470 or on a host 474 elsewhere within network 462 behind the gateway 470 with respect to tunnel 482nd) The alias (for example, 10.90.5.37) is carried gateway 470 immediately prior to IP sec in its correct address used at the other end of tunnel 482 by gateway 472 . The addresses that are used for the VPN NAT originating from the destination are obtained in a different way than for the other three VPN NAT types. That is, according to the present invention, in conjunction with any remote VPN gateway 472 with which a given network 462 must communicate, a customer can configure a template or translation rule of a VPN NAT originating from the destination. For example, the rule shown in Table 480 could be expressed as follows: 10.5. *. *, Which means that all addresses in the displayed subnet are translated. The destination-from-NAT rule can specify a single IP address or multiple IP addresses in different forms as a range, a subnet, a list, or a combination of these.

Domänennamen-Server (DNS) 468 wird dazu konfiguriert, redundante Kopien von Informationen zu vermeiden, die im DNS-Server 468 (konfiguriert) enthalten sind. Diese Verwendung von DNS löst auch einfach das Problem, wie sowohl der Host 474 als auch VPN-Gateway 470 Informationen (durch Verwendung des vorhandenen DNS-Protokolls) gemeinsam nutzen können. DNS-Server 468 wird für externe Hosts in Intranets konfiguriert (wie beispielsweise Netzwerk B 466), bei denen IP-Adressen mit Netzwerk A 462 in Konflikt stehen oder stehen könnten. Die logischen Informationen in Tabelle 469 werden in DNS 468 konfiguriert: ein Hostname und zwei IP- Adressen. Die erste IP-Adresse 467 wird durch die DNS 468 für eine normale "gethostbyname()"-Abfrage (Typ A-Eintrag) zurückgegeben. Die zweite IP-Adresse 471 wird durch eine andere Abfrage zurückgegeben, vielleicht unter Verwendung von Texteinträgen der DNS. (Tabelle 480 in Fig. 2 ist logisch das Gleiche wie Tabelle 410 in Fig. 6.) Die Beziehung zwischen Tabelle 469 in Fig. 2 und Tabelle 410, 480 ist folgendermaßen: IP-Adr1 467 in Tabelle 469 bilden zusammen die lks von Tabelle 410, 480, und IP-Adr2 471 bilden zusammen die rts von Tabelle 410, 480.Domain name server (DNS) 468 is configured to avoid redundant copies of information contained in DNS server 468 (configured). This use of DNS also simply solves the problem of how both the host 474 and VPN gateway 470 can share information (using the existing DNS protocol). DNS server 468 is configured for external hosts on intranets (such as network B 466) where IP addresses conflict or could conflict with network A 462. The logical information in Table 469 is configured in DNS 468 : a host name and two IP addresses. The first IP address 467 is returned by the DNS 468 for a normal "gethostbyname ()" query (type A entry). The second IP address 471 is returned by another query, perhaps using text entries from the DNS. (Table 480 in Fig. 2 is logically the same as Table 410 in Fig. 6.) The relationship between Table 469 in Fig. 2 and Table 410 , 480 is as follows: IP-Adr1 467 in Table 469 together form the left of Table 410 , 480 , and IP-Adr2 471 together form the rts of tables 410 , 480 .

Gateway 470 und alle Hosts 474 hinter dem Gateway greifen alle über normale DNS-Abfragen auf Tabelle 469 zu. Hosts führen eine normale A-Eintrag-Suche durch (beispielsweise unter Verwendung von gethostbyname()) und erhalten IPaddr1 467. VPN-Gateway 470 führt eine Abfrage für IPaddr2 471 durch, die beispielsweise im DNS-Texteintrag sein kann. Gateway 470 and all hosts 474 behind the gateway all access table 469 through normal DNS lookups. Hosts do a normal A-entry lookup (for example, using gethostbyname ()) and get IPaddr1 467 . VPN gateway 470 performs a query for IPaddr2 471 , which can be in the DNS text entry, for example.

Um den DNS-Server 468 mit entsprechenden Informationen zu konfigurieren, kann einem Benutzer eine grafische Benutzeroberfläche zur Verfügung gestellt werden, in der logisch organisierte Informationen in Tabelle 469 direkt durch den Benutzer bereitgestellt werden können. Diese Informationen können dann in der grafischen Benutzeroberfläche (GUI) verwendet werden, um die entsprechenden DNS-Einträge zu aktualisieren. Im Allgemeinen würde für jeden Host mit folgenden Merkmalen ein Eintrag gemacht werden: er ist außerhalb von Netzwerk A 462, er ist außerhalb des Intranets 466, die Adressen in 462 und 466 könnten miteinander in Konflikt stehen, zwischen Netzwerk 462 und 466 wird eine VPN-Verbindung benutzt, aus geschäftlichen Gründen müssen Hosts in Netzwerk 462 mit einem bestimmten Host in Netzwerk 466 kommunizieren. Somit wird der DNS-Server 468 gemäß der bevorzugten Ausführungsform der Erfindung auf eine neue und vorteilhafte Weise verwendet, die jedoch von seiner aktuellen Funktionalität unterstützt wird. Das heißt, dass diese neue Verwendung von DNS 458 das Problem löst, wie Tabelle 410, 480 (insbesondere die lks-Spalte) in allen Hosts im Netzwerk 462 und VPN-Gateway 470 konsistent ist. Dieses Problem muss gelöst werden, da jeder Host, z. B. 474, der mit einem der externen Hosts kommunizieren möchte, z. B. mit 476, die lks- Adresse des externen Hosts kennen muss. Und der VPN-Gateway 470 muss auch für einen gegebenen Host 476 die gleiche lks- Adresse kennen. DNS 468 wird verwendet, um das Problem der Verteilung allgemeiner Informationen ohne mehrere Kopien und ohne die Probleme, die mit der Aufrechterhaltung des Umlaufs mehrerer Kopien verknüpft sind, zu lösen.In order to configure the DNS server 468 with corresponding information, a user can be provided with a graphical user interface in which logically organized information in table 469 can be provided directly by the user. This information can then be used in the graphical user interface (GUI) to update the corresponding DNS entries. In general, an entry would be made for each host with the following characteristics: it is outside of network A 462 , it is outside of intranet 466 , the addresses in 462 and 466 could conflict with one another, between networks 462 and 466 a VPN Connection used, for business reasons, hosts on network 462 must communicate with a particular host on network 466 . Thus, the DNS server 468 is used in a new and advantageous manner in accordance with the preferred embodiment of the invention, but which is supported by its current functionality. This means that this new use of DNS 458 solves the problem, as Tables 410 , 480 (especially the left column) is consistent across all hosts in network 462 and VPN gateway 470 . This problem must be solved because each host, e.g. B. 474 who wants to communicate with one of the external hosts, e.g. B. with 476 , the lks address of the external host must know. And the VPN gateway 470 must also know the same lks address for a given host 476 . DNS 468 is used to solve the problem of distributing general information without multiple copies and without the problems associated with maintaining multiple copies in circulation.

Die Art, in der VPN-NAT-IP-Pools mit Netzwerk-Szenarios für die anderen drei Typen - "a Quelle-aus", "c Quelle-ein" und "d Ziel-ein" zusammenhängen, wird in der anhängigen Patenanmeldung Seriennummer 09/578,215, eingereicht am 23.05.99 gezeigt. Für Typ "b Ziel-aus" ist der Satz von IPaddrl 467 (die gesamte Spalte in Tabelle 469) das logische Äquivalent für die NAT-Pools der anderen drei Typen. Wie in Tabelle 469 konfiguriert, wird der Pool statisch den rts zugeordnet. In den anderen drei Typen wird der Pool dynamisch zugeordnet, wenn Verkehr stattfindet. Anders ausgedrückt, die Bindungszeit eines lks mit einem rts ist für Typ "b Ziel-aus" die Zeit, in der ein Paar in der DNS konfiguriert wird, wobei diese Bindung bis zu einer Neukonfiguration bestehen bleibt. Die Bindungszeit eines lks mit einem rts für die anderen Typen der NAT ist die Zeit, in der sich Verkehr stattfindet, der die Durchführung von NAT erfordert, wobei die Bindung für die Dauer des Verkehrs bestehen bleibt.The way in which VPN-NAT-IP pools are related to network scenarios for the other three types - "a source-off", "c source-on" and "d destination-on" is serial number in the pending patent application 09 / 578,215, shown on May 23, 1999. For type "b target-out", the set of IPaddrl 467 (the entire column in table 469 ) is the logical equivalent for the NAT pools of the other three types. As configured in Table 469 , the pool is statically mapped to the rts. In the other three types, the pool is dynamically allocated when there is traffic. In other words, the binding time of an lk with an rts is for type "b target-out" the time in which a pair is configured in the DNS, this binding remaining until a reconfiguration. The link time of a link with an rts for the other types of NAT is the time during which traffic takes place that requires NAT to be performed, the link remaining for the duration of the traffic.

Wieder bezugnehmend auf Fig. 1 definiert der Benutzer in Schritt 22 eine Anzahl von IP-Adressen, die für die ausschließliche Verwendung der VPN-NAT-Funktion verfügbar sind. Jeder Pool ist vorzugsweise als ein Bereich der IP- Adresse definierbar, könnte aber auch aus einer Liste zusammenhängender Adressen bestehen und ist natürlich mit den Einheiten der Strategie-Datenbank ferner und lokaler Kennungs-IP-Sec (remote ID and local ID Ip Sec Policy database entities) verknüpft.Referring back to FIG. 1, in step 22 the user defines a number of IP addresses that are available for the exclusive use of the VPN NAT function. Each pool can preferably be defined as a range of the IP address, but could also consist of a list of related addresses and is, of course, also with the units of the strategy database and local identifier IP-Sec (remote ID and local ID IP Sec Policy database entities) linked.

Wieder bezugnehmend auf Fig. 1 werden in Schritt 24 die Verbindungen im Initiator-Modus gestartet. Wie im Zusammenhang mit Fig. 5 nachfolgend ausführlicher beschrieben wird, überprüft der Verbindungsmanager 300 (Fig. 5) beim Starten einer Verbindung im Initiator-Modus den Merker do 313 in der VPN-Strategie-Datenbank 304, um festzustellen, ob die lokale Client-Kennung übersetzt werden muss. Weiterhin bezugnehmend auf Fig. 5 erzeugt der Verbindungsmanager 300 die Laufzeit-Zuordnungstabelle 480 in Fig. 2, wenn Ziel-aus-NAT auf eine lokal gestartete VPN- Verbindung anzuwenden ist. Dies geschieht folgendermaßen: für jede IP-Adresse, die (als Bereich, Liste, Teilnetz oder einer Kombination) als eine Zieladresse für die VPN- Verbindung definiert ist, führt der Verbindungsmanager 300 eine DNS-Suche (beispielsweise nach dem Texteintrag) für diese Zieladresse durch, um die rts-Adresse zu erhalten. Die Zieladresse entspricht IPaddr1 467 und die von der DNS- Abfrage zurückgegebene Adresse entspricht IPaddr2 471 in Tabelle 469 (Fig. 2). IPaddr2 471 kann eine global routingfähige Adresse (routable address) oder eine private (z. B. 10.*.*.*) Adresse sein. Für eine lokal gestartete VPN- Verbindung fordert der Verbindungsmanager 300 an, dass IKE 330 (Fig. 5) Sicherheitszuordnungen (security associations) oder SA-Paare (SAs) unter Verwendung der rts-Adresse aushandelt. Nachdem IKE die SAs fertiggestellt hat, werden sie iri der Startmeldung 332 an den Verbindungsmanager weitergegeben. Für eine ferngestartete Verbindung werden die SAs auf die gleiche Art weitergegeben.Referring back to FIG. 1, the connections are started in initiator mode in step 24 . As will be described in more detail below in connection with FIG. 5, the connection manager 300 ( FIG. 5) checks the do 313 flag in the VPN strategy database 304 when starting a connection in initiator mode in order to determine whether the local client ID needs to be translated. With continued reference to FIG. 5, the connection manager 300 generates the runtime allocation table 480 in FIG. 2 when target-out NAT is to be applied to a locally started VPN connection. This is done as follows: for each IP address that is defined (as a range, list, subnet or a combination) as a destination address for the VPN connection, the connection manager 300 carries out a DNS search (for example for the text entry) for this destination address to get the rts address. The destination address corresponds to IPaddr1 467 and the address returned by the DNS query corresponds to IPaddr2 471 in table 469 ( Fig. 2). IPaddr2 471 can be a globally routable address or a private (e.g. 10. *. *. *) Address. For a locally started VPN connection, connection manager 300 requests that IKE 330 ( FIG. 5) negotiate security associations or SA pairs (SAs) using the rts address. After IKE has completed the SAs, they are passed on to the connection manager in the start message 332 . For a remote connection, the SAs are passed on in the same way.

Die NAT-rts-IP-Adresse wird dem Sicherheitszuordnungs- (security association)(SA)Paar hinzugefügt, das durch die vom IKE zurückgegebenen SAs fertiggestellt wird. Der Verbindungsmanager lädt dann die Verbindung zur IPSec. Ein SA-Paar besteht aus zwei Sicherheitszuordnungen (security associations) (definiert durch RFC2401, oben), eine eingehende und eine ausgehende.The NAT-rts IP address is assigned to the security association (security association) (SA) couple added by the SAs returned by the IKE is completed. The Connection manager then loads the connection to IPSec. On SA pair consists of two security associations (security associations) (defined by RFC2401, above), a incoming and an outgoing.

IPSec erzeugt NAT-Regeln für die beiden SAs. Bei Ausgang erfolgt NAT nach der Filterung und vor IPSec, bei Eingang erfolgt NAT nach IPSec (und vor der Filterung, wenn überhaupt). In diesem Sinne "wickelt" NAT den lokalen Verbindungsendpunkt (connection endpoint) der IPSec- Verbindung "ein". In Bezug auf die Fig. 3 und 4 werden konventionelle NAT-Funktionen als Hintergrund und Kontrast für spätere Figuren veranschaulicht, die VPN-NAT-Typen gemäß der Erfindung zeigen.IPSec creates NAT rules for the two SAs. On output, NAT takes place after filtering and before IPSec; on input, NAT takes place after IPSec (and before filtering, if at all). In this sense, NAT "wraps" the local connection endpoint of the IPSec connection. In reference to FIGS. 3 and 4 conventional NAT functions are illustrated as background and contrast for subsequent figures, the VPN NAT type according to the invention.

In Bezug auf Fig. 3 ist die einfachste Form von NAT statisch. Die beiden konventionellen NAT-Typen werden ausdrücklich vom Benutzer durch Schreiben der entsprechenden NAT-Regel-Anweisungen über die OpNat-GUI konfiguriert. Dies steht im Gegensatz zu IPSec-NAT, in der die tatsächlichen NAT-Regeln oder Anweisungen durch das System erzeugt werden. Die ZUORDNEN-Anweisung <ORDNE lks ZU rts ZU< von Fig. 3 und die VERBERGEN-Anweisung <ip-adr-Satz HINTER rts VERBERGEN< von Fig. 4 sind solche NAT-Regel-Anweisungen.In reference to FIG. 3, the simplest form of NAT is static. The two conventional NAT types are explicitly configured by the user by writing the corresponding NAT rule instructions via the OpNat GUI. This is in contrast to IPSec-NAT, in which the actual NAT rules or instructions are generated by the system. The ASSIGN instruction <ORDNE LEFT ZU rts ZU <of FIG. 3 and the HIDE instruction <HIDE IP-adr sentence BEHIND rts <of FIG. 4 are such NAT rule instructions.

Wieder in Bezug auf Fig. 3 wird, wenn bei ausgehender Verarbeitung in Schritt <1< die Quelle-IP 70 mit lks 72 in der Anweisung "ORDNE lks ZU rts ZU" übereinstimmt, in Schritt <2< Quell-ip 70 in rts 76 übersetzt. Wenn bei eingehender Verarbeitung in Schritt <3< Ziel-ip 74 mit rts 76 übereinstimmt, wird in Schritt <4< Ziel-ip 74 in lks 72 übersetzt. (Schritte <1<, <2<. . . beziehen sich auf die eingekreisten Nummern 1, 2. . . in den Figuren.)Referring back to FIG. 3, if the outbound processing in step <1 <the source IP 70 matches lks 72 in the instruction "ORDNE lks ZU rts ZU", in step <2 <source ip 70 in rts 76 translated. If the incoming processing in step <3 <target ip 74 coincides with rts 76 , in step <4 <target ip 74 it is translated into links 72 . (Steps <1 <, <2 <... Refer to the circled numbers 1, 2... In the figures.)

In Bezug auf Fig. 4 verwendet Maskeraden-NAT (auch als Netzwerkadressen- und Anschluss-Übersetzung (NAPT) bezeichnet) die VERBERGEN-Anweisung oben und liefert Viele­ zu-Eine-Adressenübersetzung unter Verwendung ihrer eigenen Anschlusspools 118 (UDP, TCP), um daran erinnert zu werden, wie der eingehende Verkehr zu übersetzen ist. Im Gegensatz zu statischer NAT (Fig. 3) können Maskeraden-NAT- Konversationen <KONVERSATION Quell-ip, Quell-Anschluss, rts­ ip, rts-Anschluss, . . .< nur durch interne (lks) Adressen gestartet werden. Einige VPN-NAT-Typen setzen auch Anschlusszuordnung ein, um mehreren lokalen Hosts die gleichzeitige Kommunikation mit dem externen System über die selbe VPN-Verbindung zu ermöglichen. Referring to Figure 4, Masquerade NAT (also called Network Address and Port Translation (NAPT)) uses the HIDE statement above and provides many to one address translation using its own port pools 118 (UDP, TCP) to be reminded how to translate the incoming traffic. In contrast to static NAT ( FIG. 3), masquerade NAT conversations <CONVERSATION source ip, source connection, rts ip, rts connection,. , . <can only be started by internal (left) addresses. Some VPN NAT types also use port assignment to allow multiple local hosts to communicate with the external system at the same time over the same VPN connection.

Wenn, wieder in Bezug auf Fig. 4, bei der Verarbeitung ausgehender Datagramme in Schritt <1< ermittelt wird, dass die Quelle-IP-Adresse 90 im IP-Adressensatz 92 der VERBERGEN-Anweisung sein soll, wird in Schritt <2< die KONVERSATION durch Kopieren von Quell-ip90 in das KONVERSATION-Feld 94, in Schritt <3< durch Kopieren des Quellenanschlusses 98 in das Feld 96, in Schritt <4< durch Kopieren von rts 104 in das Feld 100 und in Schritt <5< durch Kopieren des rts-Anschlusses in das Feld 102 aus dem richtigen Pool des Anschlusspools 118 eingerichtet.If it is determined again in reference to Fig. 4, in the processing of outgoing datagrams in step <1 <that the source IP address to be 90 in the IP address set 92 of the HIDE statement, in step <2 <is the CONVERSATION by copying source ip90 to CONVERSATION field 94 , in step <3 <by copying source port 98 to field 96 , in step <4 <by copying rts 104 in field 100 and in step <5 < Copy the rts port into field 102 from the correct pool of port pool 118 set up.

Anschließend wird in Schritt <6< Quelle-IP 90 in rts 104 übersetzt, und in Schritt <7< wird Quellenanschluss 98 in rts-Anschluss 102 umgeändert. Wenn bei der Verarbeitung eingehender Datagramme in Schritt <8< Ziel-IP-Adresse 106 und Zielanschluss 108 den KONVERSATION-Feldern rtsip 100 bzw. rts-Anschluss 102 entsprechen, wird in Schritt <9< Ziel-IP-Adresse 106 in KONVERSATION-Quelle-IP-Adresse 94 und in Schritt <10< Zielanschluss 108 in KONVERSATION- Quellenanschluss 96 übersetzt.Then in step <6 <source IP 90 is translated to rts 104 , and in step <7 <source port 98 is changed to rts port 102 . If the processing of incoming datagrams in step <8 <destination IP address 106 and destination port 108 corresponds to the CONVERSATION fields rtsip 100 and rts port 102 , in step <9 <destination IP address 106 in CONVERSATION source -IP address 94 and translated in step <10 <destination port 108 to CONVERSATION source port 96 .

Einige spezielle Situationen werden ebenfalls durch NAT bewältigt. Dazu gehört die Bewältigung spezieller Situationen, die durch FTP oder ICMP geschaffen werden, die beide die IP-Adressen enthalten, die übersetzt werden. (FTP bezieht sich auf File Transfer Protocol (Protokoll zur Übertragung von Dateien im Internet) und ist in RFC959 definiert. ICMP bezieht sich auf Internet Control Message Protocol (Internet-Steuernachrichtenprotokoll) und ist in RFC792 definiert). Neuberechnung der Prüfsumme wird durchgeführt. Sobald in der Maskeraden-NAT eine Konversation stattfindet, werden statt der ursprünglichen (ausscheidenden) VERBERGEN-Regel später Datagramme auf Übereinstimmung geprüft, werden die Anschlusspools verwaltet, wird die Dauer der Konversationen gemessen, werden die Konversationen selbst beendet und die Anschlüsse zugeordnet. Es ist ein besonderer Vorteil der Erfindung, dass ICMP und FTP (einschließlich der berühmten FTP- ANSCHLUSS- und PASV-Befehle und der Begleitprobleme) von VPN-NAT unterstützt werden.Some special situations are also caused by NAT overcome. This includes coping more specifically Situations created by FTP or ICMP that both contain the IP addresses that are translated. (FTP refers to the File Transfer Protocol Transfer files on the Internet) and is in RFC959 Are defined. ICMP refers to Internet Control Message Protocol (Internet Control Message Protocol) and is in RFC792 defined). The checksum will be recalculated carried out. As soon as a conversation in the masquerade NAT takes place instead of the original HIDE (retiring) rule later on datagrams The connection pools are checked for compliance managed, the duration of the conversations is measured, the conversations themselves are ended and the connections  assigned. It is a particular advantage of the invention that ICMP and FTP (including the famous FTP CONNECTION and PASV commands and accompanying problems) by VPN NAT are supported.

Gemäß der vorliegenden Erfindung werden dynamisch bestimmte VPN-NAT-Regeln wie folgt umgesetzt. Der Kunde gibt über eine grafische Benutzeroberfläche (GUI) an, dass VPN-NAT durchgeführt werden soll. Mehrere IP-Adressen sind für die Quelle-IP-Adresse von lokal gestarteten Verbindungen erlaubt. Diese Mehrfach-IP-Adressen werden über einen (zusammenhängenden) Bereich oder über Adresse und Maske oder eine Adressenliste oder eine Kombination dieser Adressendarstellungen angegeben. Diese bilden den linksseitigen (lks) Adressensatz der VPN-NAT-Regel.According to the present invention, dynamics are determined VPN NAT rules implemented as follows. The customer gives over one graphical user interface (GUI) that VPN-NAT to be carried out. Multiple IP addresses are for that Source IP address of locally started connections allowed. These multiple IP addresses are over a (contiguous) area or via address and mask or an address list or a combination of these Address representations specified. These form the Left-hand (lks) address set of the VPN NAT rule.

In Fig. 6 wird VPN-NAT-Ziel-aus veranschaulicht. Da eine Ziel-aus-NAT angefordert wird, wird für eine lokal gestartete Konversation in Schritt <-2< die implizite ZUORDNEN-Regel 428 durch eine Anzahl von DNS-Abfragen erstellt. Für jede lks-<-2<-Adresse wird eine Abfrage durchgeführt, um die entsprechende rts-<-1<-Adresse abzurufen. Es gibt wichtige Eigenschäften, die all diese Adressen gemeinsam haben: (a) sie sind im internen Netzwerk 462 (Fig. 2) des VPN-Gateway und zum VPN-Gateway routingfähig (routable to) und (b) sie werden innerhalb des internen Netzwerks für keinen anderen Zweck benötigt. Schritt <0< ist Teil des Starts der VPN-Verbindung und erfolgt während der Schritte 24 und 26 (Fig. 1). Nachdem die IKE-Verhandlung unter Verwendung von rts 424 abgeschlossen ist, wird in Schritt <0< die implizite ZUORDNEN-Regel in den Betriebssystemkernel geladen. Dieser Schritt <0< umfasst die folgenden Schritte; Laden der Verbindungs-SAs und Verbindungsfilter und Erstellung einer leeren Version von Tabelle 410. Für ausgehende Verarbeitung wird in Schritt <1< die Ziel-IP-Adresse 434 des ausgehenden Datagramms mit dem lks-Eintrag 436 in der lokalen Bindungstabelle 410 verglichen. Wenn keine Übereinstimmung gefunden wird, ist kein Ziel-aus-NAT nötig. Wenn in Schritt <2< eine Übereinstimmung gefunden wird, wird die Datagramm- Ziel-IP-Adresse 434 durch rts 438 des Eintrags (Zeile, Paar, Regel sind äquivalente Begriffe) ersetzt, der die übereinstimmende lks 436 enthält. Die ausgehende NAT- Verarbeitung ist abgeschlossen und das Datagramm geht zum nächsten Schritt in der ausgehenden Verarbeitung, d. h. zu IP-Sec, über. Nach Verarbeitung eingehender IP-Sec wird in Schritt <3< für eingehende Verarbeitung die Quellen-IP- Adresse 442 mit rts-Eintrag 438 in der lokalen Bindungstabelle 410 verglichen. Wenn keine Übereinstimmung gefunden wird, ist NAT nicht nötig. Wenn in Schritt <4< eine Übereinstimmung gefunden wird, wird die Quelle-IP-Adresse 442 durch die lks 436 des Eintrags ersetzt, der die übereinstimmende rts 438 enthält. Die eingehende NAT- Verarbeitung ist abgeschlossen und das Datagramm geht zum nächsten Schritt über, in dem gewöhnlich TCP/IP-Protokoll- Stapelverarbeitung (TCP/IP protocol stake processing) durchgeführt wird.In Fig. 6 VPN NAT destination is illustrated. Since a destination-from-NAT is requested, the implicit ASSIGN rule 428 is created for a locally started conversation in step <-2 <by a number of DNS queries. For each lks - <- 2 <address, a query is carried out to retrieve the corresponding rts - <- 1 <address. There are important properties that all of these addresses have in common: (a) they are routable to in the internal network 462 ( Fig. 2) of the VPN gateway and to the VPN gateway, and (b) they become within the internal network not needed for any other purpose. Step <0 <is part of the start of the VPN connection and takes place during steps 24 and 26 ( FIG. 1). After the IKE negotiation using rts 424 is complete, the implicit ASSIGN rule is loaded into the operating system kernel in step <0 <. This step <0 <comprises the following steps; Load the connection SAs and connection filters and create an empty version of table 410 . For outbound processing, the destination IP address 434 of the outbound datagram is compared to the lks entry 436 in the local binding table 410 in step <1 <. If no match is found, no destination from NAT is necessary. If a match is found in step <2 <, the datagram destination IP address 434 is replaced by rts 438 of the entry (line, pair, rule are equivalent terms) that contains the matching lks 436 . Outgoing NAT processing is complete and the datagram moves to the next step in outgoing processing, ie to IP-Sec. After processing incoming IP-Sec, in step <3 <for incoming processing, the source IP address 442 is compared to rts entry 438 in the local binding table 410 . If no match is found, NAT is not necessary. If a match is found in step <4 <, the source IP address 442 is replaced with the lks 436 of the entry containing the matching rts 438 . Incoming NAT processing is complete and the datagram moves to the next step, which is usually TCP / IP protocol stake processing.

"Eingehend" ist die Abkürzung für "eingehendes Datagramm". Datagramme strömen aus dem VPN-Gateway (bekannt als "ausgehender Verkehr") und in den VPN-Gateway (bekannt als "eingehender Verkehr"). Diese beiden Richtungen oder Begriffe sind in nahezu allen Kommunikationen, wenn nicht in allen Fällen grundlegend, einschließlich in diskreten protokollbasierten Kommunikationen wie TCP/IP und folglich in allen Funktionen, die mit VPN-NAT verbunden sind."Incoming" is the abbreviation for "incoming datagram". Datagrams flow out of the VPN gateway (known as "outbound traffic") and into the VPN gateway (known as "incoming traffic"). These two directions or Terms are in almost all communications, if not in basic in all cases, including discrete protocol-based communications such as TCP / IP and consequently in all functions connected with VPN-NAT.

Als Nächstes erfolgt das Laden zur IPSec. Bei Verarbeitung von ferngestartetem Verbindungsverkehr können für jedes eingehende und ausgehende Paket (Quelle und Ziel) zwei Adressenübersetzungen erfolgen.The next step is to download to IPSec. When processing of remote connection traffic can be used for each incoming and outgoing packet (source and destination) two  Address translations are done.

In Bezug auf Fig. 5, schaut der Verbindungsmanagerserver 300 bei Empfang der Startmeldung (msg) 332 vom IKE-Server 330 auf die Verbindungsdefinition 306 in der Datenbank 304 und prüft die NAT-Merker 314. Vor der Startmeldung 332 vom IKE-Server 330 an den Verbindungsmanager 300 geht eine Startmeldung 332 vom Verbindungsmanager 300 an den IKE 330 für lokal gestartete Verbindungen und nicht für ferngestartete Meldungen. In beiden Fällen ist die Startmeldung 332 von IKE 330 an den Verbindungsmanager 300 die gleiche Meldung. Wenn ein oder mehrere NAT-Fern-Merker Quelle-aus (qa) 308, Quelle-ein (qe) 310, Ziel-ein (ze) 312 oder Ziel-aus (za) 313 gesetzt ist, werden eine oder mehrere IP-Adressen vom entsprechenden NAT-Pool oder vom DNS 468 (Fig. 2) erhalten.Referring to FIG. 5, the connection manager server 300 looks at the connection definition 306 in the database 304 upon receipt of the start message (msg) 332 from the IKE server 330 and checks the NAT flags 314 . Before the start message 332 from the IKE server 330 to the connection manager 300 , a start message 332 goes from the connection manager 300 to the IKE 330 for locally started connections and not for remotely started messages. In both cases, start message 332 from IKE 330 to connection manager 300 is the same message. If one or more NAT remote flags source-out (qa) 308 , source-in (qe) 310 , destination-in (ze) 312 or destination-out (za) 313 is set, one or more IP addresses received from the corresponding NAT pool or from the DNS 468 ( FIG. 2).

Wenn der Verbindungsmanager 300 bezüglich Fig. 5 in Verbindung mit Fig. 1 in Schritt 28 SA-Paar- Aktualisierungen 302 erhält, kopiert er die neuen SA-Paar- Informationen in die SA-Paar-Tabelle 322 im Verbindungsprozessspeicher 320.If the connection manager 300 with respect to Fig. 5 in connection with Fig. 1 in step 28 SA-pair 302 receives updates, it copies the new SA-pair information in the SA pair table 322 in the bonding process memory 320.

In Schritt 30 gibt der Verbindungsmanager 300 bei Beendigung einer Verbindung 34, 36 jede NAT-IP-Adresse 52, 54 frei (macht sie verfügbar), die mit der Verbindung verknüpft ist. NAT-IP-Adressen werden von der entsprechenden Liste 316 gelöscht, die vom Verbindungsmanager 300 unterhalten wird.In step 30 , connection manager 300 releases (makes available) any NAT IP address 52 , 54 that is associated with the connection upon termination of a connection 34 , 36 . NAT IP addresses are deleted from the corresponding list 316 maintained by the connection manager 300 .

In Fig. 7 wird die Beziehung zwischen Adressendomänen und Hostadressen gezeigt, und es wird gezeigt, ob Ziel-aus-NAT und Quelle-aus-NAT erforderlich sind. Jeder Kreis stellt eine Adressendomäne dar - A stellt die Adresse eines Hosts 474 hinter Gateway 470 und B die Adresse eines externen Hosts 476 dar. In Fall I ist weder die Adresse von Host A noch die von Host B innerhalb der Verknüpfung (join) ihrer jeweiligen Adressendomänen, so dass keine Netzwerkadressen- Übersetzung (NAT) erforderlich ist. In Fall II ist nur die Adresse von Fern-Host B innerhalb der Verknüpfung der Adressendomänen; daher ist Ziel-aus-NAT erforderlich und Quelle-aus-NAT nicht. In Fall III ist die Adresse von Host A innerhalb der Verknüpfung (join) der Adressendomänen, nicht jedoch die Adresse von Host B; daher ist Quelle-aus-NAT erforderlich und Ziel-aus-NAT nicht. In Fall IV sind die Adressen der Hosts A und B innerhalb der Verknüpfung (join) der Adressendomänen, wobei sowohl Quelle-aus-NAT als auch Ziel-aus-NAT erforderlich sind. Figure 7 shows the relationship between address domains and host addresses and shows whether destination-from-NAT and source-from-NAT are required. Each circle represents an address domain - A represents the address of a host 474 behind gateway 470 and B represents the address of an external host 476. In case I, neither the address of host A nor that of host B is within the join of their respective Address domains so that no network address translation (NAT) is required. In case II only the address of remote host B is within the link of the address domains; therefore, target-from-NAT is required and source-from-NAT is not. In case III the address of host A is within the join (join) of the address domains, but not the address of host B; therefore, source-from-NAT is required and destination-from-NAT is not. In case IV, the addresses of hosts A and B are within the join (join) of the address domains, whereby both source-from-NAT and destination-from-NAT are required.

Vorteile gegenüber dem Stand der TechnikAdvantages over the state of the art

Es ist ein Vorteil der Erfindung, ein verbessertes und stark vereinfachtes System und Verfahren für die gleichzeitige Ausführung von Netzwerkadressen-Übersetzung (NAT) und IP- Sicherheit (IP-Sec) bereitzustellen.It is an advantage of the invention, an improved and strong simplified system and procedure for simultaneous Execution of network address translation (NAT) and IP To provide security (IP-Sec).

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren zur Herabsetzung der erhöhten Wahrscheinlichkeit von IP-Adressenkonflikten bereitzustellen, die ein virtuelles privates Netzwerk (VPN) mit sich bringt.Furthermore, it is an advantage of the invention, a system and a method of reducing the elevated Probability of IP address conflicts to provide a virtual private network (VPN) brings with it.

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren für die Nutzung von VPNs bereitzustellen, ohne dass eine Neuadressierung einer Domäne (eine teure Alternative) erforderlich wird.Furthermore, it is an advantage of the invention, a system and to provide a method for using VPNs without that a reallocation of a domain (an expensive one Alternative) is required.

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren für VPN-NAT bereitzustellen, das vollständig im IP-Sec-Gateway erzielt wird, ohne dass Änderungen in Domänenhosts erforderlich werden. Furthermore, it is an advantage of the invention, a system and to provide a procedure for VPN NAT that is complete is achieved in the IP-Sec gateway without changes in Domain hosts are required.  

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren für VPN-NAT bereitzustellen, das keine oder nur kleinere Änderungen am Routing in jeder verbundenen Domäne erfordert.Furthermore, it is an advantage of the invention, a system and to provide a procedure for VPN-NAT that does not or only minor changes to the routing in each connected Domain requires.

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren für VPN-NAT bereitzustellen, das einfach zu konfigurieren ist.Furthermore, it is an advantage of the invention, a system and to provide a procedure for VPN NAT that is easy to do is to configure.

Weiterhin ist es ein Vorteil der Erfindung, eine Lösung für die Adressenkollisionsprobleme bereitzustellen, die von VPNs verursacht werden.It is also an advantage of the invention to provide a solution for to provide the address collision problems posed by VPNs caused.

Weiterhin ist es ein Vorteil der Erfindung, eine vereinfachte Lösung für die Konfiguration von VPN- Verbindungen durch Kunden bereitzustellen.It is also an advantage of the invention, a simplified solution for configuring VPN Providing connections through customers.

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren bereitzustellen, das es einer einzelnen VPN- Verbindung ermöglicht, mehrere VPN-NAT-Regeln zu unterstützen.Furthermore, it is an advantage of the invention, a system and to provide a process that a single VPN Connection allows multiple VPN NAT rules support.

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren bereitzustellen, das Konflikte unter den implizit oder dynamisch zugeordneten VPN-NAT-Regeln systemübergreifend vermeidet.Furthermore, it is an advantage of the invention, a system and to provide a process to resolve conflicts among the implicitly or dynamically assigned VPN NAT rules avoids cross-system.

Weiterhin ist es ein Vorteil der Erfindung, ein System und ein Verfahren bereitzustellen, das die Systemverwaltungszeit in Systemen für dynamische NAT-Regeln durch Beseitigung der Notwendigkeit der Verwaltung zahlreicher einzelner VPN- Verbindungen für jede NAT-Regel verringert.Furthermore, it is an advantage of the invention, a system and to provide a procedure that takes system administration time in systems for dynamic NAT rules by eliminating the Need to manage numerous individual VPN Connections reduced for each NAT rule.

Weiterhin ist es ein Vorteil der Erfindung, ein VPN-NAT- System und -Verfahren bereitzustellen, das die Netzwerküberwachung und die Verkehrsanalyse vereinfacht.It is also an advantage of the invention to use a VPN NAT To provide the system and method that the  Network monitoring and traffic analysis simplified.

Weiterhin ist es ein Vorteil der Erfindung, ein VPN-NAT- System und -Verfahren bereitzustellen, das die Netzwerküberwachung und die Verkehrsanalyse vereinfacht.It is also an advantage of the invention to use a VPN NAT To provide the system and method that the Network monitoring and traffic analysis simplified.

Weiterhin ist es ein Vorteil der Erfindung, ein ganzes VPN- NAT-Lösungspaket bereitzustellen, das dem Bedarf der Kunden entspricht.It is also an advantage of the invention to have an entire VPN To provide a NAT solution package that meets the needs of customers equivalent.

Weiterhin ist es ein Vorteil der Erfindung, ein nichtredundantes Verfahren bereitzustellen, um Adressenverbindungen für bestimmte VPN-NAT-Typen zu konfigurieren und zu unterhalten.Furthermore, it is an advantage of the invention to provide a non-redundant method to Address connections for certain VPN NAT types configure and maintain.

Weiterhin ist es ein Vorteil der Erfindung, dass für alle VPN-NAT-Typen mehrere VPN-NAT-Regeln pro VPN-Verbindung angegeben werden können.Furthermore, it is an advantage of the invention that for everyone VPN NAT types Several VPN NAT rules per VPN connection can be specified.

Alternative AusführungsformenAlternative embodiments

Es ist klar, dass, obwohl spezielle Ausführungsformen der Erfindung hier zum Zweck der Veranschaulichung beschrieben worden sind, verschiedene Abänderungen durchgeführt werden können, ohne vom Geist und Rahmen der Erfindung abzuweichen. Insbesondere liegt es im Bereich det Erfindung, ein Computerprogrammprodukt oder -programmelement oder eine Programmspeicher- der Speichereinheit, wie beispielsweise ein festes oder flüssiges Übertragungsmedium, magnetischen oder optischen Draht, ein Band oder eine Platte oder Ähnliches zum Speichern von maschinenlesbaren Signalen zur Steuerung des Betriebs eines Computers nach dem Verfahren der Erfindung und/oder zur Strukturierung seiner Komponenten gemäß dem System der Erfindung bereitzustellen. It is clear that, although specific embodiments of the Invention described here for the purpose of illustration various changes have been made can without departing from the spirit and scope of the invention. In particular, it is within the scope of the invention Computer program product or program element or one Program memory - the storage unit, such as a solid or liquid transmission medium, magnetic or optical wire, a tape or a plate or Something similar for storing machine-readable signals for Control the operation of a computer according to the procedure of the invention and / or for structuring its components according to the system of the invention.  

Weiterhin kann jeder Schritt des Verfahrens auf jedem gewöhnlichen Computer ausgeführt werden, beispielsweise auf einem IBM-System 390, AS/400, PC oder dergleichen und gemäß einem oder mehreren oder einem Teil von einem oder mehreren Programmelementen, -modulen oder -objekten, die von einer beliebigen Programmiersprache erzeugt wurden, wie beispielsweise C++, Java, P1/i, Fortran oder dergleichen. Und weiterhin kann jeder Schritt oder eine Datei oder ein Objekt oder dergleichen, die bzw. das jeden Schritt ausführt, durch Spezialhardware oder durch ein für diesen Zweck entwickeltes Schaltkreismodul ausgeführt werden.Furthermore, each step of the process can be done on any ordinary computers are running, for example on an IBM system 390, AS / 400, PC or the like and according to one or more or part of one or more Program elements, modules or objects created by a any programming language, such as for example C ++, Java, P1 / i, Fortran or the like. And furthermore, each step or file or one Object or the like each step executes, by special hardware or by one for this Circuit module designed for the purpose.

Entsprechend ist der Rahmen des Schutzes dieser Erfindung nur durch folgende Ansprüche und ihre Äquivalente begrenzt.Accordingly, the scope of protection of this invention is limited only by the following claims and their equivalents.

Claims (19)

1. Verfahren zur Integration von Netzwerkadressen- Übersetzung innerhalb eines gesicherten virtuellen privaten Netzwerks, das folgende Schritte umfasst:
Konfigurieren eines internen Netzwerkhosts, um ausgewählten Verkehr an eine Proxy-Netzwerkadresse zu senden;
Konfigurieren eines virtuellen privaten Netzwerk- Gateways mit einer Zuordnungstabelle von Netzwerkadressen-Übersetzungsregeln; und
Starten einer virtuellen privaten Netzwerkverbindung nach den Netzwerkadressen-Übersetzungsregeln.
1. A method for integrating network address translation within a secured virtual private network, comprising the following steps:
Configuring an internal network host to send selected traffic to a proxy network address;
Configuring a virtual private network gateway with a mapping table of network address translation rules; and
Start a virtual private network connection according to the network address translation rules.
2. Verfahren nach Anspruch 1, das weiterhin den Schritt der Konfiguration jeder Regel umfasst, um eine Zieladresse und eine Ersatzadresse einzuschließen.2. The method of claim 1, further comprising the step of Configuration of each rule includes a destination and include a replacement address. 3. Verfahren nach Anspruch 2, das weiterhin die Verwendung der virtuellen privaten Netzwerkverbindung gemäß folgender Schritte umfasst:
Erzeugen eines Datagramms am internen Netzwerkhost;
Weiterleiten des Datagramms zum Gateway;
Weiterleiten des Datagramms am Gateway durch Filterregeln, die einen virtuellen privaten Netzwerktunnel definieren;
Verarbeiten einer auf die Zuordnungstabelle zugreifenden Zieladresse im Datagramm beim virtuellen privaten Netzwerktunnel gemäß folgender Schritte:
Durchsuchen der Tabelle nach einer Übereinstimmung der Zieladresse mit einer linken Adresse eines linken/rechten Adressenpaars;
Durchführen einer Adressenübersetzung durch Ersetzen der Zieladresse durch die rechte Adresse des Adressenpaars, wenn eine Übereinstimmung gefunden wird; und
Durchführen einer Sicherheitsverarbeitung.
3. The method of claim 2, further comprising using the virtual private network connection according to the following steps:
Generating a datagram at the internal network host;
Forwarding the datagram to the gateway;
Forwarding the datagram at the gateway through filter rules that define a virtual private network tunnel;
Process a destination address in the datagram accessing the assignment table in the virtual private network tunnel according to the following steps:
Searching the table for a match of the destination address with a left address of a left / right address pair;
Performing address translation by replacing the target address with the right address of the address pair if a match is found; and
Perform security processing.
4. Verfahren nach Anspruch 3, das weiterhin folgende Schritte umfasst:
Empfang eines eingehenden Datagramms am Gateway von einem externen Host einschließlich eines Sicherheitsvermerks;
als Reaktion auf den Sicherheitsvermerk, Bestimmen einer Verbindungadresse der Netzwerkquelle;
Verarbeiten der Netzwerkverbindungsadresse gemäß folgender Schritte:
Durchsuchen der Tabelle nach Übereinstimmung der Quellenverbindungsadresse mit einer rechten Adresse;
wenn eine Übereinstimmung gefunden wird, Durchführen einer Adressenübersetzung durch Ersetzen der Quellenverbindungsadresse durch den linken Eintrag des Adressenpaars; und
Durchführen einer Sicherheitsverarbeitung.
4. The method of claim 3, further comprising the steps of:
Receipt of an incoming datagram at the gateway from an external host including a security note;
in response to the security notice, determining a connection address of the network source;
Process the network connection address according to the following steps:
Searching the table for a match of the source link address with a right address;
if a match is found, performing an address translation by replacing the source link address with the left entry of the address pair; and
Perform security processing.
5. Verfahren nach Anspruch 4, wobei der Schritt des Bestimmens den Erhalt einer lokal routingfähigen Host- Aliasadresse für den externen Host von einem Domänennamen-Server hinter dem Gateway beinhaltet.5. The method of claim 4, wherein the step of Determining the receipt of a locally routable host Alias address for the external host from one Domain name server behind the gateway included. 6. Verfahren für die Bedienung von Domänennamen, das Folgendes umfasst:
Konfigurieren eines Domänennamen-Servers hinter einem Gateway, um lokal routingfähige Host-Aliasadressen für externe Hosts zu speichern;
Aufbau einer Zuordnungstabelle durch:
Anzeigen einer Liste mit Hostnamen, die die linksseitigen Adresseinträge bilden, für einen Benutzer;
Aufforderung des Benutzers zur Eingabe eines entsprechenden rechtseitigen Aliasadresseneintrags als Reaktion auf die Auswahl eines Eintrags in der Liste durch einen Benutzer;
Wiederholen der beiden Schritte des Anzeigens und der Aufforderung für eine Vielzahl von Zuordnungstabelleneinträgen;
Bedienen der Aliasadresse als Reaktion auf die Anforderung von einem Gateway oder einem Host hinter dem Gateway für eine rechtsseitige Adresse.
6. A method of operating domain names, which includes:
Configure a domain name server behind a gateway to store locally routable host alias addresses for external hosts;
Structure of an allocation table by:
Displaying to a user a list of host names making up the left address entries;
Prompting the user to enter a corresponding right-hand alias address entry in response to a user's selection of an entry in the list;
Repeating the two steps of displaying and prompting for a plurality of mapping table entries;
Serve the alias address in response to a request from a gateway or host behind the gateway for a right-hand address.
7. System zur Integration von Netzwerkadressen-Übersetzung innerhalb eines gesicherten virtuellen privaten Netzwerks, das Folgendes umfasst:
einen internen Netzwerkhost zum Senden von ausgewähltem Verkehr an eine Proxy-Netzwerkadresse;
eine Zuordnungstabelle mit Übersetzungsregeln von Netzwerkadressen; und
einen Gateway, der auf die Übersetzungsregeln von Netzwerkadressen zum Starten einer virtuellen privaten Netzwerkverbindung anspricht.
7. System for integrating network address translation within a secured virtual private network, comprising:
an internal network host for sending selected traffic to a proxy network address;
an assignment table with translation rules of network addresses; and
a gateway that responds to the translation rules of network addresses to start a virtual private network connection.
8. System nach Anspruch 7, wobei die Übersetzungsregeln für Netzwerkadressen eine Zieladresse und eine Ersatzadresse beinhalten.8. The system of claim 7, wherein the translation rules for Network addresses a destination address and a replacement address include. 9. System nach Anspruch 8, wobei der Gateway in der Lage ist, als Reaktion auf ein Datagramm vom Host das Weiterleiten des Datagramms durch Filterregeln, die einen virtuellen privaten Netzwerktunnel definieren, durchzuführen.9. The system of claim 8, wherein the gateway is capable is in response to a datagram from the host Forward the datagram through filter rules that define a virtual private network tunnel, perform. 10. System nach Anspruch 9, das weiterhin umfasst:
Mittel für die Verarbeitung einer Zieladresse im Datagramm beim virtuellen privaten Netzwerktunnel, die auf die Zuordnungstabelle zugreifen kann.
10. The system of claim 9, further comprising:
Means for processing a destination address in the datagram in the virtual private network tunnel, which can access the assignment table.
11. System nach Anspruch 10, das weiterhin umfasst:
Mittel zum Durchsuchen der Tabelle nach einer Übereinstimmung der Zieladresse mit einer linken Adresse eines linken/rechten Adressenpaars;
Mittel, das in der Lage ist, eine Übereinstimmung für die Durchführung einer Adressenübersetzung durch Ersetzen der Zieladresse durch die rechte Adresse des Adressenpaars zu finden; und
Mittel zur Durchführung der Sicherheitsverarbeitung.
11. The system of claim 10, further comprising:
Means for searching the table for a match of the destination address with a left address of a left / right address pair;
Means capable of finding a match for performing address translation by replacing the destination address with the right address of the address pair; and
Means for performing security processing.
12. System nach Anspruch 9, das weiterhin umfasst:
Empfangen, einschließlich eines Sicherheitsvermerks;
Mittel, das auf den Sicherheitsvermerk reagiert, der am Gateway in einem eingehenden Datagramm von einem externen Host empfangen wird, um die Verbindungsadresse einer Netzwerkquelle zu ermitteln;
Mittel zum Verarbeiten der Netzwerkverbindungsadresse durch Durchsuchen der Tabelle nach einer Übereinstimmung der Quellenverbindungsadresse mit einer rechten Adresse, und wenn eine Übereinstimmung gefunden wird, Durchführen einer Adressenübersetzung durch Ersetzen der Quellenverbindungsadresse durch den linken Eintrag des Adressenpaars; und
Durchführen einer Sicherheitsverarbeitung.
12. The system of claim 9, further comprising:
Receiving, including a security note;
Means responsive to the security notice received at the gateway in an incoming datagram from an external host to determine the connection address of a network source;
Means for processing the network link address by searching the table for a match of the source link address with a right address, and if a match is found, performing address translation by replacing the source link address with the left entry of the address pair; and
Perform security processing.
13. System nach Anspruch 12, das weiterhin einen Domänenserver hinter dem Gateway umfasst, um sowohl den Gateway als auch den lokalen Host mit lokalen routingfähigen Host-Aliasadressen für den externen Host zu bedienen.13. The system of claim 12, further comprising a Domain server behind the gateway includes both the Gateway as well as the local host with local routable host alias addresses for the external host to use. 14. System zur Domänennamen-Bedienung, das Folgendes umfasst:
einen Domänennamen-Server hinter einem Gateway zum Speichern lokaler routingfähiger Host-Aliasadressen für externe Hosts;
Mittel zur Erzeugung einer Zuordnungstabelle, wobei einem Benutzer eine Liste mit Hostnamen angezeigt wird, die die linksseitigen Adresseinträge bilden und als Reaktion auf die Auswahl eines Eintrags in der Liste durch einen Benutzer dieser sich wiederholende Aufforderungen zur Eingabe eines entsprechenden rechtsseitigen Aliasadresseneintrags erhält; und
Mittel, das auf eine Anforderung von einem Gateway oder einem Host hinter dem Gateway für eine rechtsseitige Adresse für die Bedienung der Aliasadresse anspricht.
14. Domain name service system comprising:
a domain name server behind a gateway for storing local routable host alias addresses for external hosts;
Means for generating a mapping table, wherein a user is presented with a list of host names that form the left-hand address entries and, in response to a user's selection of an entry in the list, receives repeated requests to enter a corresponding right-hand alias address entry; and
Means that responds to a request from a gateway or a host behind the gateway for a right-hand address to operate the alias address.
15. Prozess zur Durchführung von VPN-NAT-Ziel-aus, der folgende Schritte umfasst:
Erstellen einer lokalen Bindungstabelle mit Regeln, die rechtsseitige und linksseitige Regeleintragspaare enthalten;
als Reaktion auf eine lokal gestartete Konversation, Anfordern einer Netzwerkadressen-Übersetzung, Erstellen einer impliziten ZUORDNEN-Regel, die einen linken und einen rechten Eintrag enthält, durch Kopieren einer lokalen Client-Kennung in den linken Eintrag und durch Erhalt des rechten Eintrags von einem Adresspool erstellt;
Durchführen einer Sicherheitsverarbeitung mit Bezug auf den rechten Eintrag;
Starten einer VPN-Verbindung und Laden einer ersten impliziten Regel;
für ausgehende Verarbeitung, Vergleichen der Zieladresse mit dem linken Regeleintrag in der lokalen Bindungstabelle und, falls eine Übereinstimmung gefunden wird, Ersetzen der Zieladresse mit dem rechten Regeleintrag; und
für eingehende Verarbeitung, Vergleichen der Quellenadresse mit dem rechten Regeleintrag in der lokalen Bindungstabelle und, falls eine Übereinstimmung gefunden wird, Ersetzen der Quellenadresse mit dem linken Regeleintrag.
15. Process for performing VPN NAT destination, which includes the following steps:
Create a local binding table with rules that contain right-hand and left-hand rule entry pairs;
in response to a locally started conversation, requesting a network address translation, creating an implicit ASSIGN rule that contains left and right entries, by copying a local client ID into the left entry and receiving the right entry from an address pool created;
Performing security processing on the right entry;
Start a VPN connection and load a first implicit rule;
for outbound processing, comparing the destination address with the left rule entry in the local binding table and, if a match is found, replacing the destination address with the right rule entry; and
for inbound processing, comparing the source address with the right rule entry in the local binding table and, if a match is found, replacing the source address with the left rule entry.
16. Programmspeichereinheit, die durch eine Maschine lesbar ist, die ein reales Programm mit Anweisungen enthält, die durch eine Maschine ausführbar sind, um die Verfahrensschritte zur Integration der Netzwerkadressen- Übersetzung innerhalb eines gesicherten virtuellen privaten Netzwerks durchzuführen, wobei das Verfahren folgende Schritte umfasst:
Konfiguration eines internen Netzwerkhosts, um ausgewählten Verkehr an eine Proxy-Netzwerkadresse zu senden;
Konfigurieren eines virtuellen privaten Netzwerk- Gateways mit einer Zuordnungstabelle, die Netzwerkadressen-Übersetzungsregeln enthält;
Starten einer virtuellen privaten Netzwerkverbindung nach den Netzwerkadressen-Übersetzungsregeln.
16. Program storage unit readable by a machine that contains a real program with instructions that can be executed by a machine to carry out the method steps for integrating the network address translation within a secure virtual private network, the method comprising the following steps:
Configuring an internal network host to send selected traffic to a proxy network address;
Configuring a virtual private network gateway with a mapping table that includes network address translation rules;
Start a virtual private network connection according to the network address translation rules.
17. Maschinenlesbare Programmspeichereinheit, die ein reales Programm mit Anweisungen enthält, die von einer Maschine ausgeführt werden können, um Verfahrensschritte zum Bedienen von Domänennamen durchzuführen, wobei das Verfahren folgende Schritte umfasst:
Konfigurieren eines Domänennamen-Servers hinter einem Gateway, um lokal routingfähige Host-Aliasadressen für externe Hosts zu speichern;
Aufbau einer Zuordnungstabelle durch:
Anzeigen einer Liste mit Hostnamen, die die linksseitigen Adresseinträge bilden, für einen Benutzer;
als Reaktion auf die Auswahl eines Eintrags in der Liste durch einen Benutzer, Auffordern des Benutzers zur Eingabe eines entsprechenden rechtseitigen Aliasadresseintrags;
Wiederholen der beiden Schritte des Anzeigens und Aufforderns für eine Vielzahl von Zuordnungstabelleneinträgen;
als Reaktion auf eine Anforderung von einem Gateway oder einem Host hinter dem Gateway für eine rechtsseitige Adresse, Bedienen der Aliasadresse.
17. A machine readable program storage unit that contains a real program with instructions that can be executed by a machine to perform method steps for operating domain names, the method comprising the following steps:
Configure a domain name server behind a gateway to store locally routable host alias addresses for external hosts;
Structure of an allocation table by:
Displaying to a user a list of host names making up the left address entries;
in response to a user's selection of an entry in the list, prompting the user for a corresponding right-hand alias address entry;
Repeating the two steps of displaying and prompting for a plurality of mapping table entries;
in response to a request from a gateway or a host behind the gateway for a right hand address, serving the alias address.
18. Maschinenlesbare Programmspeichereinheit, die ein reales Programm mit Anweisungen enthält, die von einer Maschine ausgeführt werden können, um Verfahrensschritte zur Durchführung von VPN-NAT-Ziel-aus durchzuführen, wobei das Verfahren folgende Schritte umfasst:
Erstellen einer lokalen Bindungsregeltabelle, die rechtsseitige und linksseitige Regeleintragspaare enthält;
als Reaktion auf eine lokal gestartete Konversation, Anfordern einer Netzwerkadressen-Übersetzung, Erstellen einer impliziten ZUORDNEN-Regel, die einen linken und einen rechten Eintrag enthält, durch Kopieren einer lokalen Client-Kennung in den linken Eintrag und durch Erhalt des rechten Eintrags von einem Adresspool erstellt;
Durchführen einer Sicherheitsverarbeitung mit Bezug auf den rechten Eintrag;
Starten einer VPN-Verbindung einschließlich des Ladens einer ersten impliziten Regel;
für ausgehende Verarbeitung, Vergleichen der Zieladresse mit dem linken Regeleintrag in der lokalen Bindungstabelle und, falls eine Übereinstimmung gefunden wird, Ersetzen der Zieladresse mit dem rechten Regeleintrag; und
für eingehende Verarbeitung, Vergleichen der Quellenadresse mit dem rechten Regeleintrag in der lokalen Bindungstabelle und, falls eine Übereinstimmung gefunden wird, Ersetzen der Quellenadresse durch den linken Regeleintrag.
18. A machine-readable program storage unit that contains a real program with instructions that can be executed by a machine in order to carry out procedural steps for performing VPN-NAT target-out, the method comprising the following steps:
Creating a local binding rule table that contains right-hand and left-hand rule entry pairs;
in response to a locally started conversation, requesting a network address translation, creating an implicit ASSIGN rule that contains left and right entries, by copying a local client ID into the left entry and receiving the right entry from an address pool created;
Performing security processing on the right entry;
Start a VPN connection including loading a first implicit rule;
for outbound processing, comparing the destination address with the left rule entry in the local binding table and, if a match is found, replacing the destination address with the right rule entry; and
for inbound processing, comparing the source address with the right rule entry in the local binding table and, if a match is found, replacing the source address with the left rule entry.
19. Ein Herstellungsartikel, der Folgendes umfasst: ein durch einen Computer verwendbares Medium, das ein computerlesbares Programmcodemittel zur Bedienung von Domänennamen enthält, wobei das computerlesbare Programmmittel in dem Herstellungsartikel Folgendes umfasst:
computerlesbares Programmcodemittel, das bewirkt, dass ein Computer das Speichern lokal routingfähiger Host- Aliasadressen für externe Hosts durchführt;
computerlesbares Programmcodemittel für die Erzeugung einer Zuordnungstabelle, wobei für einen Benutzer eine Liste mit Hostnamen angezeigt wird, die die linksseitigen Adresseinträge bilden, und als Reaktion auf die Auswahl eines Eintrags in der Liste durch einen Benutzer, wiederkehrende Aufforderungen des Benutzers zur Eingabe eines entsprechenden rechtsseitigen Aliasadresseintrags; und
computerlesbares Programmcodemittel, das auf eine Anforderung von einem Gateway oder einem Host hinter dem Gateway für eine rechtsseitige Adresse für die Bedienung der Aliasadresse anspricht.
19. An article of manufacture comprising: a computer usable medium containing computer readable program code means for serving domain names, the computer readable program means in the article of manufacture comprising:
computer readable program code means for causing a computer to store locally routable host alias addresses for external hosts;
computer readable program code means for generating a mapping table, displaying to a user a list of host names making up the left address entries and in response to a user's selection of an entry in the list, recurring prompts by the user to enter a corresponding right alias address entry ; and
computer-readable program code means which responds to a request from a gateway or a host behind the gateway for a right-hand address for the operation of the alias address.
DE10128493A 2000-06-16 2001-06-12 Integration of network address translation and IP security protocol within virtual private network, involves providing allocation table containing NAT rules in VPN gateway Ceased DE10128493A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/595,950 US6832322B1 (en) 1999-01-29 2000-06-16 System and method for network address translation integration with IP security

Publications (1)

Publication Number Publication Date
DE10128493A1 true DE10128493A1 (en) 2002-01-03

Family

ID=24385372

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10128493A Ceased DE10128493A1 (en) 2000-06-16 2001-06-12 Integration of network address translation and IP security protocol within virtual private network, involves providing allocation table containing NAT rules in VPN gateway

Country Status (1)

Country Link
DE (1) DE10128493A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005081492A1 (en) * 2004-02-20 2005-09-01 Matsushita Electric Industrial Co., Ltd. Method and system for proxy-based secure end-to-end tcp/ip communications
EP1664986A2 (en) * 2003-09-19 2006-06-07 Motorola, Inc. Setting up a name resolution system for home-to-home communications
CN100466650C (en) * 2002-12-27 2009-03-04 Lg-北电株式会社 SIP service method in a network having a NAT

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100466650C (en) * 2002-12-27 2009-03-04 Lg-北电株式会社 SIP service method in a network having a NAT
EP1664986A2 (en) * 2003-09-19 2006-06-07 Motorola, Inc. Setting up a name resolution system for home-to-home communications
EP1664986A4 (en) * 2003-09-19 2009-03-04 Motorola Inc Setting up a name resolution system for home-to-home communications
WO2005081492A1 (en) * 2004-02-20 2005-09-01 Matsushita Electric Industrial Co., Ltd. Method and system for proxy-based secure end-to-end tcp/ip communications

Similar Documents

Publication Publication Date Title
US6832322B1 (en) System and method for network address translation integration with IP security
EP1602214B1 (en) Method, system and storage medium for establishing compatibility between IPsec and dynamic routing
DE60310347T2 (en) Method and system for rule association in communication networks
DE69831974T2 (en) METHOD FOR PACKET AUTHENTICATION IN THE PRESENCE OF NETWORK ADDRESS TRANSLATIONS AND PROTOCOL CONVERSIONS
DE60111089T2 (en) Method and apparatus for analyzing one or more firewalls
DE60311297T2 (en) COMMON PORT ADDRESSING IN A ROUTER THAT AGAINST NAT &amp; NAT-PT GATEWAY
DE60221557T2 (en) METHOD AND DEVICE FOR ADDRESS TRANSLATION FOR SECURED CONNECTIONS
DE19741239C2 (en) Generalized security policy management system and procedures
US7107614B1 (en) System and method for network address translation integration with IP security
DE602004007301T2 (en) ADDRESSING METHOD AND APPARATUS FOR BUILDING HIP CONNECTIONS BETWEEN CURRENT AND HIP-ABLE NETWORK NODES
DE69731965T2 (en) ACCESS TO COMPUTER EQUIPMENT FROM OUTSIDE THROUGH A FIREWALL
DE60213391T2 (en) Personal firewall with position detection
DE10052312B4 (en) Automatic lock against unauthorized access on the Internet (Snoop Avoider) for virtual private networks
DE60121101T2 (en) Facial communication method, face-up communication system and device
DE10052311B4 (en) Manually prevent unauthorized listening in a virtual private network over the Internet
DE60121755T2 (en) IPSEC PROCESSING
DE60311898T2 (en) Procedure to transfer a packet from a first IPSeC client to a second IPSec client via an L2TP tunnel
DE60024237T2 (en) METHOD AND SYSTEM FOR NETWORK ADDRESS TRANSLATION WITH SECURITY CHARACTERISTICS
DE10296987T5 (en) Dynamic configuration of Ipsec tunnels
DE60211287T2 (en) Handling connections that move between firewalls
DE60304704T2 (en) Network system, routers and network setup procedures
DE102019112485A1 (en) Procedure for selectively executing a container
DE60302833T2 (en) User password-based packet switching in virtual networks
DE10128493A1 (en) Integration of network address translation and IP security protocol within virtual private network, involves providing allocation table containing NAT rules in VPN gateway
DE10392807B9 (en) Method and device for improved security for communication over a network

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8120 Willingness to grant licences paragraph 23
8131 Rejection