WO2013035309A1 - エージェント装置及び通信中継方法 - Google Patents

エージェント装置及び通信中継方法 Download PDF

Info

Publication number
WO2013035309A1
WO2013035309A1 PCT/JP2012/005601 JP2012005601W WO2013035309A1 WO 2013035309 A1 WO2013035309 A1 WO 2013035309A1 JP 2012005601 W JP2012005601 W JP 2012005601W WO 2013035309 A1 WO2013035309 A1 WO 2013035309A1
Authority
WO
WIPO (PCT)
Prior art keywords
dns
dns query
query packet
address
packet
Prior art date
Application number
PCT/JP2012/005601
Other languages
English (en)
French (fr)
Inventor
北村 浩
Original Assignee
日本電気株式会社
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
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2013532442A priority Critical patent/JP5987832B2/ja
Publication of WO2013035309A1 publication Critical patent/WO2013035309A1/ja

Links

Images

Classifications

    • 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]

Definitions

  • the present invention relates to a DNS (Domain Name System) query technology.
  • a client device that starts communication needs to acquire an IP address of a server device that is a communication partner.
  • the end user sees not the IP address but the name information of the server device such as FQDN (FullyFullQualified Domain Name).
  • FIG. 21 is a diagram showing the concept of pre-sequence.
  • the actual IP communication sequence is described as a main sequence.
  • the client device executes DNS (Domain Name System) name resolution processing as a pre-sequence before starting IP communication with the server.
  • DNS Domain Name System
  • Patent Documents 1, 2, and 3 Such a pre-sequence, that is, a technique relating to DNS name resolution is described in Patent Documents 1, 2, and 3 below.
  • the following Patent Document 1 describes a technique for properly using a plurality of name resolution mechanisms
  • Patent Document 2 listed below describes a technique for processing a DNS name query by a gateway device provided between a LAN terminal and a DNS server.
  • Patent Document 3 below describes a method in which a traffic management server returns IP information of an optimal service server to a client.
  • the pre-sequence described above has a great influence on the actual IP communication (main sequence). This is because the IP address acquired by the client apparatus in the pre-sequence not only determines the actual destination of IP communication but also determines the form and availability of the IP communication. Therefore, controlling the pre-sequence leads to controlling actual IP communication.
  • the client device may not be able to start IP communication efficiently. For example, when a client device transmits a DNS query packet in which a query type indicating an AAAA record is set even though the AAAA record for the communication partner device is not registered in the DNS, the client device Will freeze for a while because no reply is received from the DNS server.
  • the client device uses the IPv6 address obtained by the DNS query packet as the communication partner. And communication cannot be realized.
  • the present invention has been made in view of the above circumstances, and provides a technique for appropriately controlling a DNS query.
  • the first aspect relates to the agent device.
  • the agent device includes a capturing unit that captures a DNS query packet so that the DNS query packet is not received by the destination DNS server device, and the DNS query packet captured by analyzing the DNS query packet captured by the capturing unit.
  • a process determining unit that determines the process corresponding to the rejection process, and the DNS query packet whose process corresponding to the process determined by the process determining unit is determined to be the rejection process without transferring the DNS query packet to the DNS server.
  • a reply unit that sends back a negative response packet.
  • the second aspect relates to a communication relay method.
  • the communication relay method captures a DNS query packet so that it is not received by a destination DNS server device, and analyzes the captured DNS query packet to reject processing corresponding to the DNS query packet. This includes determining to process, and returning a negative response packet to the source of the DNS query packet without transferring the DNS query packet whose corresponding process is determined to be rejected to the DNS server.
  • a program that causes a computer to realize each configuration in the first aspect may be used, or a computer-readable recording medium that records such a program may be used.
  • This recording medium includes a non-transitory tangible medium.
  • FIG. 1 is a diagram conceptually illustrating a configuration example of an agent device according to the first embodiment.
  • FIG. 2 is a diagram conceptually illustrating an operation example of the agent device according to the first embodiment.
  • FIG. 3 is a diagram illustrating a first example (Permit_Node_by_IP) of the processing setting data.
  • FIG. 4 is a diagram illustrating a second example (Permit_Nodes_by_L2) of the processing setting data.
  • FIG. 5 is a diagram illustrating a third example (Deny_Nodes_by_IP) of the processing setting data.
  • FIG. 6 is a diagram illustrating a fourth example of processing setting data (Deny_Nodes_by_L2).
  • FIG. 1 is a diagram conceptually illustrating a configuration example of an agent device according to the first embodiment.
  • FIG. 2 is a diagram conceptually illustrating an operation example of the agent device according to the first embodiment.
  • FIG. 3 is a diagram illustrating a first example (Permit_Node_
  • FIG. 7 is a diagram illustrating a fifth example (A_Only) of the processing setting data.
  • FIG. 8 is a diagram illustrating a sixth example (AAAA_Only) of the processing setting data.
  • FIG. 9 is a diagram illustrating a seventh example of processing setting data (Hetero Deny (Homo_Permit)).
  • FIG. 10 is a diagram illustrating an eighth example (PTR_Deny6) of process setting data.
  • FIG. 11 is a diagram conceptually illustrating an operation example of the agent device according to the second embodiment.
  • FIG. 12 is a diagram illustrating a ninth example (Local_Answer (Answer_Replace)) of process setting data.
  • FIG. 13 is a diagram illustrating a tenth example (PTR_Local_Answer (PTR_Answer_Replace)) of process setting data.
  • FIG. 14 is a diagram conceptually illustrating a configuration example of the agent device according to the third embodiment.
  • FIG. 15 is a diagram conceptually illustrating an operation example of the agent device according to the third embodiment.
  • FIG. 16 is a diagram illustrating an eleventh example (Local_Query (Query_Replace)) of the processing setting data.
  • FIG. 17 is a diagram illustrating a twelfth example (Server_Set) of process setting data.
  • FIG. 18 is a diagram illustrating a thirteenth example (Server_Set_By_Query_Name) of the processing setting data.
  • FIG. 19 is a diagram illustrating a fourteenth example (PTR_Mapped6_to_4) of process setting data.
  • FIG. 20 is a diagram illustrating a fifteenth example (PTR_4_to_Mapped6) of process setting data.
  • FIG. 21 is a diagram showing the concept of pre-sequence.
  • FIG. 1 is a diagram conceptually illustrating a configuration example of an agent device 10 according to the first embodiment.
  • the agent device 10 is provided in the middle of the communication path 7 connecting the client device 1 and the DNS server device 5.
  • the middle of the communication path 7 means that any position on the communication path connecting the communication interface of the client device 1 to the communication interface of the DNS server device 5 may be used.
  • the agent device 10 may be provided separately from the client device 1 and the DNS server device 5 as illustrated in FIG. 1, or may be provided in the client device 1 or the DNS server device 5.
  • the client device 1 and the DNS server device 5 may be referred to as the client 1 and the DNS server 5 in some cases.
  • the agent device 10 includes a capture unit 11, a process determination unit 13, a reply unit 15, a relay unit 17, and the like.
  • Each of these processing units may be realized as at least one hardware component, or may be realized as at least one software component, individually or in a combination of a plurality of hardware components, It may be realized by a combination of software components.
  • a hardware component is a hardware circuit such as a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a gate array, a combination of logic gates, a signal processing circuit, an analog circuit, etc. is there.
  • the software component is realized by executing data (program) on one or more memories by one or more processors (for example, CPU (Central Processing Unit), DSP (Digital Signal Processor), etc.).
  • processors for example, CPU (Central Processing Unit), DSP (Digital Signal Processor), etc.
  • Software parts (fragments) such as tasks, processes and functions.
  • the agent device 10 includes a CPU, a memory, an input / output interface, and the like. Note that this embodiment does not limit the hardware configuration of the agent device 10.
  • the client device 1 is a general information processing terminal such as a PC (Personal Computer), a portable PC, a mobile phone, or the like.
  • the client device 1 only needs to have a general communication function that can access an arbitrary information server 9 or DNS server device 5 such as a WEB server and receive data.
  • a WEB system is used for an interface between the information server 9 and the client device 1.
  • the client device 1 performs IP communication with the DNS server device 5 and the information server 9 using a general communication function. Note that this embodiment does not limit the hardware configuration and functional configuration of the client device 1.
  • the client device 1 in the present embodiment executes the above-described pre-sequence in order to start access to the information server 9. Specifically, the client apparatus 1 acquires the IP address of the information server 9 from the DNS server apparatus 5 by executing the DNS forward lookup process as one of the name resolution processes. Similarly, the client device 1 acquires the FQDN (Fully Qualified Domain Name) of the information server 9 from the DNS server device 5 by executing the DNS reverse lookup process as one of the name resolution processes.
  • FQDN Frully Qualified Domain Name
  • the DNS server device 5 means any one of a general DNS server group. In the present embodiment, individual DNS server devices are not particularly distinguished. The present embodiment does not limit the hardware configuration and functional configuration of the DNS server device 5.
  • the capturing unit 11 captures a DNS query packet transmitted from the client device 1. This capture means that the packet data addressed to the DNS server device 5 is acquired and blocked by the agent device 10 so as not to reach the DNS server device 5. For example, the capture unit 11 captures, as a DNS query packet, a packet that is a UDP protocol and whose transmission destination port number is set to 53.
  • the process determining unit 13 determines the process corresponding to the DNS query packet by analyzing the DNS query packet captured by the capturing unit 11. Specifically, the process determining unit 13 is based on the source address set in the captured DNS query packet, the query type indicating the type of target information of the query, or the query name that is the key information of the query. The process corresponding to the DNS query packet is determined.
  • the transmission source address is an IP address or a MAC (Media Access Control Address) address (L2 address).
  • the process determined by the process determination unit 13 is permission or rejection.
  • the process determining unit 13 determines the process by the following method.
  • the permission process and the rejection process are front and back, either process may be determined by initiative, but in the following description, an example in which the rejection process is determined by initiative is shown.
  • the process determining unit 13 sets the process corresponding to the DNS query packet as a rejection process. decide.
  • the process determining unit 13 may determine that the process corresponding to the DNS query packet is a rejection process. Good.
  • the process determining unit 13 sets the process corresponding to the DNS query packet as a rejection process. decide.
  • the process determining unit 13 determines that the process corresponding to the DNS query packet is a rejection process. Also good.
  • the process determining unit 13 determines the process corresponding to the DNS query packet as a rejection process. Conversely, when a DNS query packet having a query type other than an AAAA record is captured, the process determining unit 13 may determine the process corresponding to the DNS query packet as a rejection process.
  • the process determining unit 13 identifies whether the address format of the source IP address is an IPv4 type or an IPv6 type, and based on the combination of the identified address format and query type, a DNS query packet Processing corresponding to the above may be determined. Specifically, the processing determination unit 13 captures a DNS query packet in which the address format is an IPv4 type and the query type indicates an AAAA record, and the address format is an IPv6 type and the query type is When a DNS query packet indicating an A record is captured, the process corresponding to the DNS query packet is determined as a rejection process.
  • the reply unit 15 returns a negative acknowledgment (NACK) packet to the transmission source of the DNS query packet whose corresponding process is determined to be the rejection process by the process determining unit 13.
  • NACK negative acknowledgment
  • the transmission source address of the DNS query packet is used as the transmission destination address of the negative acknowledgment packet.
  • the relay unit 17 sends the DNS query packet whose corresponding processing is determined to be permission processing by the processing determination unit 13 in the direction of the DNS server device 5.
  • FIG. 2 is a diagram conceptually illustrating an operation example of the agent device 10 according to the first embodiment.
  • the capture unit 11 of the agent device 10 captures the DNS query packet (S20). That is, the DNS query packet transmitted from the client device 1 does not reach the DNS server device 5.
  • the process determination unit 13 determines a process corresponding to the DNS query packet by analyzing the captured DNS query packet (S21). In this analysis, at least one of the source MAC address, source IP address, query type, and query name set in the DNS query packet is used.
  • the relay unit 17 sends the DNS query packet toward the DNS server device 5 (S22).
  • the DNS server device 5 extracts the IP address or FQDN requested by the DNS query packet, and transmits a response packet including the IP address or FQDN to the client device 1.
  • the client device 1 can acquire the IP address of the information server 9 by receiving the response packet corresponding to the DNS query packet, and can thus start communication with the information server 9 (main) sequence).
  • the relay unit 17 transmits a negative response to the client apparatus 1 that is the transmission source of the DNS query packet (S23).
  • the client device 1 cannot acquire the IP address of the information server 9 requested by the DNS query packet and cannot access the information server 9.
  • the DNS query packet transmitted from the client device 1 to the DNS server device 5 is captured, and the DNS query packet is analyzed. By this analysis, it is determined whether or not the DNS query packet is transferred to the DNS server device 5. When it is determined not to be transferred, a negative response is transmitted to the client apparatus 1 that is the transmission source.
  • the DNS query is filtered by the agent device 10 under a predetermined condition. According to this filtering, it is possible to appropriately select (authenticate) the client apparatus 1 that should return a DNS query response. Further, according to this filtering, the version of the IP address provided to the client device 1 can be appropriately selected. Furthermore, according to the fifth method described above, by identifying the version of the source IP address, the IP version supported by the client apparatus 1 of the source is specified, and conforms to the specified IP version. The IP address can be provided from the DNS server device 5. That is, according to the first embodiment, the DNS query can be appropriately controlled.
  • the client device 1 even if the DNS query is rejected by the agent device 10, a negative response is always returned, so the client device 1 immediately takes another response without freezing. Can do.
  • the process determining unit 13 holds process setting data as shown in FIGS. 3 to 10 and determines a process corresponding to the captured DNS query packet based on the contents of the process setting data. Good.
  • a transmission source L2 address (written as Client L2 Address), a transmission source IP address (written as Client IP Address), a query type, a query name, and action information (written as Action) are stored.
  • the process determining unit 13 matches the captured DNS query packet among a plurality of conditions using at least one of the source L2 address, source IP address, query type, and query name set in the process setting data.
  • the action information corresponding to the specified condition is determined as the process corresponding to the DNS query packet.
  • FIG. 3 is a diagram showing a first example of processing setting data (Permit_Node_by_IP).
  • the process determining unit 13 that refers to the process setting data of the first example determines the process corresponding to the DNS query packet in which the transmission source IP address indicates IP_A or IP_B as the permission process.
  • the action information “NR (NormalingResolving)” indicates that the captured DNS query packet is transferred to the DNS server device 5, and “SR.NoAnswer” indicates that the agent device 10 itself sends a negative response without transfer. It shows returning to the apparatus 1.
  • NR NormalResolving
  • SR.NoAnswer indicates that the agent device 10 itself sends a negative response without transfer. It shows returning to the apparatus 1.
  • the response is not returned to other clients. Can do.
  • FIG. 4 is a diagram showing a second example of processing setting data (Permit_Nodes_by_L2).
  • the process determining unit 13 that refers to the process setting data of the second example determines the process corresponding to the DNS query packet in which the source L2 address indicates MAC_X as the permission process. According to the second example, as long as only the MAC address of the client device 1 that should receive the DNS query response is set in this processing setting data, the response can be prevented from returning to other clients.
  • FIG. 5 is a diagram showing a third example of processing setting data (Deny_Nodes_by_IP).
  • the process determining unit 13 that refers to the process setting data of the third example determines that the process corresponding to the DNS query packet whose source IP address indicates IP_A or IP_B is the rejection process. According to the third example, as long as the IP address of the client device 1 that does not want to receive a DNS query response is set in this processing setting data, the response can be prevented from being returned to the client device 1. .
  • FIG. 6 is a diagram showing a fourth example of processing setting data (Deny_Nodes_by_L2).
  • the process determining unit 13 that refers to the process setting data of the fourth example determines that the process corresponding to the DNS query packet whose source L2 address indicates MAC_X is the rejection process. According to the fourth example, as long as the MAC address of the client apparatus 1 that does not want to receive a DNS query response is set in this processing setting data, the response can be prevented from being returned to the client apparatus 1. .
  • FIG. 7 is a diagram showing a fifth example (A_Only) of process setting data.
  • the process determination unit 13 that refers to the process setting data of the fifth example determines that the process corresponding to the DNS query packet whose query type indicates an A record is the permission process, and corresponds to the DNS query packet whose query type indicates an AAAA record.
  • the processing is determined to be rejection processing.
  • the IP address that should be returned in the DNS query response can be limited to IPv4 only.
  • FIG. 8 is a diagram showing a sixth example of processing setting data (AAAA_Only).
  • the process determination unit 13 that refers to the process setting data of the sixth example determines that the process corresponding to the DNS query packet whose query type indicates an A record is a rejection process, and corresponds to the DNS query packet whose query type indicates an AAAA record.
  • the process is determined to be a permission process.
  • the IP address that should be returned in the DNS query response can be limited to IPv6 only.
  • FIG. 9 is a diagram showing a seventh example of processing setting data (Hetero Deny (Homo_Permit)).
  • the process determination unit 13 referring to the process setting data of the seventh example determines the process corresponding to the DNS query packet in which the address format is the IPv4 type and the query type is AAAA record as the rejection process, and the address format is IPv4.
  • a process corresponding to a DNS query packet that is a type and whose query type indicates an A record is determined as a permission process.
  • the process determining unit 13 determines that the process corresponding to the DNS query packet whose address format is IPv6 type and whose query type is A record is rejection processing, whose address format is IPv6 type, and whose query type is The process corresponding to the DNS query packet indicating the AAAA record is determined as the permission process.
  • the source client device 1 When the IPv4 address is set as the source IP address of the DNS query packet, the source client device 1 does not necessarily have a protocol stack that supports IPv6, but always has a protocol stack that supports IPv4. It should be. Similarly, the IPv6 address is not always registered in the DNS server device 5 for the information server 9 that the client device 1 desires to communicate with. According to the seventh example, as described above, only the IPv4 address is returned to the client device 1 that issued the DNS query by IPv4, and only the IPv6 address is returned to the client device 1 that issued the DNS query by IPv6. Can be controlled.
  • the client apparatus 1 that has received the DNS query response cannot realize the IP communication using the IP address obtained by the query by the IP version supported by the protocol stack, It is possible to eliminate the inconvenience that the apparatus 5 freezes without receiving any reply.
  • FIG. 10 is a diagram showing an eighth example of process setting data (PTR_Deny6).
  • the process determination unit 13 that refers to the process setting data of the eighth example determines the process corresponding to the DNS query packet including “.ip6.arpa.” In the query name as a rejection process. According to the eighth example, reverse DNS lookup for an IPv6 address can be prohibited.
  • 3 to 10 are shown as separate examples, but may be combined as appropriate.
  • the fifth example, the sixth example, or the eighth example can be combined with any one of the first example to the fourth example.
  • the agent device 10 returns a negative response according to the filtering result of the DNS query. However, an original response other than the negative response may be returned.
  • the configuration of the agent device 10 in the second embodiment is the same as that in the first embodiment, but the processing in some processing units is different from that in the first embodiment.
  • the agent device 10 according to the second embodiment will be described focusing on the content different from the first embodiment.
  • the process determining unit 13 determines the process corresponding to the DNS query packet as the forced reply process.
  • the process determining unit 13 sends predetermined IP address data to the reply unit 15 together with the determined process content.
  • the process determination unit 13 may hold a plurality of combinations of predetermined FQDNs and predetermined IP address data in advance, and may determine IP address data to be sent to the reply unit 15 according to the combinations.
  • the process determination unit 13 determines the process corresponding to the DNS query packet as the forced reply process.
  • the process determination unit 13 sends a predetermined FQDN along with the determined process content to the reply unit 15.
  • the process determination unit 13 may hold a plurality of combinations of a predetermined reverse name and a predetermined FQDN in advance, and may determine the FQDN to be sent to the reply unit 15 according to this combination.
  • processing determination unit 13 may further perform filtering analysis as in the first embodiment after the analysis as described above, or a DNS query that has not been determined as the forced reply processing in the analysis as described above.
  • the processing corresponding to the packet may be uniformly determined as permission processing.
  • the reply unit 15 generates a response packet for the captured DNS query packet when the processing content sent from the process determination unit 13 indicates a forced reply process, and the response packet is sent to the client of the transmission source of the DNS query packet. A reply is sent to the device 1.
  • the reply unit 15 sets the IP address data or the FQDN transmitted from the processing determination unit 13 as resource data in the response packet.
  • FIG. 11 is a diagram conceptually illustrating an operation example of the agent device 10 according to the second embodiment.
  • the DNS query packet is captured by the capturing unit 11 (S111) and analyzed by the processing determining unit 13 as in the first embodiment. (S112).
  • the analysis processing in the process determining unit 13 is different from that in the first embodiment.
  • the process determining unit 13 determines the forced reply process when a predetermined FQDN is included in the query name set in the captured DNS query packet or when a predetermined reverse lookup name is included. In the example of FIG. 11, the process determination unit 13 determines a process corresponding to a DNS query packet other than the above as a permission process.
  • the reply unit 15 When the captured DNS query packet is for DNS forward lookup, and the determined process is a forced reply process, the reply unit 15 performs predetermined IP address data corresponding to the predetermined FQDN. Is generated as resource data, and this forward response packet is returned to the client device 1 that is the transmission source of the captured DNS query packet (S113). Further, when the captured DNS query packet is for DNS reverse lookup and the determined process is a forced reply process, the reply unit 15 performs a predetermined response corresponding to the predetermined reverse lookup name. A reverse response packet including the FQDN as resource data is generated, and this reverse response packet is returned to the client device 1 that is the transmission source of the captured DNS query packet (S113).
  • the relay unit 17 sends the DNS query packet toward the DNS server device 5 (S114).
  • the client device 1 that is the transmission source of the DNS query packet can acquire the IP address and can execute the main sequence. .
  • the agent device 10 sends the packet to the DNS server device 5. A response is returned to the client device 1 without relaying. At that time, the IP address or FQDN determined uniquely by the agent device 10 is set in the response.
  • the agent device 10 can control information (IP address and FQDN) to be provided to the client device 1 by the DNS query.
  • IP address and FQDN IP address and FQDN
  • the process corresponding to the captured DNS query packet may be determined based on the content of the process setting data similar to that in the first embodiment.
  • the processing setting data in the second embodiment will be described.
  • FIG. 12 is a diagram showing a ninth example of processing setting data (Local_Answer (Answer_Replace)).
  • the process determination unit 13 that refers to the process setting data of the ninth example determines the process corresponding to the DNS query packet whose query name indicates HOST_C as the forced reply process. At this time, the process determining unit 13 sends the IP address (Addr_C) to the reply unit 15 together with the fact that the forced reply process has been determined.
  • the action information “SR.Address (Addr_C)” indicates that the agent device 10 itself returns a forward response including the IP address (Addr_C) to the client device 1 without transferring the DNS query packet.
  • the agent device 10 does not depend on the processing of the DNS server device 5.
  • the forward DNS query can be controlled within a predetermined range.
  • FIG. 13 is a diagram showing a tenth example (PTR_Local_Answer (PTR_Answer_Replace)) of process setting data.
  • the process determining unit 13 that refers to the process setting data in the tenth example determines the process corresponding to the DNS query packet whose query name indicates Rev_Host_E as the forced reply process. At this time, the process determining unit 13 sends FQDN (Host_V) to the reply unit 15 together with the fact that the forced reply process has been determined.
  • the action information “SR.Name (Host_V)” indicates that the agent device 10 itself returns a reverse response including the FQDN (Host_V) to the client device 1 without transferring the DNS query packet.
  • the process does not depend on the process of the DNS server device 5.
  • the agent device 10 can control the reverse DNS query within a set range.
  • the agent device 10 may rewrite the contents of the DNS query packet when transferring the DNS query packet to the DNS server device 5 in the permission process.
  • the agent device 10 according to the third embodiment will be described focusing on the content different from the first embodiment and the second embodiment.
  • FIG. 14 is a diagram conceptually illustrating a configuration example of the agent device 10 according to the third embodiment.
  • the agent device 10 according to the third embodiment further includes a rewriting unit 19 in addition to the configurations of the first embodiment and the second embodiment.
  • the rewriting unit 19 is also realized by software components, hardware components, or a combination thereof.
  • the process determining unit 13 determines the process corresponding to the DNS query packet as a rewrite process.
  • the process determination unit 13 sends the rewrite information to the rewrite unit 19 together with the determined process content.
  • the original query name is rewritten to a predetermined rewriting query name held in advance.
  • the original query name is rewritten from the reverse name corresponding to the IPv4-mapped-IPv6 address to the reverse name corresponding to the IPv4 address.
  • the original query name is rewritten from the reverse name corresponding to the IPv4 address to the reverse name corresponding to the IPv4-mapped-IPv6 address.
  • the original transmission destination IP address is rewritten to a predetermined rewriting IP address held in advance.
  • the process determining unit 13 holds a plurality of combinations of a predetermined query name and a predetermined rewriting query name in advance, and performs predetermined rewriting to be sent to the rewriting unit 19 according to the combination. You may decide the query name. For example, when a DNS query packet for DNS forward lookup is captured, the predetermined rewrite query name is a predetermined FQDN string, and when a DNS query packet for reverse DNS lookup is captured. The predetermined rewrite query name is a predetermined reverse name character string.
  • the fourth rewriting method is the rewriting and agreement of the DNS query packet transfer destination.
  • Such rewriting of the transfer destination may be performed on all DNS query packets whose corresponding processing is determined to be permission processing or rewriting processing, or a specific DNS query packet in all the DNS query packets may be selected. It may be a target. In the latter case, the process determination unit 13 may select a DNS query packet for which the transfer destination is to be rewritten. For example, the process determination unit 13 determines the presence / absence of rewriting of the transfer destination and the IP address for rewriting for each query name set in the DNS query packet.
  • the process determination unit 13 holds in advance a predetermined rewrite IP address (at least one of IPv4 and IPv6) for specifying the DNS server device 5 that is desired to be a forcible transfer destination of the DNS query packet.
  • IP address for rewriting is determined from the list.
  • the process determining unit 13 sends information that can identify the rewriting method and data for rewriting as necessary to the rewriting unit 19 as the rewriting information.
  • the rewriting unit 19 regenerates the data of the captured DNS query packet based on the information obtained from the process determining unit 13 to generate a DNS query packet for transfer to the DNS server device 5.
  • the DNS query packet for transfer generated by the rewriting unit 19 is transmitted to the DNS server device 5 via the relay unit 17.
  • the rewrite unit 19 When the rewrite unit 19 obtains information indicating the first rewrite method from the process determination unit 13, the rewrite unit 19 similarly sends the original query name set in the captured DNS query packet from the process determination unit 13.
  • a DNS query packet for transfer is generated by rewriting to the rewritten query name.
  • the rewrite unit 19 obtains information indicating the fourth rewrite method from the process determination unit 13, the original transmission destination IP address set in the DNS query packet is similarly sent from the process determination unit 13.
  • a DNS query packet for transfer is generated.
  • the rewriting unit 19 generates a DNS query packet for transfer according to the version of the IP address for rewriting. Thereby, when the IP version of the captured DNS query packet is different from the selected IP version for rewriting, the packet format is converted.
  • the rewrite unit 19 When the rewrite unit 19 obtains information indicating the second rewrite method from the processing determination unit 13, the rewrite unit 19 sets the reverse name corresponding to the IPv4-mapped-IPv6 address set in the captured DNS query packet to IPv4. Convert to reverse name corresponding to address.
  • a method of generating a reverse name corresponding to this from an IPv6 address and a method of generating a reverse name corresponding to this from an IPv4 address are well known.
  • a technique for converting an IPv4-mapped-IPv6 address into an IPv4 address and a technique for converting an IPv4 address into an IPv4-mapped-IPv6 address are also well known.
  • the rewriting unit 19 converts the reverse name by combining known methods as described above.
  • the rewriting unit 19 rewrites the original query name (reverse lookup name corresponding to the IPv4-mapped-IPv6 address) set in the DNS query packet to the reverse lookup name corresponding to the IPv4 address thus converted.
  • the rewriting unit 19 sends the DNS query packet generated by this rewriting to the relay unit 17.
  • the rewriting unit 19 When the rewriting unit 19 obtains information indicating the third rewriting method from the processing determining unit 13, the rewriting unit 19 combines the well-known methods as described above with the IPv4 address set in the captured DNS query packet. The corresponding reverse name is converted into a reverse name corresponding to the IPv4-mapped-IPv6 address. The rewriting unit 19 rewrites the original query name (reverse name corresponding to the IPv4 address) set in the DNS query packet to the reverse name corresponding to the IPv4-mapped-IPv6 address thus converted. The rewriting unit 19 sends the DNS query packet generated by this rewriting to the relay unit 17.
  • FIG. 15 is a diagram conceptually illustrating an operation example of the agent device 10 according to the third embodiment.
  • the DNS query packet is captured by the capturing unit 11 (S151), as in the first and second embodiments, and the process is determined. It is analyzed by the unit 13 (S152).
  • the process determining unit 13 may determine the rewriting process independently of or in addition to the process contents determined in the first and second embodiments. .
  • the process determining unit 13 determines the process corresponding to the DNS query packet as a rewrite process.
  • the rewrite unit 19 rewrites the captured DNS query packet data according to the content determined by the process determination unit 13 to generate a DNS query packet for transfer to the DNS server device 5 ( S153).
  • the DNS query packet generated in this way is sent out by the relay unit 17 (S154).
  • the rewriting unit 19 When the rewriting unit 19 performs the fourth rewriting, that is, the rewriting of the transfer destination, the above is generated for the server device (reference numeral 5 # shown in FIG. 15) forcibly determined by the agent device 10.
  • a DNS query packet is transmitted (S155).
  • the content of the DNS query packet transmitted from the client device 1 is rewritten by the agent device 10.
  • the FQDN or reverse name is rewritten with predetermined data determined by the agent device 10.
  • DNS forward lookup or reverse DNS lookup is performed according to the DNS query packet whose contents are rewritten in this way.
  • the agent device 10 can control information (IP address and FQDN) to be provided to the client device 1 by the DNS query.
  • the destination IP address of the DNS query packet transmitted from the client device 1 is rewritten by the agent device 10.
  • the agent device 10 also determines the IP version in accordance with the DNS server device 5 that is the transfer destination. According to such an aspect, even if the DNS server device 5 is mistakenly specified by the client device 1, the DNS query packet can be delivered to the correct DNS server device 5.
  • the process corresponding to the captured DNS query packet may be determined based on the content of the process setting data similar to that in the first embodiment.
  • the processing setting data in the third embodiment will be described.
  • FIG. 16 is a diagram showing an eleventh example (Local_Query (Query_Replace)) of the processing setting data.
  • the process determination unit 13 referring to the process setting data of the eleventh example determines the process corresponding to the DNS query packet whose query name indicates Name_D as the rewrite process (first rewrite), and determines the rewrite query name as Name_U. To do.
  • the action information “NR.Name (Name_U)” indicates that the DNS query packet with the query name rewritten to Name_U is transferred to the DNS server device 5.
  • the originally set query name (Name_D) is rewritten to Name_U by the rewriting unit 19, and the rewritten DNS query packet is transferred to the DNS server device 5.
  • the communication partner information requested by the client device 1 using the DNS query packet can be forcibly changed to the predetermined communication partner information determined by the agent device 10. That is, the agent device 10 can control a partner with which the client device 1 starts communication.
  • FIG. 17 is a diagram showing a twelfth example (Server_Set) of processing setting data.
  • the process determination unit 13 referring to the process setting data of the twelfth example determines the process corresponding to all captured DNS query packets for forward lookup as the rewrite process (fourth rewrite), and rewrites the IP address. Is determined as Server_P.
  • the action information “NR. Server (Server_P)” indicates that a DNS query packet in which the destination IP address is rewritten to Server_P is transferred.
  • FIG. 18 is a diagram showing a thirteenth example (Server_Set_By_Query_Name) of process setting data.
  • the process determination unit 13 that refers to the process setting data of the thirteenth example corresponds to a DNS query packet including the domain name “.zone_q.com” in the query name among all captured DNS query packets for forward lookup.
  • the rewriting process (fourth rewriting) is determined, and the rewriting IP address is determined as Server_Q.
  • the transmission destination originally set is rewritten to Server_P or Server_Q by the rewriting unit 19, and the rewritten DNS query packet is transferred.
  • the agent device 10 can forcibly determine the DNS server to be searched first by ignoring the one set by the client device 1. Further, according to the thirteenth example, the agent device 10 can determine a DNS server to be searched first for each predetermined range of query names.
  • FIG. 19 is a diagram showing a 14th example of process setting data (PTR_Mapped6_to_4).
  • the process determination unit 13 that refers to the process setting data in the fourteenth example includes “.ff.ff. *. Ip6.arpa.” (*) In the query name in all captured DNS query packets for reverse lookup. Is a rewrite process (second rewrite). The process corresponding to the DNS query packet including one or more arbitrary characters) is determined. As a result, the originally set query name (reverse lookup name corresponding to the IPv4-mapped-IPv6 address) is rewritten to the reverse lookup name corresponding to the IPv4 address. As a result, the client apparatus 1 can acquire the FQDN included in the reverse name entry corresponding to the IPv4 address.
  • FIG. 20 is a diagram showing a fifteenth example (PTR_4_to_Mapped6) of process setting data.
  • the process determination unit 13 referring to the process setting data of the fifteenth example includes “* .in-addr.arpa.” (* Is one or more) in the query name among all captured DNS query packets for reverse lookup.
  • the processing corresponding to the DNS query packet including the arbitrary character of () is determined as the rewriting processing (third rewriting).
  • the originally set query name (reverse lookup name corresponding to the IPv4 address) is rewritten to a reverse lookup name corresponding to the IPv4-mapped-IPv6 address.
  • the client device 1 can acquire the FQDN included in the reverse name entry corresponding to the IPv4-mapped-IPv6 address.
  • the processing setting data shown in each of the above embodiments may be stored in a memory or the like in advance, or may be predetermined from the client device 1 that is a DNS query packet transmission source, the DNS server device 5, another server device, or the like. It may be generated or updated using information collected using communications. For example, the IP prefix list and the communication environment information of the client device 1 itself may be collected from the client device 1, and the contents of the processing setting data may be determined using the collected information.
  • the predetermined communication is communication such as ICMP (Internet Control Message Protocol), SNMP (Simple Network Management Protocol), or NIQ (Node Information Query), or unique communication.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

エージェント装置は、宛先のDNSサーバ装置で受信されないようにDNSクエリパケットを捕獲する捕獲部と、この捕獲部により捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を拒絶処理に決定する処理決定部と、この処理決定部により対応する処理が拒絶処理に決定されたDNSクエリパケットの送信元に否定応答パケットを返信する返信部と、を備える。

Description

エージェント装置及び通信中継方法
 本発明は、DNS(Domain Name System)クエリ技術に関する。
 現在、パーソナルコンピュータ(PC)、携帯電話等のような各種端末を用いて、インターネット等のネットワーク上に存在するサーバにアクセスすることにより、所望の情報やサービスを受けることができる環境が整っている。このような環境においてIP通信を実行するにあたり、通信を開始するクライアント装置は、通信相手となるサーバ装置のIPアドレスを取得する必要がある。一方、エンドユーザが目にするのは、IPアドレスではなく、FQDN(Fully Qualified Domain Name)のようなサーバ装置の名前情報である。
 従って、実際のIP通信は、名前情報から通信相手のIPアドレスを取得するための名前解決処理が完了した後に、開始されると言っても過言ではない。以降、クライアント装置において通信相手のIPアドレスが取得されるまでの処理を、当該クライアント装置と通信相手装置との間で開始される実際のIP通信シーケンスに対して、プレシーケンスと表記する場合もある。
 図21は、プレシーケンスの概念を示す図である。図21では、実際のIP通信シーケンスがメインシーケンスと表記されている。図21に示すように、クライアント装置は、サーバとIP通信を開始するに先立って、プレシーケンスとして、DNS(Domain Name System)の名前解決処理を実行する。
 このようなプレシーケンス、即ち、DNS名前解決に関する技術が下記特許文献1、2及び3に記載されている。下記特許文献1には、複数の名前解決機構を使い分ける手法が記載され、下記特許文献2には、LAN端末とDNSサーバとの間に設けられたゲートウェイ装置がDNSネーム問合せを処理する手法が記載され、下記特許文献3には、トラフィック管理サーバが最適なサービスサーバのIP情報をクライアントに返す手法が記載されている。
特開2005-94485号公報 特開2006-109316号公報 特表2006-526301号公報
 上述したプレシーケンスは、実際のIP通信(メインシーケンス)に大変大きな影響を与える。プレシーケンスにおいてクライアント装置に取得させるIPアドレスにより、実際のIP通信の相手先が決まるだけでなく、当該IP通信の形態及び可否が決められるからである。従って、プレシーケンスを制御することは、実際のIP通信を制御することに繋がる。
 ところが、従来、当該プレシーケンスにおいてクライアントからDNSサーバ群へ出されるDNSクエリの制御は実施されていなかった。DNSサーバは、受信されたDNSクエリパケットに含まれる指定情報(データの種別やキー情報等)に対応するIPアドレスやFQDN等が存在すれば、それら情報をリソースデータとして含むレスポンスパケットを素直に返していた。
 このような手法では、クライアント装置は、効率よくIP通信を開始できない場合がある。例えば、クライアント装置が、通信相手装置のためのAAAAレコードがDNSに登録されていないにも関わらず、AAAAレコードを示すクエリタイプが設定されたDNSクエリパケットを送信してしまった場合、当該クライアント装置は、DNSサーバから何ら返信をもらえないため暫くの間フリーズすることになる。
 逆に、通信相手装置のためのAAAAレコードがDNSに登録されていたとしても、自身がIPv6をサポートするプロトコルスタックを持たない場合、当該クライアント装置は、DNSクエリパケットにより得たIPv6アドレスでは通信相手と通信を実現することはできない。
 更に、何ら制御されていない従来手法では、どんなクライアントであっても一律にレスポンスが送られているため、本来、情報を渡したくないクライアントに対しても、DNSの情報が送られてしまっていた。
 本発明は、上述の事情に鑑みてなされたものであり、DNSクエリを適切に制御する技術を提供する。
 本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
 第1の態様は、エージェント装置に関する。第1の態様に係るエージェント装置は、宛先のDNSサーバ装置で受信されないようにDNSクエリパケットを捕獲する捕獲部と、この捕獲部により捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を拒絶処理に決定する処理決定部と、この処理決定部により対応する処理が拒絶処理に決定されたDNSクエリパケットをDNSサーバへ転送することなく、当該DNSクエリパケットの送信元に否定応答パケットを返信する返信部と、を備える。
 第2の態様は、通信中継方法に関する。第2の態様に係る通信中継方法は、宛先のDNSサーバ装置で受信されないようにDNSクエリパケットを捕獲し、捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を拒絶処理に決定し、対応する処理が拒絶処理に決定されたDNSクエリパケットをDNSサーバへ転送することなく、当該DNSクエリパケットの送信元に否定応答パケットを返信する、ことを含む。
 なお、本発明の他の態様としては、上記第1の態様における各構成をコンピュータに実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
 上記各態様によれば、DNSクエリを適切に制御する技術を提供することができる。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
図1は、第1実施形態に係るエージェント装置の構成例を概念的に示す図である。 図2は、第1実施形態に係るエージェント装置の動作例を概念的に示す図である。 図3は、処理設定データの第1例(Permit_Node_by_IP)を示す図である。 図4は、処理設定データの第2例(Permit_Nodes_by_L2)を示す図である。 図5は、処理設定データの第3例(Deny_Nodes_by_IP)を示す図である。 図6は、処理設定データの第4例(Deny_Nodes_by_L2)を示す図である。 図7は、処理設定データの第5例(A_Only)を示す図である。 図8は、処理設定データの第6例(AAAA_Only)を示す図である。 図9は、処理設定データの第7例(Hetero Deny (Homo_Permit)を示す図である。 図10は、処理設定データの第8例(PTR_Deny6)を示す図である。 図11は、第2実施形態に係るエージェント装置の動作例を概念的に示す図である。 図12は、処理設定データの第9例(Local_Answer(Answer_Replace))を示す図である。 図13は、処理設定データの第10例(PTR_Local_Answer(PTR_Answer_Replace))を示す図である。 図14は、第3実施形態に係るエージェント装置の構成例を概念的に示す図である。 図15は、第3実施形態に係るエージェント装置の動作例を概念的に示す図である。 図16は、処理設定データの第11例(Local_Query(Query_Replace))を示す図である。 図17は、処理設定データの第12例(Server_Set)を示す図である。 図18は、処理設定データの第13例(Server_Set_By_Query_Name)を示す図である。 図19は、処理設定データの第14例(PTR_Mapped6_to_4)を示す図である。 図20は、処理設定データの第15例(PTR_4_to_Mapped6)を示す図である。 図21は、プレシーケンスの概念を示す図である。
 以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
 [第1実施形態]
 図1は、第1実施形態に係るエージェント装置10の構成例を概念的に示す図である。
 エージェント装置10は、クライアント装置1とDNSサーバ装置5とを結ぶ通信経路7の途中に設けられる。当該通信経路7の途中とは、クライアント装置1の通信インタフェースからDNSサーバ装置5の通信インタフェースまでを結ぶ通信経路上のいずれの位置であっても構わないことを意味する。例えば、エージェント装置10は、図1に示すようにクライアント装置1とDNSサーバ装置5とは別体として設けられてもよいし、クライアント装置1内又はDNSサーバ装置5内に設けられてもよい。以降、クライアント装置1及びDNSサーバ装置5をクライアント1及びDNSサーバ5と表記する場合もある。
 エージェント装置10は、捕獲部11、処理決定部13、返信部15、中継部17等を有する。これら各処理部は、個々に又は複数組み合わせられた状態で、少なくとも1つのハードウェア構成要素として実現されてもよいし、少なくとも1つのソフトウェア構成要素として実現されてもよいし、ハードウェア構成要素及びソフトウェア構成要素の組み合わせにより実現されてもよい。
 ハードウェア構成要素とは、例えば、フィールド・プログラマブル・ゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、ゲートアレイ、論理ゲートの組み合わせ、信号処理回路、アナログ回路等のようなハードウェア回路である。ソフトウェア構成要素とは、1又は複数のメモリ上のデータ(プログラム)が1又は複数のプロセッサ(例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等)で実行されることにより実現される、タスク、プロセス、関数のようなソフトウェア部品(断片)である。各処理部がソフトウェア構成要素として実現される場合には、エージェント装置10は、CPU、メモリ、入出力インタフェース等を有する。なお、本実施形態は、エージェント装置10のハードウェア構成を限定しない。
 エージェント装置10の各処理部の詳細については後述する。
 クライアント装置1は、PC(Personal Computer)、携帯型PC、携帯電話等のような一般的な情報処理端末である。クライアント装置1は、WEBサーバ等のような任意の情報サーバ9やDNSサーバ装置5にアクセスしデータを受け得る一般的な通信機能を有するものであればよい。例えば、情報サーバ9とクライアント装置1との間のインタフェースにはWEBシステムが利用される。クライアント装置1は、一般的な通信機能によりDNSサーバ装置5及び情報サーバ9とIP通信を行う。なお、本実施形態は、クライアント装置1のハードウェア構成及び機能構成を限定しない。
 本実施形態におけるクライアント装置1は、情報サーバ9へのアクセスを開始するために、上述のプレシーケンスを実行する。具体的には、クライアント装置1は、名前解決処理の1つとして、DNS正引き処理を実行することにより、情報サーバ9のIPアドレスをDNSサーバ装置5から取得する。同様に、クライアント装置1は、名前解決処理の1つとして、DNS逆引き処理を実行することにより、情報サーバ9のFQDN(Fully Qualified Domain Name)をDNSサーバ装置5から取得する。
 DNSサーバ装置5は、一般的なDNSサーバ群の中のいずれか1つを意味する。本実施形態では、特に個々のDNSサーバ装置を区別しない。本実施形態は、DNSサーバ装置5のハードウェア構成及び機能構成を限定しない。
 〔エージェント装置10の各処理部〕
 捕獲部11は、クライアント装置1から送信されたDNSクエリパケットを捕獲する。この捕獲とは、DNSサーバ装置5宛てのパケットのデータを取得し、かつ、DNSサーバ装置5に到達しないようにエージェント装置10で遮断することを意味する。例えば、捕獲部11は、UDPプロトコルであって、かつ、送信先ポート番号が53に設定されたパケットをDNSクエリパケットとして捕獲する。
 処理決定部13は、捕獲部11により捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を決定する。具体的には、処理決定部13は、捕獲されたDNSクエリパケットに設定されている送信元アドレス、クエリの対象情報の種類を示すクエリタイプ、又は、クエリのキー情報となるクエリ名に基づいて、当該DNSクエリパケットに対応する処理を決定する。送信元アドレスは、IPアドレス又はMAC(Media Access Control address)アドレス(L2アドレス)である。第1実施形態では、処理決定部13により決定される処理は、許可又は拒絶である。
 例えば、処理決定部13は、以下のような手法により処理を決定する。なお、許可処理と拒絶処理とは表裏関係にあるため、どちらの処理が主導で決められてもよいが、以下の説明では、拒絶処理が主導で決定される例を示す。
 第1の手法では、所定のIPアドレスが送信元IPアドレスフィールドに設定されているDNSクエリパケットが捕獲された場合には、処理決定部13は、そのDNSクエリパケットに対応する処理を拒絶処理に決定する。また、所定のIPアドレス以外が送信元IPアドレスフィールドに設定されているDNSクエリパケットが捕獲された場合に、処理決定部13は、そのDNSクエリパケットに対応する処理を拒絶処理に決定してもよい。
 第2の手法では、所定のMACアドレスが送信元L2アドレスフィールドに設定されているDNSクエリパケットが捕獲された場合には、処理決定部13は、そのDNSクエリパケットに対応する処理を拒絶処理に決定する。同様に、所定のMACアドレス以外が送信元L2アドレスフィールドに設定されているDNSクエリパケットが捕獲された場合に、処理決定部13は、そのDNSクエリパケットに対応する処理を拒絶処理に決定してもよい。
 第3の手法では、クエリタイプがAレコード以外を示すDNSクエリパケットが捕獲された場合には、処理決定部13は、そのDNSクエリパケットに対応する処理を拒絶処理に決定する。逆に、クエリタイプがAAAAレコード以外を示すDNSクエリパケットが捕獲された場合に、処理決定部13は、そのDNSクエリパケットに対応する処理を拒絶処理に決定してもよい。
 第4の手法では、クエリタイプがPTRレコードを示し、かつ、クエリ名が所定ドメイン名(例えば、「.ip6.arpa.」)を含むDNSクエリパケットが捕獲された場合に、処理決定部13は、そのDNSクエリパケットに対応する処理を拒絶処理に決定する。
 更に、第5の手法として、処理決定部13は、送信元IPアドレスのアドレス形式がIPv4タイプかIPv6タイプかを識別し、識別されたアドレス形式とクエリタイプとの組み合わせに基づいて、DNSクエリパケットに対応する処理を決定するようにしてもよい。具体的には、処理決定部13は、アドレス形式がIPv4タイプで、かつ、クエリタイプがAAAAレコードを示すDNSクエリパケットが捕獲された場合、及び、アドレス形式がIPv6タイプで、かつ、クエリタイプがAレコードを示すDNSクエリパケットが捕獲された場合、当該DNSクエリパケットに対応する処理を拒絶処理に決定する。
 返信部15は、処理決定部13により、対応する処理が拒絶処理に決定されたDNSクエリパケットの送信元に、否定応答(NACK)パケットを返信する。この否定応答パケットの送信先アドレスには、当該DNSクエリパケットの送信元アドレスが利用される。
 中継部17は、処理決定部13により、対応する処理が許可処理に決定されたDNSクエリパケットをDNSサーバ装置5方向に送出する。
 〔動作例〕
 図2は、第1実施形態に係るエージェント装置10の動作例を概念的に示す図である。
 クライアント装置1からDNSサーバ装置5宛てにDNSクエリパケットが送信されると、エージェント装置10の捕獲部11がそのDNSクエリパケットを捕獲する(S20)。即ち、クライアント装置1から送信されたDNSクエリパケットは、DNSサーバ装置5まで到達しない。
 エージェント装置10では、処理決定部13が、捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を決定する(S21)。この解析では、DNSクエリパケットに設定されている送信元MACアドレス、送信元IPアドレス、クエリタイプ、及びクエリ名の少なくとも1つが利用される。
 決定された処理が許可処理である場合に、中継部17は、当該DNSクエリパケットをDNSサーバ装置5方向に送出する(S22)。これにより、DNSサーバ装置5は、DNSクエリパケットで要求されるIPアドレス又はFQDNを抽出し、このIPアドレス又はFQDNを含めたレスポンスパケットをクライアント装置1宛てに送信する。結果、クライアント装置1は、DNSクエリパケットに対応するレスポンスパケットを受信することにより、情報サーバ9のIPアドレスを取得することができ、ひいては、情報サーバ9との通信を開始することができる(メインシーケンス)。
 一方で、決定された処理が拒絶処理である場合には、中継部17は、当該DNSクエリパケットの送信元であるクライアント装置1宛てに、否定応答を送信する(S23)。これにより、クライアント装置1は、DNSクエリパケットで要求した情報サーバ9のIPアドレスを取得することができず、情報サーバ9にアクセスすることができない。
 〔第1実施形態における作用及び効果〕
 上述のように、第1実施形態におけるエージェント装置10では、クライアント装置1からDNSサーバ装置5宛てに送信されたDNSクエリパケットが捕獲され、このDNSクエリパケットが解析される。この解析により、DNSクエリパケットがDNSサーバ装置5へ転送されるか否かが決定される。転送されないことが決定された場合、送信元のクライアント装置1へ否定応答が送信される。
 このように、第1実施形態では、エージェント装置10においてDNSクエリが所定条件でフィルタリングされる。このフィルタリングによれば、DNSクエリの応答を返すべきクライアント装置1を適切に取捨選択する(認証する)ことができる。また、このフィルタリングによれば、クライアント装置1に提供されるIPアドレスのバージョンを適切に選択することができる。更に、上述の第5の手法によれば、送信元IPアドレスのバージョンを識別することにより、送信元のクライアント装置1がサポートしているIPバージョンを特定し、その特定されたIPバージョンに適合するIPアドレスがDNSサーバ装置5から提供されるようにすることができる。即ち、第1実施形態によれば、DNSクエリを適切に制御することができる。
 一方で、第1実施形態によれば、エージェント装置10でDNSクエリが拒絶されたとしても、否定応答が必ず返信されるため、クライアント装置1は、フリーズすることなく即座に他の対応を取ることができる。
 ここで、上述の処理決定部13における処理決定手法の具体例を実施例1として説明する。処理決定部13は、図3から図10に示すような、処理設定データを保持し、この処理設定データの内容に基づいて、捕獲されたDNSクエリパケットに対応する処理を決定するようにしてもよい。処理設定データには、送信元L2アドレス(Client L2 Addressと表記)、送信元IPアドレス(Client IP Addressと表記)、クエリタイプ、クエリ名、及び、アクション情報(Actionと表記)が格納される。処理決定部13は、処理設定データに設定される、送信元L2アドレス、送信元IPアドレス、クエリタイプ及びクエリ名の少なくとも1つを用いた複数の条件のうち、捕獲されたDNSクエリパケットに合致する条件を特定し、この特定された条件に対応するアクション情報を、当該DNSクエリパケットに対応する処理に決定する。
 図3は、処理設定データの第1例(Permit_Node_by_IP)を示す図である。第1例の処理設定データを参照した処理決定部13は、送信元IPアドレスがIP_A又はIP_Bを示すDNSクエリパケットに対応する処理を許可処理に決定する。アクション情報の「NR(Normal Resolving)」は、捕獲されたDNSクエリパケットをDNSサーバ装置5へ転送することを示し、「SR.NoAnswer」は、転送することなくエージェント装置10自身が否定応答をクライアント装置1へ返すことを示す。このような第1例によれば、DNSクエリの応答を受け取るべきクライアント装置1のIPアドレスのみをこの処理設定データに設定しさえすれば、それ以外のクライアントに当該応答が返らないようにすることができる。
 図4は、処理設定データの第2例(Permit_Nodes_by_L2)を示す図である。第2例の処理設定データを参照した処理決定部13は、送信元L2アドレスがMAC_Xを示すDNSクエリパケットに対応する処理を許可処理に決定する。第2例によれば、DNSクエリの応答を受け取るべきクライアント装置1のMACアドレスのみをこの処理設定データに設定しさえすれば、それ以外のクライアントに当該応答が返らないようにすることができる。
 図5は、処理設定データの第3例(Deny_Nodes_by_IP)を示す図である。第3例の処理設定データを参照した処理決定部13は、送信元IPアドレスがIP_A又はIP_Bを示すDNSクエリパケットに対応する処理を拒絶処理に決定する。第3例によれば、DNSクエリの応答を受け取らせたくないクライアント装置1のIPアドレスをこの処理設定データに設定しさえすれば、そのクライアント装置1に当該応答が返らないようにすることができる。
 図6は、処理設定データの第4例(Deny_Nodes_by_L2)を示す図である。第4例の処理設定データを参照した処理決定部13は、送信元L2アドレスがMAC_Xを示すDNSクエリパケットに対応する処理を拒絶処理に決定する。第4例によれば、DNSクエリの応答を受け取らせたくないクライアント装置1のMACアドレスをこの処理設定データに設定しさえすれば、そのクライアント装置1に当該応答が返らないようにすることができる。
 図7は、処理設定データの第5例(A_Only)を示す図である。第5例の処理設定データを参照した処理決定部13は、クエリタイプがAレコードを示すDNSクエリパケットに対応する処理を許可処理に決定し、クエリタイプがAAAAレコードを示すDNSクエリパケットに対応する処理を拒絶処理に決定する。第5例によれば、DNSクエリの応答で返すべきIPアドレスをIPv4のみに制限することができる。
 図8は、処理設定データの第6例(AAAA_Only)を示す図である。第6例の処理設定データを参照した処理決定部13は、クエリタイプがAレコードを示すDNSクエリパケットに対応する処理を拒絶処理に決定し、クエリタイプがAAAAレコードを示すDNSクエリパケットに対応する処理を許可処理に決定する。第6例によれば、DNSクエリの応答で返すべきIPアドレスをIPv6のみに制限することができる。
 図9は、処理設定データの第7例(Hetero Deny (Homo_Permit))を示す図である。第7例の処理設定データを参照した処理決定部13は、アドレス形式がIPv4タイプで、かつ、クエリタイプがAAAAレコードを示すDNSクエリパケットに対応する処理を拒絶処理に決定し、アドレス形式がIPv4タイプで、かつ、クエリタイプがAレコードを示すDNSクエリパケットに対応する処理を許可処理に決定する。更に、処理決定部13は、アドレス形式がIPv6タイプで、かつ、クエリタイプがAレコードを示すDNSクエリパケットに対応する処理を拒絶処理に決定し、アドレス形式がIPv6タイプで、かつ、クエリタイプがAAAAレコードを示すDNSクエリパケットに対応する処理を許可処理に決定する。
 DNSクエリパケットの送信元IPアドレスにIPv4アドレスが設定されている場合、送信元のクライアント装置1は、IPv6をサポートするプロトコルスタックを持つとは限らないが、必ず、IPv4をサポートするプロトコルスタックは持つはずである。また、そのようなクライアント装置1が通信相手に希望する情報サーバ9についても同様に、DNSサーバ装置5にIPv6アドレスが登録されているとは限らない。第7例によれば、上述のように、IPv4によりDNSクエリを出したクライアント装置1には、IPv4アドレスのみが返され、IPv6によりDNSクエリを出したクライアント装置1には、IPv6アドレスのみが返されるように制御することができる。
 従って、第7例によれば、DNSクエリの応答を受けたクライアント装置1が、プロトコルスタックのサポートするIPバージョンによって、クエリで得たIPアドレスを用いたIP通信を実現できないといった不都合や、DNSサーバ装置5から何ら返信をもらえずフリーズするといった不都合を解消することができる。
 図10は、処理設定データの第8例(PTR_Deny6)を示す図である。第8例の処理設定データを参照した処理決定部13は、クエリ名に「.ip6.arpa.」が含まれるDNSクエリパケットに対応する処理を拒絶処理に決定する。第8例によれば、IPv6アドレスに関するDNS逆引きを禁止することができる。
 図3から図10は、別々の例としてそれぞれ示されたが、適宜、組み合わされてもよい。例えば、第5例、第6例又は第8例と、第1例から第4例のいずれか1つとは組み合わせることができる。
 [第2実施形態]
 上述の第1実施形態では、エージェント装置10が、DNSクエリのフィルタリングの結果に応じて否定応答を返信したが、否定応答以外の独自のレスポンスを返信するようにしてもよい。第2実施形態におけるエージェント装置10の構成は、第1実施形態と同様であるが、一部の処理部における処理が第1実施形態と異なる。以下、第2実施形態におけるエージェント装置10について、第1実施形態と異なる内容を中心に説明する。
 処理決定部13は、捕獲されたDNSクエリパケットに設定されているクエリ名が所定のFQDNを示す場合に、当該DNSクエリパケットに対応する処理を強制返信処理に決定する。処理決定部13は、決定された処理内容と共に、所定のIPアドレスデータを返信部15に送る。処理決定部13は、所定のFQDNと所定のIPアドレスデータとの組み合わせを複数予め保持し、この組み合わせに応じて、返信部15に送るIPアドレスデータを決めてもよい。
 また、処理決定部13は、捕獲されたDNSクエリパケットに設定されているクエリ名が所定の逆引き名を示す場合に、当該DNSクエリパケットに対応する処理を強制返信処理に決定する。処理決定部13は、決定された処理内容と共に、所定のFQDNを返信部15に送る。処理決定部13は、所定の逆引き名及び所定のFQDNの複数の組み合わせを予め保持し、この組み合わせに応じて、返信部15に送るFQDNを決めてもよい。
 なお、処理決定部13は、上述のような解析の後に、更に、第1実施形態のようなフィルタリング解析を行ってもよいし、上述のような解析で強制返信処理に決められなかったDNSクエリパケットに対応する処理を一律に許可処理に決定してもよい。
 返信部15は、処理決定部13から送られた処理内容が強制返信処理を示す場合に、捕獲されたDNSクエリパケットに対するレスポンスパケットを生成し、このレスポンスパケットをそのDNSクエリパケットの送信元のクライアント装置1宛てに返信する。返信部15は、そのレスポンスパケットに、リソースデータとして、処理決定部13から送られたIPアドレスデータ又はFQDNを設定する。
 〔動作例〕
 図11は、第2実施形態に係るエージェント装置10の動作例を概念的に示す図である。クライアント装置1からDNSサーバ装置5宛てにDNSクエリパケットが送信されると、そのDNSクエリパケットが、第1実施形態と同様に、捕獲部11で捕獲され(S111)、処理決定部13で解析される(S112)。第2実施形態では、処理決定部13での解析処理が第1実施形態と異なる。
 処理決定部13は、捕獲されたDNSクエリパケットに設定されているクエリ名に所定のFQDNが含まれる場合、又は、所定の逆引き名が含まれる場合、強制返信処理に決定する。また、図11の例では、処理決定部13は、上記以外のDNSクエリパケットに対応する処理を許可処理に決定する。
 捕獲されたDNSクエリパケットがDNS正引きのためのものであり、かつ、決定された処理が強制返信処理である場合には、返信部15は、上記所定のFQDNに対応する所定のIPアドレスデータをリソースデータとして含む正引きレスポンスパケットを生成し、この正引きレスポンスパケットを、捕獲されたDNSクエリパケットの送信元のクライアント装置1に返信する(S113)。また、捕獲されたDNSクエリパケットがDNS逆引きのためのものであり、かつ、決定された処理が強制返信処理である場合には、返信部15は、上記所定の逆引き名に対応する所定のFQDNをリソースデータとして含む逆引きレスポンスパケットを生成し、この逆引きレスポンスパケットを、捕獲されたDNSクエリパケットの送信元のクライアント装置1に返信する(S113)。
 一方、決定された処理が許可処理である場合には、中継部17は、当該DNSクエリパケットをDNSサーバ装置5方向に送出する(S114)。
 以上により、強制返信処理及び許可処理のどちらが実行された場合であっても、DNSクエリパケットの送信元であるクライアント装置1は、IPアドレスを取得することができ、メインシーケンスを実施することができる。
 〔第2実施形態における作用及び効果〕
 上述のように、第2実施形態では、所定のFQDN又は所定の逆引き名を指定したDNSクエリ(正引き及び逆引き)に対しては、エージェント装置10が、そのパケットをDNSサーバ装置5に中継することなく、レスポンスをクライアント装置1に返信する。そのとき、エージェント装置10により独自に決められたIPアドレス又はFQDNがそのレスポンスに設定される。
 従って、第2実施形態によれば、DNSクエリによりクライアント装置1に提供されるべき情報(IPアドレスやFQDN)をエージェント装置10が制御することができる。これにより、例えば、クライアント装置1が誤ったIPアドレスやFQDNをDNSクエリパケットに設定した場合であっても、エージェント装置10の制御により、クライアント装置1は、適切な情報を得ることができ、その情報を用いて即座にIP通信を開始することができる。
 第2実施形態における処理決定部13においても、実施例1と同様の処理設定データの内容に基づいて、捕獲されたDNSクエリパケットに対応する処理を決定するようにしてもよい。以下、第2実施形態における処理設定データの例を説明する。
 図12は、処理設定データの第9例(Local_Answer(Answer_Replace))を示す図である。第9例の処理設定データを参照した処理決定部13は、クエリ名がHOST_Cを示すDNSクエリパケットに対応する処理を強制返信処理に決定する。このとき、処理決定部13は、強制返信処理に決定された旨と共に、IPアドレス(Addr_C)を返信部15に送る。アクション情報の「SR.Address(Addr_C)」は、当該DNSクエリパケットを転送することなくエージェント装置10自身がIPアドレス(Addr_C)を含む正引きレスポンスをクライアント装置1へ返すことを示す。
 第9例によれば、制御したいFQDN文字列と、そのFQDNに対して返したいIPアドレスとを処理設定データに設定すれば、DNSサーバ装置5の処理に依存することなく、エージェント装置10が、所定範囲で正引きDNSクエリを制御することができる。
 図13は、処理設定データの第10例(PTR_Local_Answer(PTR_Answer_Replace))を示す図である。第10例の処理設定データを参照した処理決定部13は、クエリ名がRev_Host_Eを示すDNSクエリパケットに対応する処理を強制返信処理に決定する。このとき、処理決定部13は、強制返信処理に決定された旨と共に、FQDN(Host_V)を返信部15に送る。アクション情報の「SR.Name(Host_V)」は、当該DNSクエリパケットを転送することなくエージェント装置10自身がFQDN(Host_V)を含む逆引きレスポンスをクライアント装置1へ返すことを示す。
 第10例によれば、制御したい逆引き名文字列と、その逆引き名文字列に対して返したいFQDNとを処理設定データに設定すれば、DNSサーバ装置5の処理に依存することなく、エージェント装置10が、設定された範囲で逆引きDNSクエリを制御することができる。
 [第3実施形態]
 更に、エージェント装置10は、許可処理においてDNSクエリパケットをDNSサーバ装置5に転送する際に、そのDNSクエリパケットの内容を書き換えるようにしてもよい。以下、第3実施形態におけるエージェント装置10について、第1実施形態及び第2実施形態と異なる内容を中心に説明する。
 図14は、第3実施形態に係るエージェント装置10の構成例を概念的に示す図である。第3実施形態におけるエージェント装置10は、第1実施形態及び第2実施形態の構成に加えて、書き換え部19を更に有する。書き換え部19についても、ソフトウェア構成要素、ハードウェア構成要素、又は、それらの組み合わせにより実現される。
 処理決定部13は、捕獲されたDNSクエリパケットに設定されているクエリ名が所定のクエリ名を示す場合に、そのDNSクエリパケットに対応する処理を書き換え処理に決定する。処理決定部13は、決定された処理内容と共に、書き換え情報を書き換え部19に送る。
 第3実施形態では4つの書き換え方法が例示される。第1に、元のクエリ名が予め保持される所定の書き換え用クエリ名に書き換えられる形態である。第2に、元のクエリ名がIPv4-mapped-IPv6アドレスに対応する逆引き名からIPv4アドレスに対応する逆引き名に書き換えられる形態である。第3に、元のクエリ名がIPv4アドレスに対応する逆引き名からIPv4-mapped-IPv6アドレスに対応する逆引き名に書き換えられる形態である。第4に、元の送信先IPアドレスが予め保持される所定の書き換え用IPアドレスに書き換えられる形態である。
 第1の書き換え方法が取られる場合、処理決定部13は、所定のクエリ名と所定の書き換え用クエリ名との組み合わせを予め複数保持し、この組み合わせに応じて、書き換え部19に送る所定の書き換え用クエリ名を決めてもよい。例えば、DNS正引きのためのDNSクエリパケットが捕獲された場合には、所定の書き換え用クエリ名は、所定のFQDN文字列となり、DNS逆引きのためのDNSクエリパケットが捕獲された場合には、所定の書き換え用クエリ名は、所定の逆引き名文字列となる。
 上記第4の書き換え方法は、DNSクエリパケットの転送先の書き換えと同意である。このような転送先の書き換えは、対応する処理が許可処理又は書き換え処理に決定された、全てのDNSクエリパケットを対象としてもよいし、当該全てのDNSクエリパケットの中の特定のDNSクエリパケットを対象としてもよい。後者の場合には、転送先の書き換えを行うべきDNSクエリパケットを処理決定部13が選択するようにすればよい。例えば、処理決定部13は、DNSクエリパケットに設定されているクエリ名毎に、転送先の書き換えの有無、及び、書き換え用のIPアドレスをそれぞれ決定する。処理決定部13は、DNSクエリパケットの強制的転送先としたいDNSサーバ装置5を特定するための、所定の書き換え用IPアドレス(IPv4及びIPv6の少なくとも一方)を予め保持し、この保持される情報の中から書き換え用のIPアドレスを決定する。
 処理決定部13は、上記書き換え情報として、上記書き換え方法を識別可能な情報と、必要に応じて書き換え用のデータを書き換え部19に送る。書き換え部19は、処理決定部13から得る情報に基づいて、捕獲されたDNSクエリパケットのデータを書き換えることにより、DNSサーバ装置5へ転送するためのDNSクエリパケットを生成する。書き換え部19により生成された転送用のDNSクエリパケットは、中継部17を介してDNSサーバ装置5へ送信される。
 書き換え部19は、処理決定部13から第1の書き換え方法を示す情報を得た場合には、捕獲されたDNSクエリパケットに設定されていた元のクエリ名を、同様に処理決定部13から送られる書き換え用のクエリ名に書き換えることにより、転送用のDNSクエリパケットを生成する。
 書き換え部19は、処理決定部13から第4の書き換え方法を示す情報を得た場合には、DNSクエリパケットに設定されていた元の送信先IPアドレスを、同様に処理決定部13から送られる書き換え用のIPアドレスに書き換えることにより、転送用のDNSクエリパケットを生成する。書き換え部19は、書き換え用のIPアドレスのバージョンに応じて、転送用のDNSクエリパケットを生成する。これにより、捕獲されたDNSクエリパケットのIPバージョンと、選択された書き換え用のIPバージョンとが相違する場合には、パケットフォーマットが変換される。
 書き換え部19は、処理決定部13から第2の書き換え方法を示す情報を得た場合には、捕獲されたDNSクエリパケットに設定されているIPv4-mapped-IPv6アドレスに対応する逆引き名をIPv4アドレスに対応する逆引き名に変換する。IPv6アドレスからこれに対応する逆引き名を生成する手法、及び、IPv4アドレスからこれに対応する逆引き名を生成する手法は、周知である。更に、IPv4-mapped-IPv6アドレスをIPv4アドレスに変換する手法及びIPv4アドレスをIPv4-mapped-IPv6アドレスに変換する手法もまた周知である。
 特に、IPv4-mapped-IPv6アドレスについて、その定義は、以下の参考文献1「2.5.5.2 IPv4-Mapped IPv6 Address」に記載されており、使用方法及び機能は、以下の参考文献2に記載されているため、ここでは詳細な説明は省略する。
 <参考文献1>R. Hinden, S. Deering, "IP Version 6 Addressing Architecture", February 2006, RFC4291 (http://www.ietf.org/rfc/rfc4291.txt)
 <参考文献2>M-K. Shin, et al., "Application Aspects of IPv6 Transition", March 2005, RFC4038 (http://www.ietf.org/rfc/rfc4038.txt)
 書き換え部19は、上述のような周知手法を組み合わせることにより、上記逆引き名の変換を行う。書き換え部19は、DNSクエリパケットに設定されていた元のクエリ名(IPv4-mapped-IPv6アドレスに対応する逆引き名)を、このように変換されたIPv4アドレスに対応する逆引き名に書き換える。書き換え部19は、この書き換えにより生成されたDNSクエリパケットを中継部17に送る。
 書き換え部19は、処理決定部13から第3の書き換え方法を示す情報を得た場合には、上述のような周知手法を組み合わせることにより、捕獲されたDNSクエリパケットに設定されているIPv4アドレスに対応する逆引き名をIPv4-mapped-IPv6アドレスに対応する逆引き名に変換する。書き換え部19は、DNSクエリパケットに設定されていた元のクエリ名(IPv4アドレスに対応する逆引き名)を、このように変換されたIPv4-mapped-IPv6アドレスに対応する逆引き名に書き換える。書き換え部19は、この書き換えにより生成されたDNSクエリパケットを中継部17に送る。
 〔動作例〕
 図15は、第3実施形態に係るエージェント装置10の動作例を概念的に示す図である。クライアント装置1からDNSサーバ装置5宛てにDNSクエリパケットが送信されると、そのDNSクエリパケットが、第1実施形態及び第2実施形態と同様に、捕獲部11で捕獲され(S151)、処理決定部13で解析される(S152)。第3実施形態では、処理決定部13が、第1実施形態及び第2実施形態で決定される処理内容とは独立して、又は、その処理内容に加えて、書き換え処理を決定する場合がある。
 処理決定部13は、捕獲されたDNSクエリパケットに設定されているクエリ名が所定のクエリ名を示す場合に、そのDNSクエリパケットに対応する処理を書き換え処理に決定する。
 続いて、書き換え部19が、処理決定部13により決定された内容に応じて、捕獲されたDNSクエリパケットのデータを書き換えることにより、DNSサーバ装置5へ転送するためのDNSクエリパケットを生成する(S153)。このように生成されたDNSクエリパケットは、中継部17により送出される(S154)。
 書き換え部19により第4の書き換え、即ち、転送先の書き換えが行われた場合には、エージェント装置10により強制的に決められたサーバ装置(図15に示す符号5#)宛てに、上記生成されたDNSクエリパケットが送信される(S155)。
 〔第3実施形態における作用及び効果〕
 上述のように、第3実施形態では、クライアント装置1から送信されたDNSクエリパケットの内容がエージェント装置10により書き換えられる。例えば、FQDNや逆引き名が、エージェント装置10により決められた所定のデータに書き換えられる。結果、このようにその内容が書き換えられたDNSクエリパケットに応じて、DNS正引き又はDNS逆引きが行われる。
 従って、第3実施形態によれば、DNSクエリによりクライアント装置1に提供されるべき情報(IPアドレスやFQDN)をエージェント装置10が制御することができる。
 更に、第3実施形態では、クライアント装置1から送信されたDNSクエリパケットの送信先IPアドレスがエージェント装置10により書き換えられる。この書き換えでは、転送先のDNSサーバ装置5に応じて、IPバージョンについてもエージェント装置10により決定される。このような態様によれば、クライアント装置1により間違ってDNSサーバ装置5が指定された場合であっても、正しいDNSサーバ装置5にそのDNSクエリパケットを届けることができる。
 第3実施形態における処理決定部13においても、実施例1と同様の処理設定データの内容に基づいて、捕獲されたDNSクエリパケットに対応する処理を決定するようにしてもよい。以下、第3実施形態における処理設定データの例を説明する。
 図16は、処理設定データの第11例(Local_Query(Query_Replace))を示す図である。第11例の処理設定データを参照した処理決定部13は、クエリ名がName_Dを示すDNSクエリパケットに対応する処理を書き換え処理(第1の書き換え)に決定し、書き換え用クエリ名をName_Uに決定する。アクション情報の「NR.Name(Name_U)」は、クエリ名がName_Uに書き換えられたDNSクエリパケットをDNSサーバ装置5に転送することを示す。
 結果、元々設定されていたクエリ名(Name_D)が書き換え部19によりName_Uに書き換えられ、この書き換えられたDNSクエリパケットがDNSサーバ装置5に転送される。第11例によれば、クライアント装置1がDNSクエリパケットで要求する通信相手の情報を、エージェント装置10が決めた所定の通信相手の情報に強制的に変えることができる。即ち、エージェント装置10は、クライアント装置1が通信を開始する相手を制御することができる。
 図17は、処理設定データの第12例(Server_Set)を示す図である。第12例の処理設定データを参照した処理決定部13は、捕獲された正引き用の全てのDNSクエリパケットに対応する処理を書き換え処理(第4の書き換え)に決定し、書き換え用のIPアドレスをServer_Pに決定する。アクション情報の「NR.Server(Server_P)」は、送信先IPアドレスがServer_Pに書き換えられたDNSクエリパケットを転送することを示す。
 図18は、処理設定データの第13例(Server_Set_By_Query_Name)を示す図である。第13例の処理設定データを参照した処理決定部13は、捕獲された正引き用の全てのDNSクエリパケットの中の、クエリ名にドメイン名「.zone_q.com」を含むDNSクエリパケットに対応する処理を書き換え処理(第4の書き換え)に決定し、書き換え用のIPアドレスをServer_Qに決定する。
 結果、元々設定されていた送信先が書き換え部19によりServer_P又はServer_Qに書き換えられ、この書き換えられたDNSクエリパケットが転送される。このように、第12例及び第13例によれば、最初に検索されるDNSサーバをクライアント装置1により設定されたものを無視して、強制的にエージェント装置10が決めることができる。更に、第13例によれば、エージェント装置10は、クエリ名の所定範囲毎に、最初に検索されるDNSサーバを決めることができる。
 図19は、処理設定データの第14例(PTR_Mapped6_to_4)を示す図である。第14例の処理設定データを参照した処理決定部13は、捕獲された逆引き用の全てのDNSクエリパケットの中の、クエリ名に「.ff.ff.*.ip6.arpa.」(*は1以上の任意の文字を意味する)を含むDNSクエリパケットに対応する処理を書き換え処理(第2の書き換え)に決定する。これにより、元々設定されているクエリ名(IPv4-mapped-IPv6アドレスに対応する逆引き名)がIPv4アドレスに対応する逆引き名に書き換えられる。結果、クライアント装置1は、IPv4アドレスに対応する逆引き名のエントリに含まれるFQDNを取得することができる。
 図20は、処理設定データの第15例(PTR_4_to_Mapped6)を示す図である。第15例の処理設定データを参照した処理決定部13は、捕獲された逆引き用の全てのDNSクエリパケットの中の、クエリ名に「*.in-addr.arpa.」(*は1以上の任意の文字を意味する)を含むDNSクエリパケットに対応する処理を書き換え処理(第3の書き換え)に決定する。これにより、元々設定されているクエリ名(IPv4アドレスに対応する逆引き名)がIPv4-mapped-IPv6アドレスに対応する逆引き名に書き換えられる。結果、クライアント装置1は、IPv4-mapped-IPv6アドレスに対応する逆引き名のエントリに含まれるFQDNを取得することができる。
 上述の各実施例で示した処理設定データは、予めメモリ等に保持されていてもよいし、DNSクエリパケットの送信元となるクライアント装置1や、DNSサーバ装置5、他のサーバ装置等から所定通信を用いて収集された情報を用いて生成又は更新されてもよい。例えば、クライアント装置1から、IPプレフィックスリストやクライアント装置1自身の通信環境情報が収集され、この収集された情報を用いて、処理設定データの内容が決められるようにしてもよい。また、所定通信とは、例えば、ICMP(Internet Control Message Protocol)、SNMP(Simple Network Management Protocol)、NIQ(Node Information Query)等の通信や独自の通信である。
 なお、上述の説明で用いた複数のフローチャートでは、複数のステップ(処理)が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
 この出願は、2011年9月6日に出願された日本出願特願2011-193558号を基礎とする優先権を主張し、それら開示の全てをここに取り込む。

Claims (15)

  1.  宛先のDNS(Domain Name System)サーバ装置で受信されないようにDNSクエリパケットを捕獲する捕獲部と、
     前記捕獲部により捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を拒絶処理に決定する処理決定部と、
     前記処理決定部により対応する処理が拒絶処理に決定されたDNSクエリパケットをDNSサーバへ転送することなく、該DNSクエリパケットの送信元に否定応答パケットを返信する返信部と、
     を備えるエージェント装置。
  2.  前記処理決定部は、前記捕獲部により捕獲されたDNSクエリパケットに設定されている送信元アドレス、クエリの対象情報の種類を示すクエリタイプ、又は、クエリのキー情報となるクエリ名に基づいて、当該DNSクエリパケットに対応する処理を決定する、
     請求項1に記載のエージェント装置。
  3.  前記処理決定部は、前記送信元アドレスに含まれる送信元IPアドレスのアドレス形式がIPv4タイプかIPv6タイプかを識別し、識別されたアドレス形式と前記クエリタイプとの組み合わせに基づいて、前記DNSクエリパケットに対応する処理を決定する、
     請求項2に記載のエージェント装置。
  4.  前記処理決定部は、前記アドレス形式がIPv4タイプで、かつ、前記クエリタイプがAAAAレコードを示す場合、及び、前記アドレス形式がIPv6タイプで、かつ、前記クエリタイプがAレコードを示す場合、前記DNSクエリパケットに対応する処理を拒絶処理に決定する、
     請求項3に記載のエージェント装置。
  5.  前記DNSクエリパケットに設定されている前記クエリ名を所定のFQDN(Fully Qualified Domain Name)に書き換える書き換え部と、
     前記書き換え部により書き換えられたDNSクエリパケットをDNSサーバ装置方向へ送出する中継部と、
     を更に備え、
     前記処理決定部は、前記捕獲部により捕獲されたDNSクエリパケットに設定されている前記クエリ名に基づいて、当該DNSクエリパケットに対応する処理を書き換え処理に決定する、
     請求項1から4のいずれか1項に記載のエージェント装置。
  6.  前記捕獲部により捕獲されたDNSクエリパケットに設定されている送信先IPアドレスを、IPバージョンが異なるIPアドレスに書き換える書き換え部と、
     前記書き換え部により書き換えられたDNSクエリパケットをDNSサーバ装置へ送出する中継部と、
     を更に備える請求項1から5のいずれか1項に記載のエージェント装置。
  7.  前記捕獲部により捕獲されたDNSクエリパケットのクエリ名に設定されているIPv4-mapped-IPv6アドレスに対応する逆引き名をIPv4アドレスに対応する逆引き名に書き換える、又は、前記捕獲部により捕獲されたDNSクエリパケットのクエリ名に設定されているIPv4アドレスに対応する逆引き名をIPv4-mapped-IPv6アドレスに対応する逆引き名に書き換える書き換え部と、
     前記書き換え部により書き換えられたDNSクエリパケットをDNSサーバ装置へ送出する中継部と、
     を更に備える請求項1から6のいずれか1項に記載のエージェント装置。
  8.  宛先のDNS(Domain Name System)サーバ装置で受信されないようにDNSクエリパケットを捕獲し、
     前記捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を拒絶処理に決定し、
     対応する処理が拒絶処理に決定されたDNSクエリパケットをDNSサーバへ転送することなく、該DNSクエリパケットの送信元に否定応答パケットを返信する、
     ことを含む通信中継方法。
  9.  前記拒絶処理の決定は、前記捕獲されたDNSクエリパケットに設定されている送信元アドレス、クエリの対象情報の種類を示すクエリタイプ、又は、クエリのキー情報となるクエリ名に基づいて、当該DNSクエリパケットに対応する処理を決定する、
     請求項8に記載の通信中継方法。
  10.  前記拒絶処理の決定は、前記送信元アドレスに含まれる送信元IPアドレスのアドレス形式がIPv4タイプかIPv6タイプかを識別し、識別されたアドレス形式と前記クエリタイプとの組み合わせに基づいて、前記DNSクエリパケットに対応する処理を決定する、
     請求項9に記載の通信中継方法。
  11.  前記拒絶処理の決定は、前記アドレス形式がIPv4タイプで、かつ、前記クエリタイプがAAAAレコードを示す場合、及び、前記アドレス形式がIPv6タイプで、かつ、前記クエリタイプがAレコードを示す場合、前記DNSクエリパケットに対応する処理を拒絶処理に決定する、
     請求項10に記載の通信中継方法。
  12.  前記DNSクエリパケットに設定されている前記クエリ名を所定のFQDN(Fully Qualified Domain Name)に書き換え、
     前記書き換えられたDNSクエリパケットをDNSサーバ装置方向へ送出する、
     ことを更に含み、
     前記拒絶処理の決定は、前記捕獲されたDNSクエリパケットに設定されている前記クエリ名に基づいて、当該DNSクエリパケットに対応する処理を書き換え処理に決定する、
     請求項8から11のいずれか1項に記載の通信中継方法。
  13.  前記捕獲されたDNSクエリパケットに設定されている送信先IPアドレスを、IPバージョンが異なるIPアドレスに書き換え、
     前記書き換えられたDNSクエリパケットをDNSサーバ装置へ送出する、
     ことを更に含む請求項8から12のいずれか1項に記載の通信中継方法。
  14.  前記捕獲されたDNSクエリパケットのクエリ名に設定されているIPv4-mapped-IPv6アドレスに対応する逆引き名をIPv4アドレスに対応する逆引き名に書き換える、又は、前記捕獲されたDNSクエリパケットのクエリ名に設定されているIPv4アドレスに対応する逆引き名をIPv4-mapped-IPv6アドレスに対応する逆引き名に書き換え、
     前記書き換えられたDNSクエリパケットをDNSサーバ装置へ送出する、
     ことを更に含む請求項8から13のいずれか1項に記載の通信中継方法。
  15.  コンピュータに、通信中継処理を実行させるエージェントプログラムにおいて、
     前記通信中継処理が、
     宛先のDNS(Domain Name System)サーバ装置で受信されないようにDNSクエリパケットを捕獲し、
     前記捕獲されたDNSクエリパケットを解析することにより、当該DNSクエリパケットに対応する処理を拒絶処理に決定し、
     対応する処理が拒絶処理に決定されたDNSクエリパケットをDNSサーバへ転送することなく、該DNSクエリパケットの送信元に否定応答パケットを返信する、
     ことを含む、
     エージェントプログラム。
PCT/JP2012/005601 2011-09-06 2012-09-04 エージェント装置及び通信中継方法 WO2013035309A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013532442A JP5987832B2 (ja) 2011-09-06 2012-09-04 エージェント装置及び通信中継方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-193558 2011-09-06
JP2011193558 2011-09-06

Publications (1)

Publication Number Publication Date
WO2013035309A1 true WO2013035309A1 (ja) 2013-03-14

Family

ID=47831780

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/005601 WO2013035309A1 (ja) 2011-09-06 2012-09-04 エージェント装置及び通信中継方法

Country Status (2)

Country Link
JP (1) JP5987832B2 (ja)
WO (1) WO2013035309A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018174469A (ja) * 2017-03-31 2018-11-08 西日本電信電話株式会社 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001203762A (ja) * 2000-01-21 2001-07-27 Nec Corp Dnsサーバフィルタ
US7970878B1 (en) * 2005-11-16 2011-06-28 Cisco Technology, Inc. Method and apparatus for limiting domain name server transaction bandwidth

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001203762A (ja) * 2000-01-21 2001-07-27 Nec Corp Dnsサーバフィルタ
US7970878B1 (en) * 2005-11-16 2011-06-28 Cisco Technology, Inc. Method and apparatus for limiting domain name server transaction bandwidth

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018174469A (ja) * 2017-03-31 2018-11-08 西日本電信電話株式会社 Dnsサーバ、dnsサーバにおけるブラックリスト生成方法、dnsサーバに用いるブラックリスト生成プログラム

Also Published As

Publication number Publication date
JP5987832B2 (ja) 2016-09-07
JPWO2013035309A1 (ja) 2015-03-23

Similar Documents

Publication Publication Date Title
US8194566B2 (en) Information processing device, and bubble packet transmission method and program
JP4327142B2 (ja) 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
Davies Understanding ipv6
US8009670B2 (en) Communication system, information processor, intervening server, identification information transmitting server, communication method and program
US20050182829A1 (en) System for selecting a connectivity mechanism
US8582574B2 (en) Access device for preventing transmission of copyrighted content to external network and method for the same
US20160173326A1 (en) Network configuration using service identifier
US7701934B2 (en) System and method for managing devices within a private network via a public network
JP4712481B2 (ja) 通信方法および装置
US11683275B2 (en) Device and method for interconnecting two subnetworks
JP5850046B2 (ja) 通信装置、通信システム及び通信方法
EP3395049B1 (en) Router and method for connecting an ipv4 network and an ipv6 network
US20150032898A1 (en) Method for establishing a virtual community network connection and a system for implementing said method
US7873037B2 (en) Information processing device, information processing system, information processing method, and program
JP5987832B2 (ja) エージェント装置及び通信中継方法
JP5942997B2 (ja) エージェント装置及び通信中継方法
US20110235641A1 (en) Communication apparatus, method of controlling the communication apparatus,and program
JP2008060747A (ja) レイヤ2負荷分散システム、レイヤ2負荷分散装置及びそれらに用いるレイヤ2負荷分散方法
US20140229635A1 (en) Communication device, communication system, and communication method
Enghardt et al. TAPS Working Group A. Brunstrom, Ed. Internet-Draft Karlstad University Intended status: Informational T. Pauly, Ed. Expires: January 9, 2020 Apple Inc.
WO2015177924A1 (ja) 通信装置及び通信方法及びプログラム
Sumathi et al. An Experimental of IPv6 Address Assignment for Global Unicast Address Using NS-3
Madhavan NAT TRAVERSAL THROUGH TUNNELING
Aggarwal Implementation and Evaluation of ELK, an ARP scalability enhancement Computer Science Tripos, Part II Corpus Christi College
JP2005065204A (ja) パーソナルipシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12829967

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013532442

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12829967

Country of ref document: EP

Kind code of ref document: A1