pdnsd.8.in 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. .TH PDNSD 8 "Jul 2007" "pdnsd @fullversion@" "System Administration Commands"
  2. .SH NAME
  3. \fBpdnsd\fP \- dns proxy daemon
  4. .SH SYNOPSIS
  5. \fBpdnsd\fP [\-h] [\-V] [\-s] [\-d] [\-g] [\-t] [\-p \fIfile\fR] [\-v\fIn\fR] [\-m\fIxx\fR] [\-c \fIfile\fR] [\-4] [\-6] [\-a]
  6. .PP
  7. This man page is an extract of the documentation of \fBpdnsd\fP.
  8. For complete, current documentation, refer to the HTML (or plain text)
  9. documentation (which you can find in the \fBdoc/\fP subdirectory of the
  10. source or in a standard documentation directory, typically
  11. \fB/usr/share/doc/pdnsd/\fP if you are using a binary package).
  12. .SH DESCRIPTION
  13. .PP
  14. \fBpdnsd\fP is a IPv6 capable proxy domain name server (DNS) which
  15. saves the contents of its DNS cache to the disk on exit.
  16. .SH OPTIONS
  17. .RS
  18. .TP
  19. .B \-4
  20. enables IPv4 support. IPv6 support is automatically
  21. disabled (should it be available). On by default.
  22. .TP
  23. .B \-6
  24. enables IPv6 support. IPv4 support is automatically
  25. disabled (should it be available). Off by default.
  26. .TP
  27. .B \-a
  28. With this option, pdnsd will try to detect automatically if
  29. the system supports IPv6, and fall back to IPv4 otherwise.
  30. .TP
  31. .BR \-V " or " \-\-version
  32. Print version information and exit.
  33. .TP
  34. \fB\-c\fP \fIFILE\fP or \fB\-\-config\-file=\fP\fIFILE\fP
  35. specifies that configuration is to be read from \fIFILE\fP.
  36. Default is \fB@sysconfdir@/pdnsd.conf\fP.
  37. .TP
  38. .BR \-d " or " \-\-daemon
  39. Start \fBpdnsd\fP in daemon mode (as a background process).
  40. .TP
  41. .BR \-g " or " \-\-debug
  42. Print some debug messages on the console or to the file
  43. \fBpdnsd.debug\fP in your cache directory (in daemon mode).
  44. .TP
  45. .BR \-h " or " \-\-help
  46. Print an option summary and exit.
  47. .TP
  48. \fB\-i\fP \fIPREFIX\fP or \fB\-\-ipv4_6_prefix=\fP\fIPREFIX\fP
  49. specifies the prefix pdnsd uses (when running in IPv6 mode) to map IPv4
  50. addresses in the configuration file to IPv6 addresses. Must be a valid IPv6
  51. address. Default is ::ffff:0.0.0.0
  52. .TP
  53. .B \-p \fIFILE\fP
  54. writes the pid the server runs as to the specified filename. Works
  55. only in daemon mode.
  56. .TP
  57. .B \-\-pdnsd\-user
  58. Print the user \fBpdnsd\fP will run as and exit.
  59. .TP
  60. .BR \-s " or " \-\-status
  61. enables the status control socket. Either this option should be passed
  62. to the command line or \fBstatus_ctl=on;\fP should be specified in the
  63. config file if you want to use
  64. .BR pdnsd\-ctl (8)
  65. to control \fBpdnsd\fP at runtime.
  66. .TP
  67. .BR \-t " or " \-\-tcp
  68. enables the TCP server thread. \fBpdnsd\fP will then serve TCP and UDP
  69. queries.
  70. .TP
  71. .BI \-v n
  72. sets the verbosity of \fBpdnsd\fP. \fIn\fP is a numeric argument
  73. between 0 (normal operation) to 3 (many messages for debugging).
  74. .TP
  75. .BI \-m xx
  76. sets the query method \fBpdnsd\fP
  77. uses. Possible values for \fIxx\fP are:
  78. .IP
  79. .B uo
  80. \- pdnsd will use UDP only. This is the fastest method, and should
  81. be supported by all name servers on the Internet.
  82. .IP
  83. .B to
  84. \- pdnsd will use TCP only. TCP queries usually take more time than
  85. UDP queries, but are more secure against certain attacks, where an
  86. attacker tries to guess your query id and to send forged answers. TCP
  87. queries are not supported by some name servers.
  88. .IP
  89. .B tu
  90. \- pdnsd will try to use TCP, and will fall back to UDP if its
  91. connection is refused or times out.
  92. .IP
  93. .B ut
  94. \- pdnsd will try to use UDP, and will repeat the query using TCP
  95. if the UDP reply was truncated (i.e. the tc bit is set).
  96. This is the behaviour recommended by the DNS standards.
  97. .PP
  98. Additionally, "no" can be prepended to the \-\-status, \-\-daemon, \-\-debug
  99. and \-\-tcp options (e.g. \-\-notcp) to reverse their effect.
  100. .RE
  101. .SH USAGE
  102. .PP
  103. \fBpdnsd\fP is usually run from a startup script. For \fBpdnsd\fP to
  104. work, You need to:-
  105. .IP
  106. 1. Tell your system to use \fBpdnsd\fP as the primary DNS server by
  107. modifying \fB/etc/resolv.conf\fP.
  108. .IP
  109. 2. Tell \fBpdnsd\fP to use an authentic source for DNS records, by
  110. including the IP addresses of one or more DNS servers, usually your
  111. ISP's DNS servers, in \fB@sysconfdir@/pdnsd.conf\fP.
  112. .PP
  113. For this, put the following line in your \fB/etc/resolv.conf\fP
  114. .PP
  115. .RS
  116. nameserver 127.0.0.X
  117. .RE
  118. .PP
  119. where X can be any number. (I use 3). Comment out all other
  120. entries. You should put the same value in the server_ip= line in
  121. \fBglobal\fP section of \fB@sysconfdir@/pdnsd.conf\fP.
  122. .br
  123. If you want to use \fBpdnsd\fP as the DNS server for a small local network,
  124. you should use the IP address or name of the interface connected to
  125. this network instead of 127.0.0.X.
  126. .RE
  127. .PP
  128. To tell \fBpdnsd\fP where to get DNS information from, add the
  129. following lines in \fB@sysconfdir@/pdnsd.conf\fP:-
  130. .PP
  131. .RS
  132. server {
  133. .br
  134. label= "myisp";
  135. ip=123.456.789.001,123.456.789.002;
  136. proxy_only=on;
  137. timeout=10;
  138. .br
  139. }
  140. .RE
  141. .PP
  142. Note the opening and closing braces. Add more such \fBserver\fP
  143. sections for each set of DNS servers you want \fBpdnsd\fP to query.
  144. Of course the configuration options shown here are just examples.
  145. More examples can be found in \fB@sysconfdir@/pdnsd.conf.sample\fP
  146. or the pdnsd.conf in the documentation directory.
  147. See the
  148. .BR pdnsd.conf (5)
  149. man page for all the possible options and their exact meaning.
  150. .PP
  151. If you use a dial up connection, remember that ppp scripts usually
  152. replace \fB/etc/resolv.conf\fP when connection with the ISP is
  153. established. You need to configure ppp (or whatever you use to
  154. establish a connection) so that \fB/etc/resolv.conf\fP is not replaced
  155. every time a connection is established. Read the documentation for the
  156. scripts run when your network comes up.
  157. .PP
  158. If you use pppconfig, specify `none' in the `nameservers' option in
  159. the `advanced' tab. If you use multiple ISPs, you should do this for
  160. each connection/account.
  161. .PP
  162. If you use multiple ISPs, you should tell \fBpdnsd\fP which DNS servers
  163. have become available by calling \fBpdnsd\-ctl\fP, the \fBpdnsd\fP
  164. control utility, in a script (e.g. \fB/etc/ppp/ip\-up\fP when you use pppd)
  165. that is run when the connection is established.
  166. If the addresses of the DNS servers are obtained through some type of
  167. dynamic configuration protocol (e.g. pppd with the usepeerdns
  168. option or a DHCP client), you can pass the DNS server addresses as an extra
  169. argument to \fBpdnsd\-ctl\fP to configure \fBpdnsd\fP at run time.
  170. See the
  171. .BR pdnsd\-ctl (8)
  172. man page for details.
  173. .SH FILES
  174. \fB@sysconfdir@/pdnsd.conf\fP is the pdnsd configuration file.
  175. The file format and configuration options are described in the
  176. .BR pdnsd.conf (5)
  177. man page. You can find examples of almost all options in
  178. \fB@sysconfdir@/pdnsd.conf.sample\fP.
  179. .PP
  180. \fB@cachedir@/pdnsd.cache\fP
  181. .PP
  182. \fB@cachedir@/pdnsd.status\fP is the status control socket, which must be
  183. enabled before you can use \fBpdnsd\-ctl\fP.
  184. .PP
  185. \fB/etc/init.d/pdnsd\fP (the name and location of the start-up script
  186. may be different depending on your distribution.)
  187. .PP
  188. \fB/etc/resolv.conf\fP
  189. .PP
  190. \fB/etc/defaults/pdnsd\fP contains additional parameters or options
  191. which may be passed to pdnsd at boot time. This saves the hassle of
  192. fiddling with initscripts (not available on all distributions).
  193. .SH BUGS
  194. .PP
  195. The verbosity option
  196. .BI -v n
  197. presently does not seem to have much effect on the amount of debug output.
  198. .br
  199. Report any remaining bugs to the authors.
  200. .SH CONFORMING TO
  201. .PP
  202. \fBpdnsd\fP should comply with RFCs 1034 and 1035. As of version
  203. 1.0.0, RFC compliance has been improved and pdnsd is now believed (or
  204. hoped?) to be fully RFC compatible. It completely follows RFC 2181
  205. (except for one minor issue in the FreeBSD port, see the
  206. documentation).
  207. .PP
  208. It does \fINOT\fP support the following features, of which most are
  209. marked optional, experimental or obsolete in these RFCs:
  210. .IP
  211. \(bu Inverse queries
  212. .IP
  213. \(bu Status queries
  214. .IP
  215. \(bu Completion queries
  216. .IP
  217. \(bu Namespaces other than IN (Internet)
  218. .IP
  219. \(bu AXFR and IXFR queries (whole zone transfers); since pdnsd does not maintain zones, that should not violate the standard
  220. .PP
  221. The following record types, that are extensions to the original DNS
  222. standard, are supported if given as options at compile time. (if you
  223. do not need them, you do not need to compile support for them into
  224. pdnsd and save cache and executable space):
  225. .IP
  226. \(bu RP (responsible person, RFC 1183)
  227. .IP
  228. \(bu AFSDB (AFS database location, RFC 1183)
  229. .IP
  230. \(bu X25 (X25 address, RFC 1183)
  231. .IP
  232. \(bu ISDN (ISDN number/address, RFC 1183)
  233. .IP
  234. \(bu RT (route through, RFC 1183)
  235. .IP
  236. \(bu NSAP (Network Service Access Protocol address , RFC 1348)
  237. .IP
  238. \(bu PX (X.400/RFC822 mapping information, RFC 1995)
  239. .IP
  240. \(bu GPOS (geographic position, deprecated)
  241. .IP
  242. \(bu AAAA (IPv6 address, RFC 1886)
  243. .IP
  244. \(bu LOC (location, RFC 1876)
  245. .IP
  246. \(bu EID (Nimrod EID)
  247. .IP
  248. \(bu NIMLOC (Nimrod locator)
  249. .IP
  250. \(bu SRV (service record, RFC 2782)
  251. .IP
  252. \(bu ATMA (ATM address)
  253. .IP
  254. \(bu NAPTR (URI mapping, RFC 2168)
  255. .IP
  256. \(bu KX (key exchange, RFC 2230)
  257. .SH SEE ALSO
  258. .PP
  259. .BR pdnsd\-ctl (8),
  260. .BR pdnsd.conf (5),
  261. .BR pppconfig (8),
  262. .BR resolv.conf (5)
  263. .PP
  264. More documentation is available in the \fBdoc/\fP subdirectory of the source,
  265. or in \fB/usr/share/doc/pdnsd/\fP if you are using a binary package.
  266. .SH AUTHORS
  267. \fBpdnsd\fP was originally written by Thomas Moestl,
  268. .UR
  269. <tmoestl@gmx.net>,
  270. .UE
  271. and was extensively revised by Paul A. Rombouts
  272. .UR
  273. <p.a.rombouts@home.nl>
  274. .UE
  275. (for versions 1.1.8b1\-par and later).
  276. .PP
  277. Several others have contributed to \fBpdnsd\fP; see files in the
  278. source or \fB/usr/share/doc/pdnsd/\fP directory.
  279. .PP
  280. This man page was written by Mahesh T. Pai
  281. .UR
  282. <paivakil@yahoo.co.in>
  283. .UE
  284. using the documents in \fB/usr/share/docs/pdnsd/\fP directory for Debian,
  285. but can be used on other distributions too.
  286. .PP
  287. Last revised: 22 Jul 2007 by Paul A. Rombouts.
  288. .SH COPYRIGHT
  289. .PP
  290. This man page is a part of the pdnsd package, and may be distributed
  291. in original or modified form under terms of the GNU General Public
  292. License, as published by the Free Software Foundation; either version
  293. 3, or (at your option) any later version.
  294. .PP
  295. You can find a copy of the GNU GPL in the file \fBCOPYING\fP in the source
  296. or the \fB/usr/share/common\-licenses/\fP directory if you are using a
  297. Debian system.