home *** CD-ROM | disk | FTP | other *** search
/ PC Press: Internet / PC_PRESS.ISO / software / dos / misc / inar-100.exe / DOC / CONFIG.DOC next >
Encoding:
Text File  |  1995-05-21  |  21.1 KB  |  613 lines

  1. Documentation to the INAR configuration file
  2. ============================================
  3.  
  4. The configuration file contains all the details about your IP router
  5. formulated in a special syntax. This syntax is outlined in the file
  6. `SYNTAX.DOC', where objects in square brackets are optional and
  7. keywords separated by a vertical bar (pipeline character) are
  8. alternative choices.
  9.  
  10. To get a better understanding of the structure of the configuration
  11. file you should print out the `SYNTAX.DOC' file and at least some of
  12. the sample config files and look at them while you are reading the
  13. following description.
  14.  
  15. Note: In the following section words in angle brackets are to be
  16.       replaced (including the angle brackets) by objects of the
  17.       respective type.
  18.  
  19. The order of entries in the config file is not important, with the
  20. two exceptions:
  21.  
  22.     - If multiple link entries have the same name, their order
  23.       determines the order in which the associated ISDN numbers
  24.       will be dialed.
  25.  
  26.     - If the gateway field of a route entry points to a direct
  27.       route instead of an interface the direct route has to come
  28.       first.
  29.  
  30. If more than one interface, route or source entry is matching an IP
  31. address, the one with the narrowest netmask wins.
  32.  
  33. The first `#' character in a line starts a comment. Comments are
  34. ignored by the configuration program.
  35.  
  36. You can define variables as follows:
  37.  
  38.     set <string> <string>
  39.  
  40. The first string is the name of the variable while the second string
  41. is its value. If the second string is missing the variable is set to
  42. the null string. Variables can be used like this:
  43.  
  44.     $(<string>)
  45.  
  46. The string is the name of the variable. Variables are expanded at the
  47. time a line is read from the config file. Therefore, the order of
  48. definition and use of variables is important. An undefined variable
  49. expands to the null string.
  50.  
  51. An escape character (`\') is defined which can precede the `$' or
  52. `#' character in order to revoke its special meaning. Also, if the
  53. escape character is followed by certain other characters the
  54. corresponding control character is generated (as defined in the
  55. ANSI C standard). And at last, the escape character can be used for
  56. line continuations if you place it directly at the end of a line.
  57.  
  58.  
  59. THE GLOBAL SETTINGS:
  60.  
  61. -------------------------------------------
  62.     global
  63.         syslog
  64.             host <IP number>
  65.             priority <keyword>
  66.  
  67.             logsource
  68.                 system
  69.                 routing
  70.                 monitor
  71.             endlogsource
  72.         endsyslog
  73.  
  74.         bootp <IP number>
  75.         transitnet <IP number>
  76.         transitmask <IP number>
  77.         prefix <string>
  78.         suffix <string>
  79.     endglobal
  80. -------------------------------------------
  81.  
  82. global
  83. endglobal
  84.     (optional)
  85.     Contains settings that are not interface dependent.
  86.  
  87. syslog
  88. endsyslog
  89.     (optional)
  90.     Send status messages to a UNIX host running a syslog daemon. The
  91.     syslog facility is `local0'. Note that you might have to modify
  92.     the `syslog.conf' file on the UNIX host in order to be able to
  93.     log INAR's messages.
  94.     Default: Don't send syslog messages.
  95.  
  96. host <IP number>
  97.     The IP address of the UNIX host.
  98.  
  99. priority <keyword>
  100.     Syslog messages of this priority or higher are sent. Refer to the
  101.     syslog documentation on the UNIX host. You can chose one of the
  102.     following arguments
  103.  
  104.         emergency
  105.         alert
  106.         critical
  107.         error
  108.         warning
  109.         notice
  110.         info
  111.         debug
  112.  
  113. logsource
  114. endlogsource
  115.     Determines which events in the INAR router will trigger syslog
  116.     messages. Possible arguments are
  117.  
  118.         system
  119.             General infos and error messages.
  120.  
  121.         routing
  122.             Infos about routes learned by RIP.
  123.  
  124.         monitor
  125.             Periodic alive message (15 minutes interval).
  126.  
  127. bootp <IP number>
  128.     (optional)
  129.     The IP address of the computer to which BOOTP requests should be
  130.     forwarded to.
  131.     Default: 0.0.0.0 (don't forward BOOTP requests).
  132.  
  133. transitnet <IP number>
  134.     (optional)
  135.     The internal transit net base address for point-to-point links.
  136.     You don't want to change this address.
  137.     Default: 127.1.0.0
  138.  
  139. transitmask <IP number>
  140.     (optional)
  141.     The netmask for the transit net.
  142.     You don't want to change this netmask.
  143.     Default: 255.255.0.0
  144.  
  145. prefix <string>
  146.     (optional)
  147.     An MS-DOS command line to be inserted into `INAR.BAT' before
  148.     the first line generated by interface entries. It is passed to
  149.     the C language printf() function as the format string. Also,
  150.     the number of interfaces is passed to printf() as an additional
  151.     argument. So a `%u', for instance, would be expanded to the
  152.     decimal representation of the number of interfaces.
  153.     Default: No line.
  154.  
  155. suffix <string>
  156.     (optional)
  157.     An MS-DOS command line to be inserted into `INAR.BAT' after
  158.     the last line generated by interface entries. It is passed to
  159.     the C language printf() function as the format string. Also,
  160.     the number of interfaces is passed to printf() as an additional
  161.     argument. So a `%u', for instance, would be expanded to the
  162.     decimal representation of the number of interfaces.
  163.     Default: No line.
  164.  
  165.  
  166. THE INTERFACE SETTINGS:
  167.  
  168. -------------------------------------------
  169.     interface
  170.         name <string>
  171.         type <keyword>
  172.         address <IP number>
  173.         netmask <IP number>
  174.         gateway <IP number>
  175.         metric <decimal number>
  176.  
  177.         attributes
  178.             send_rip
  179.             listen_rip
  180.             send_default_route
  181.             listen_default_route
  182.             poison_reverse
  183.             no_directed_broadcast
  184.             no_icmp_redirects
  185.             hidden_interface
  186.             host_route_split
  187.             unreachable_network
  188.             route_broadcasts
  189.             global_broadcast
  190.             broadcast_0
  191.             proxy_arp
  192.             no_reverse_check
  193.         endattributes
  194.  
  195.         driver
  196.             prefix <string>
  197.             command <string>
  198.             controller <decimal number>
  199.             index <decimal number>
  200.             syslog <keyword>
  201.             options <string>
  202.             suffix <string>
  203.         enddriver
  204.     endinterface
  205. -------------------------------------------
  206.  
  207. interface
  208. endinterface
  209.     Contains settings for an interface.
  210.  
  211. name <string>
  212.     The name of the interface.
  213.  
  214. type <keyword>
  215.     The type of the interface. You can chose one of the following
  216.     arguments
  217.  
  218.         ethernet
  219.             Real ethernet interface.
  220.  
  221.         point2point
  222.             Point-to-point ethernet interface.
  223.  
  224.         isdn
  225.             ISDN point-to-point interface.
  226.  
  227. address <IP number>
  228.     The IP address of the interface. If this interface is of type
  229.     `point2point' or `isdn', take the IP address of one of the
  230.     ethernet interfaces so that you don't have to waste an IP
  231.     address for a point-to-point interface.
  232.  
  233. netmask <IP number>
  234.     (only with interface type `ethernet')
  235.     The netmask for the IP net of the interface.
  236.  
  237. gateway <IP number>
  238.     (optional, only with interface type `point2point')
  239.     The IP address of the gateway at the other end of the
  240.     data link.
  241.     Note: You should set this only if you are using a device
  242.           driver in ethernet bridging mode (necessary for RIP
  243.           over point-to-point links).
  244.     Default: No gateway address (doesn't matter).
  245.  
  246. metric <decimal number>
  247.     A value to tell other routers in the network (via RIP) how
  248.     "costly" this link is. A higher value discourages routes via
  249.     this interface.
  250.  
  251. attributes
  252. endattributes
  253.     (optional)
  254.     Change the behaviour of the interface. Possible arguments are
  255.  
  256.         send_rip
  257.             Send routing informations (excl. default route) (RIP).
  258.  
  259.         listen_rip
  260.             Listen to routing informations (excl. default route) (RIP).
  261.  
  262.         send_default_route
  263.             Send default route informations (RIP).
  264.  
  265.         listen_default_route
  266.             Listen to default route informations (RIP).
  267.  
  268.         poison_reverse
  269.             If `send_rip' is also set, makes the network react
  270.             faster to router failures under some circumstances, at
  271.             the expense of slightly increased network bandwidth
  272.             consumption.
  273.  
  274.         no_directed_broadcast
  275.             (only with interface type `ethernet')
  276.             Don't allow computers connected to a different
  277.             interface to directly send IP packets to the
  278.             broadcast address of this interface.
  279.  
  280.         no_icmp_redirects
  281.             (only with interface type `ethernet')
  282.             Don't send ICMP_REDIRECT messages to the sender of
  283.             misrouted IP packets.
  284.  
  285.         hidden_interface
  286.             (only with interface type `ethernet')
  287.             Don't propagate informations about this interface
  288.             via RIP.
  289.  
  290.         host_route_split
  291.             (only with interface type `ethernet')
  292.             Propagate the interface route via RIP as a number of
  293.             host routes instead of a single network route. In
  294.             order to avoid flooding the LAN with hundreds of host
  295.             routes this works only for interfaces with a netmask
  296.             corresponding to a class C net or smaller.
  297.  
  298.         unreachable_network
  299.             (only with interface type `ethernet')
  300.             IP packets addressed to this interface will be
  301.             dropped and an ICMP_UNREACHABLE message will be
  302.             returned.
  303.  
  304.         route_broadcasts
  305.             (only with interface type `ethernet')
  306.             Route global broadcasts to this interface if source and
  307.             destination global IP net of the packet are identical.
  308.  
  309.         global_broadcast
  310.             (only with interface type `ethernet')
  311.             If `route_broadcasts' is set, route broadcasts to the
  312.             global broadcast address of this interface instead of
  313.             the subnet broadcast address.
  314.  
  315.         broadcast_0
  316.             (only with interface type `ethernet')
  317.             Instead of the last address, use the first address of
  318.             the IP net for broadcasts. This is for compatibility
  319.             with old IP implementations and shouldn't be used in
  320.             modern networks.
  321.  
  322.         proxy_arp
  323.             (only with interface type `ethernet')
  324.             Answer all ARP requests for addresses INAR knows a
  325.             route for, provided the route points to a different
  326.             interface.
  327.  
  328.         no_reverse_check
  329.             Don't check whether the source IP address of a packet
  330.             would be routed to the same interface as the packet
  331.             came from. Setting this attribute creates a security
  332.             gap but may be necessary if a computer with two or more
  333.             interfaces is connected to two or more INAR interfaces.
  334.  
  335. driver
  336. enddriver
  337.     Details about the packet driver used for the interface.
  338.  
  339. prefix <string>
  340.     (optional)
  341.     An MS-DOS command line to be inserted into `INAR.BAT' before
  342.     the line generated for the packet driver. It is passed to
  343.     the C language printf() function as the format string. Also,
  344.     the number of the software interrupt used to communicate with
  345.     the packet driver is passed to printf() as an additional
  346.     argument. So a `%u', for instance, would be expanded to the
  347.     decimal representation of the number of the software interrupt.
  348.     Default: No line.
  349.  
  350. command <string>
  351.     (only with interface type `ethernet' or `point2point')
  352.     An MS-DOS command line to be inserted into `INAR.BAT' containing
  353.     the packet driver invocation. It is passed to the C language
  354.     printf() function as the format string. Also, the number of the
  355.     software interrupt used to communicate with the packet driver is
  356.     passed to printf() as an additional argument. So a `%u', for
  357.     instance, would be expanded to the decimal representation of the
  358.     number of the software interrupt.
  359.     Note: The packet driver used here has to act like a genuine
  360.           ethernet driver even if it isn't a real ethernet driver
  361.           but, for instance, a SLIP driver. That is, it has to
  362.           support ARP etc.
  363.  
  364. controller <decimal number>
  365.     (only with interface type `isdn')
  366.     The number of the ISDN controller. Usually, for an S0 bus
  367.     connection, each controller handles two B channels. The first
  368.     controller has the number zero.
  369.  
  370. index <decimal number>
  371.     (only with interface type `isdn')
  372.     For the national german ISDN standard 1tr6 this is the EAZ
  373.     (Endgeraeteauswahlziffer) assigned to this interface. A `0'
  374.     means a global call while an EAZ in the range of `1' to `8'
  375.     allows for an individual selection of devices on the S0 bus.
  376.  
  377.     For the EuroISDN standard E-DSS1 this is the index into the
  378.     table of ISDN numbers which was defined during the CAPI
  379.     installation. The ISDN number to which the index points is
  380.     assigned to this interface. The first number in the table
  381.     has the index zero.
  382.  
  383. syslog <keyword>
  384.     (only with interface type `isdn')
  385.     Send dialin/dialout messages to a UNIX host running a syslog
  386.     daemon. You can chose one of the following arguments
  387.  
  388.         on
  389.             Enable syslog messages.
  390.  
  391.         off
  392.             Disable syslog messages. Dialin/dialout messages
  393.             will be sent to the screen instead. If you don't
  394.             want this to happen you may want to add the `-q'
  395.             (quiet) flag to the `options' line (see below).
  396.  
  397. options <string>
  398.     (optional, only with interface type `isdn')
  399.     Options for the ISDN driver (ISPA). These options can be
  400.     used to define the behaviour of ISDN links that don't have
  401.     a link entry assigned to the respective route entry. Refer
  402.     to the file `ISPA18.TXT' for further informations.
  403.     Default: No options.
  404.  
  405. suffix <string>
  406.     (optional)
  407.     An MS-DOS command line to be inserted into `INAR.BAT' after
  408.     the line generated for the packet driver. It is passed to
  409.     the C language printf() function as the format string. Also,
  410.     the number of the software interrupt used to communicate with
  411.     the packet driver is passed to printf() as an additional
  412.     argument. So a `%u', for instance, would be expanded to the
  413.     decimal representation of the number of the software interrupt.
  414.     Default: No line.
  415.  
  416.  
  417. THE ROUTE SETTINGS:
  418.  
  419. -------------------------------------------
  420.     route
  421.         name <string>
  422.         net <IP number>
  423.         netmask <IP number>
  424.         interface <string>
  425.         gateway <IP number>
  426.         link <string>
  427.         metric <decimal number>
  428.  
  429.         attributes
  430.             hidden_route
  431.             host_route_split
  432.             transient_route
  433.             unreachable_network
  434.         endattributes
  435.     endroute
  436. -------------------------------------------
  437.  
  438. route
  439. endroute
  440.     (optional)
  441.     Contains settings for a static route.
  442.  
  443. name <string>
  444.     The name of the route.
  445.  
  446. net <IP number>
  447.     The IP address of the net or host to which this route applies.
  448.     If this is the default route, instead of an IP number the keyword
  449.     `default' is used. Note that a default route has no netmask.
  450.  
  451. netmask <IP number>
  452.     (only if not the default route)
  453.     The netmask for the net or host to which this route applies.
  454.  
  455. interface <string>
  456.     The name of the interface to which IP packets matched by this
  457.     route are to be sent.
  458.  
  459. gateway <IP number>
  460.     (only with interface type `ethernet')
  461.     The IP address of the next gateway to which IP packets matched
  462.     by this route are to be sent. If the destination net or host
  463.     is directly connected to the interface used by this route,
  464.     instead of an IP number the keyword `direct' is used. Note that
  465.     a direct connection has no metric.
  466.  
  467. link <string>
  468.     (optional, only with interface type `isdn')
  469.     The name of the link assigned to this route. The ISDN number
  470.     of incoming calls is verified.
  471.     Default: The ISDN driver uses the settings defined by the
  472.              interface driver options string. No verification
  473.              of the ISDN number of incoming calls is performed.
  474.  
  475. metric <decimal number>
  476.     (only if not a direct connection)
  477.     A value to tell other routers in the network (via RIP) how
  478.     "costly" this link is. A higher value discourages routes via
  479.     this interface.
  480.  
  481.  
  482. attributes
  483. endattributes
  484.     (optional)
  485.     Change the behaviour of the route. Possible arguments are
  486.  
  487.         hidden_route
  488.             Don't propagate informations about this route
  489.             via RIP.
  490.  
  491.         host_route_split
  492.             Propagate the route via RIP as a number of host
  493.             routes instead of a single network route. In order
  494.             to avoid flooding the LAN with hundreds of host
  495.             routes this works only for routes with a netmask
  496.             corresponding to a class C net or smaller.
  497.  
  498.         transient_route
  499.             The route can be overridden by RIP. This can be
  500.             used to define an initial route that is valid
  501.             until it is replaced by the first RIP route
  502.             matching the same net or host.
  503.  
  504.         unreachable_network
  505.             IP packets matched by this route will be dropped
  506.             and an ICMP_UNREACHABLE message will be returned.
  507.  
  508.  
  509. THE SOURCE ROUTE SETTINGS:
  510.  
  511. -------------------------------------------
  512.     source
  513.         net <IP number>
  514.         netmask <IP number>
  515.         refer <string list>
  516.         attach <string list>
  517.         route <keyword>
  518.     endsource
  519. -------------------------------------------
  520.  
  521. source
  522. endsource
  523.     (optional)
  524.     Contains settings for a source route. The default action for
  525.     an IP packet not matched by any source route is to let it pass.
  526.  
  527. net <IP number>
  528.     (mutualy exclusive with refer line)
  529.     The IP source address of the net or host to which this route
  530.     applies. If this is the default route, instead of an IP number
  531.     the keyword `default' is used. Note that a default route has no
  532.     netmask.
  533.  
  534. netmask <IP number>
  535.     (only if not the default route, mutualy exclusive with refer line)
  536.     The netmask for the net or host to which this route applies.
  537.  
  538. refer <string list>
  539.     (mutualy exclusive with net/netmask line)
  540.     Instead of using explicit net and netmask IP numbers to define
  541.     the source route it can be linked to a static route or an
  542.     interface. In this case the net and netmask of the static route
  543.     or the interface are used for the source route. Multiple static
  544.     route and interface names can be given in a comma separated list.
  545.     Note: Source routes can't refer to interfaces of type `isdn' and
  546.     of type `point2point' with omitted `gateway' field.
  547.  
  548. attach <string list>
  549.     The name of the route or interface this source route is attached
  550.     to. If an IP packet is matched by a route or interface a lookup
  551.     for an attached source route that matches the IP source address
  552.     of the packet is performed. If a matching source route was found
  553.     it determines whether the packet is to be dropped or passed.
  554.     Multiple static route and interface names can be given in a comma
  555.     separated list. Additionally, a `*' stands for all routes and
  556.     interfaces while a `+' means all routes learned by RIP. The
  557.     special case `+name' tells INAR to attach the source route to
  558.     routes learned by RIP on interface `name'.
  559.     Note: Source routes can't attach to interfaces of type `isdn' and
  560.     of type `point2point' with omitted `gateway' field.
  561.  
  562. route <keyword>
  563.     Determines whether an IP packet matched by this source route
  564.     is to be dropped or passed. You can chose one of the following
  565.     arguments
  566.  
  567.         permit
  568.             Pass packet.
  569.  
  570.         deny
  571.             Drop packet and return an ICMP_UNREACHABLE message.
  572.  
  573.  
  574. THE LINK SETTINGS:
  575.  
  576. -------------------------------------------
  577.     link
  578.         name <string>
  579.         address <string list>
  580.         options <string>
  581.     endlink
  582. -------------------------------------------
  583.  
  584. link
  585. endlink
  586.     (optional, only with interface type `isdn')
  587.     Contains settings for an ISDN link.
  588.  
  589. name <string>
  590.     The name of the link. Multiple links with the same name can
  591.     exist and are tried in the order of their appearance until
  592.     a connection can be established.
  593.  
  594. address <string list>
  595.     The destination ISDN number. The complete number including the
  596.     area code has to be given. If the destination is in the same
  597.     area as this IP router a period (`.') should be placed between
  598.     the area code and the remainder of the ISDN number so that for
  599.     dialouts the area code is stripped off of the ISDN number. For
  600.     an SPV connection (only with national german ISDN standard 1tr6)
  601.     an `s' has to be appended to the ISDN number. A subaddress
  602.     (EuroISDN standard E-DSS1) may be appended to the ISDN number
  603.     and is separated from it by a slash (`/'). It can only consist
  604.     of digits (up to 16 characters). A second ISDN number can be
  605.     given (separated from the first number by a comma) for channel
  606.     bundling.
  607.  
  608. options <string>
  609.     (optional)
  610.     The ISDN driver (ISPA) options used for this link. Refer to the
  611.     file `ISPA18.TXT' for further informations.
  612.     Default: No options.
  613.