home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd2.bin / docu / ascii / suselxen / slxen-06.txt < prev    next >
Text File  |  2000-03-11  |  119KB  |  2,790 lines

  1.                                                                                  Chapter 6
  2.                 Connecting to the World-and
  3.                                                                             Then What?
  4.  
  5. In this chapter we show how to establish connections to remote networks:
  6. Wide Area Networks (or WANs) and the Internet. We also explain how to set
  7. up services that use these connections.
  8. There are two communications protocol standards known in the UNIX world,
  9. UUCP and TCP/IP (via modem or ISDN). While UUCP (Unix to Unix Copy)
  10. is mainly designed for transporting mail and news, TCP/IP provides a real
  11. network connection which supplies all services to a LAN.
  12. If TCP/IP is used with a modem connection, nowadays PPP (Point to Point
  13. Protocol) is generally used. 1 For ISDN connections, rawip and snycPPP
  14. are normally used (see Section 6.2.5 page 157).
  15. In the next section we outline how to make a basic modem connection and use
  16. a terminal program to access a WAN. After that we go into some detail about
  17. configuring PPP, inlcuding a PPP server. Then the basics of e-mail, setting up
  18. a news system and fax capabilities are discussed.
  19.  
  20. 6.1 PPP
  21. PPP (Point-to-Point protocol) enables you to establish a TCP/IP connection
  22. via a serial line. Client and server may communicate while establishing their
  23. connection and set up their needed parameters accordingly. The server may
  24. configure an IP address as well as a name to the client.
  25. Furthermore, PPP is a standard protocol (which SLIP isn't) and is normally
  26. the only protocol offered by ISP's.
  27. The PPP daemon, pppd, which is used for communicating with various de-
  28. vices, plays a vital and central role in PPP connections. This daemon may
  29. serve either as server or client. To actually establish the connection, the pro-
  30. gram wvdial or chat is needed.
  31.  
  32. 6.1.1 Requirements for Using PPP
  33.  
  34. The following items are needed to use PPP in SuSE Linux:
  35. 1 SLIP (Serial Line Internet Protocol) is going more and more out of fashion.
  36.  
  37.                                                                                         149
  38.  
  39.  
  40.  
  41. 6. Connecting to the World-and Then What?
  42.  
  43.                 * The kernel needs to have support for TCP/IP and PPP included. This is
  44.                   the case with the standard kernel and the modules belonging to it - you
  45.                   don not need to compile a new kernel.
  46.                 * The networking packages need to be installed. The packages that are
  47.                   required are package nkita and package nkitb, series a.
  48.                 * The PPP base package, package ppp, series n, which includes pppd and
  49.                   chat script.
  50.                 * The package wvdial, series n to establish and close down the connec-
  51.                   tion.
  52.                 * If ISDN is to be configured, refer also to Section 6.2.3 page 153.
  53.                 * You need to know your login and password for the PPP server.
  54.  
  55.                6.1.2 Further Information on PPP
  56.                PPP offers far more options and capabilities than we could list here. It would
  57.                be beyond the scope of this book to even mention them all. If you need more
  58.                capabilities or options, refer to the corresponding manuals and manpages:
  59.                NET-3-HOWTO.gz and PPP-HOWTO.gz in /usr/doc/howto as well
  60.                as the documentation in /usr/doc/packages/ppp.
  61.                More detailed information on PPP and its protocols may be found in the
  62.                corresponding RFC's:
  63.                 * RFC1144: Jacobson, V. "Compressing TCP/IP headers for low-speed
  64.                   serial links." 1990 February;
  65.                 * RFC1321: Rivest, R. "The MD5 Message-Digest Algorithm." 1992
  66.                   April;
  67.                 * RFC1332: McGregor, G. "PPP Internet Protocol Control Protocol
  68.                   (IPCP)." 1992 May;
  69.                 * RFC1334: Lloyd, B. Simpson, W.A. PPP authentication protocols."' 1992
  70.                   October;
  71.                 * RFC1548: Simpson, W.A. "The Point-to-Point Protocol (PPP)." 1993
  72.                   December;
  73.                 * RFC1549: Simpson, W.A. "PPP in HDLC Framing." 1993 December.
  74.  
  75.                6.2 ISDN Configuration
  76.                In addition to its "normal" network capabilities, Linux can connect to your
  77.                ISP via ISDN. Most of this may be set up in YaST, making ISDN configura-
  78.                tion with SuSE Linux straightforward and easy.
  79.                This section refers mainly to a standard connection to your ISP via ISDN. Of
  80.                course, there is lots more that can be done by isdn4linux.
  81.                Keep in mind that some of the procedures mentioned below may be "illegal".
  82.                Every active card and its firmware are certified. Passive ISDN controllers are
  83.                certified if run with the software of the manufacturer. For those who need a
  84.                certification, please use either an active ISDN card or connect the controller
  85.                to your PBX.
  86.                ISDN has one great difference to a modem connection-once the network
  87.                has been set up and configured, no additional commands are required. This
  88.  
  89. 150
  90.  
  91.  
  92.  
  93.                                                                        6.2. ISDN Configuration
  94.  
  95. is called "on demand". As soon as you launch a telnet session, for example,
  96. the connection will be established. This normally takes about three seconds.
  97. Thus, it is possible to let "normal" users establish a connection. You may set
  98. the idle time. This is the period of time after which the connection will be
  99. cancelled automatically, if all the processes that use the connection are idle.
  100. While configuring your ISDN system, it is recommended that you keep an eye
  101. on messages in /var/log/messages. Just start another xterm or login on
  102. another console and enter:
  103.     earth: # less +F /var/log/messages
  104. The option +F causes the screen to display each new line "online", as it is
  105.                                                    
  106. written; you can leave this mode with  Ctrl  +  c  
  107.                                                    .
  108. Another option is to view the ISDN traffic graphically, with the program
  109. xisdnload. Now, you will see each line as it is added to /var/log/
  110. messages.
  111.  
  112. 6.2.1 Setting up ISDN - Step by Step
  113. The following section provides a step by step guide to connecting to the
  114. Internet. Try this first. If it doesn't work, or if you need more detailed
  115. information, then read through the subsequent sections of this chapter.
  116.                                                                               
  117.  1. As user `root', start the program YaST ¡ if you are in KDE: press  Alt  
  118.          
  119.     +  F2  
  120.           , then enter xterm. Start YaST in the new window.
  121.  2. Go to `System administration', `Integrate hardware
  122.     into system' and then to `Configure ISDN hardware'.
  123.  3. Complete the mask. If you are not sure what to enter, documentation can
  124.     be found in /usr/doc/packages/i4l and in the following sections
  125.     of the handbook.
  126.  4. Then select `Start' in the window.
  127.  5. If this was successful (a positive message appears on the screen), then
  128.     choose ISDN-Parameter.
  129.  6. Complete this mask as well.
  130.  7. Then select `Start' in the window.
  131.  8. If this works (another positive message appears), then select Save.
  132.  9. Go to the `Network configuration' menu, `Network base
  133.     configuration'.                
  134. 10. Create a new device (with  F5  
  135.                                     ) - ISDN SyncPPP. Press `RETURN',
  136.     to reach the menu `Enter network addresses'.
  137. 11. Leave these settings as they are ¡ the IP address of your local ma-
  138.     chine 192.168.0.99, the address of the Point-To-Point partner is
  139.     192.168.0.1 ¡ and only change the Default-Gateway to the same
  140.     address as Address of the Point-To-Point partner (192.168.0.1).
  141. 12. Finish this by selecting `Continue'.
  142. 13. In the mask `Selection of network' you must activate the card
  143.             
  144.     with  F4  
  145.                .    
  146. 14. Save with  F10  
  147.                     .
  148.  
  149.                                                                                           151
  150.  
  151.  
  152.  
  153. 6. Connecting to the World-and Then What?
  154.  
  155.               15. Go to `Nameserver configuration', answer the question with
  156.                   `Yes'.
  157.               16. Enter the IP address of the nameserver (DNS) of your provider. If you do
  158.                   not know this, ask your provider. Usually this can be found on the web
  159.                   page of the provider.
  160.               17. End YaST. Enter init 1 in the terminal window. If KDE (and X) are
  161.                   running, they will be stopped.
  162.               18. Re-start the network with init 2 if you normally start X with startx.
  163.                   If you login using X Windows, however, then start with init 3.
  164.               19. If you start Netscape, for example, you can now surf on the Internet. If
  165.                   you also start xisdnload, you can monitor your connection status.
  166.               20. Some providers require you to specify the proxy server for your provider
  167.                   in Netscape:
  168.                   In Netscape, go to `Edit', `Preferences', `Advanced',
  169.                   `Proxies', `Manual Proxy Configuration' and then `View'.
  170.  
  171.                Now your ISDN access should be running and your connection to the In-
  172.                ternet should be running automatically as soon as you enter an Internet ad-
  173.                dress in Netscape, for example, and the connection will be closed if no data
  174.                traffic occurs for more than 60 seconds. You can monitor this traffic with
  175.                xisdnload!
  176.                If it doesn't work, please continue reading below!
  177.  
  178.                6.2.2 Overview
  179.                SuSE Linux includes the package isdn4linux, which includes hardware
  180.                drivers and network interfaces as well as modem emulation (digital modems
  181.                only). It even includes software which provides the function of an answering
  182.                machine.
  183.                The ISDN hardware driver is launched by /sbin/init.d/i4l_hardware
  184.                (see Chapter 17 page 395). Configuration of the ISDN part is done via
  185.                isdnctrl (see manpage for isdnctrl (man isdnctrl)).               The net-
  186.                work interfaces are configured just like standard Ethernet interfaces by
  187.                means of ifconfig (manpage for ifconfig (man ifconfig))
  188.                and route (manpage for route (man route)).                  On SuSE Linux,
  189.                /sbin/init.d/i4l performs this task (see Chapter 17 page 395).
  190.                All actions taken are based upon entries in /etc/rc.config. These entry
  191.                names resemble, where possible, the options of isdnctrl.
  192.                /sbin/init.d/route sets up the routing of the devices given in /etc/
  193.                route.conf.
  194.                Establishing a connection is done by isdnctrl followed by /sbin/init.
  195.                d/i4l, using settings from /etc/rc.config. You can see a list of these
  196.                parameters by entering:
  197.                   earth: # isdnctrl list all
  198.                As soon as somebody requests an ISDN service (this may be either a user or
  199.                an application), the connection is established.
  200.  
  201. 152
  202.  
  203.  
  204.  
  205.                                                                       6.2. ISDN Configuration
  206.  
  207. 6.2.3 Configuring ISDN Hardware
  208.  
  209. Requirements
  210.  
  211. To make a successful connection from SuSE Linux, you will need:
  212.  
  213. 1. an ISDN connection
  214. 2. a supported ISDN controller
  215. 3. SuSE Linux installed
  216. 4. one of the SuSE Linux standard kernels (on CD)
  217.  
  218.  You don't need to compile a kernel! If you want to compile a kernel
  219.  anyway, make sure you use the sources from package lx suse, series
  220.  d!
  221.  
  222. 5. the package kernmod, series a
  223. 6. the package i4l, series n
  224. 7. the documentation found in package i4ldoc, series doc (recom-
  225.        mended)
  226.  
  227. What you need to know:
  228.  
  229.  * the type of your ISDN controller
  230.  * the controller settings-IRQ, port address, etc. (depends on the type)
  231.  * the ISDN protocol you use:
  232.        ¡ 1TR6: (old) national ISDN
  233.        ¡ DSS1: Euro-ISDN
  234.  
  235.  Some of the PBX's (contrary to the documentation) still use 1TR6 instead
  236.  of DSS1.
  237.  
  238.  
  239. What is an MSN/EAZ?
  240.  
  241. With Euro-ISDN, you get a MSN (Multiple Subscriber Number), which nor-
  242. mally is your telephone number without the prefix. If you just subscribed to
  243. ISDN, you will receive three different numbers. Any of them may be used
  244. for your ISDN connection, even if you use the same number as a telephone
  245. number, as they can be distinguished by their service indicator.
  246. Normally, the ISDN controller is directly attached to an NTBA, but it is a
  247. good idea to connect another S0 bus to the PBX. If you use Euro-ISDN on
  248. your PBX, the MSN is normally the extension (direct call number).
  249. For 1TR6, you have an EAZ (German: "Endgeraete Auswahl Ziffer" = end
  250. user selection number). Otherwise, they are treated the same. The EAZ is a
  251. single number. Just select one in the range of 1 to 7. Don't forget the 0!
  252.  
  253.                                                                                          153
  254.  
  255.  
  256.  
  257. 6. Connecting to the World-and Then What?
  258.  
  259.                6.2.4 Configuring ISDN Hardware with YaST
  260.  
  261.                The driver itself is provided by a loadable kernel module. You don't need to
  262.                reboot your system. Standard ISDN controllers are supported by the HiSax
  263.                driver.
  264.                Some controllers, such as ICN and AVM-B1, as well as P'n'P cards, may not
  265.                yet be configurable with YaST. They require special treatment. Please look
  266.                at the settings for ISDN controllers later in this section.
  267.                Here are the individual steps:
  268.  
  269.                1. Log in as user `root'.
  270.                2. Launch YaST.
  271.                3. Now select `System administration', `Integrate hard-
  272.                    ware into system' and `Configure ISDN hardware'. The
  273.                    menu structure is shown in Figure 6.1.
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.                            Figure 6.1: Menu structure for ISDN configuration in YaST
  291.  
  292.                4. Next, enter the following parameters:
  293.  
  294.                    * Start I4L
  295.                           ISDN is only launched at boot if this field is active. Thus you can
  296.                           control with this whether an ISDN connection should automatically be
  297.                           started at boot up.
  298.                    * ISDN protocol
  299.                           Here, you may choose either the old (national) German ISDN (1TR6)
  300.                           or the default Euro-ISDN (EDSS1). Keep in mind that connections via
  301.                           a PBX often still use 1TR6.
  302.                    * ISDN controller type
  303.                           Select the supported ISDN controller. Please look at /usr/doc/
  304.                           packages/i4l/README.SuSE concerning P'n'P controllers.
  305.  
  306. 154
  307.  
  308.  
  309.  
  310.                                                                  6.2. ISDN Configuration
  311.  
  312.    * Controller ID
  313.      You should leave this untouched to Tel0.
  314.  
  315.    * Interrupt
  316.      Memory base address
  317.      IO port
  318.      ISAC
  319.      HSCX
  320.      Depending on the card in use, some additional settings may be re-
  321.      quired. Only the parameters available for the device are enabled. The
  322.      others are disabled.
  323.    * ISDN options
  324.      This should be left empty!
  325.                 
  326.   Pressing  F1  will give you additional help. The configuration dialog is
  327.   shown in figure 6.2.
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.           Figure 6.2: Menu for ISDN configuration with YaST
  345.  
  346. 5. Now, confirm by pressing `Start'.
  347.   This is a test: the module will be loaded and a message in the window
  348.   will tell you whether the card has been set up correctly.
  349.   If OK: Confirm by pressing `Save'.
  350.      Your settings will now be written to /etc/rc.config. They will
  351.      remain current until you change them. After being tested, the driver
  352.      remains loaded.
  353.   If it fails: Check and change the parameters.
  354.      Don't forget to look at /var/log/messages. (You did remember
  355.      to open it, didn't you?).
  356.      Possible problems may be:
  357.  
  358.                                                                                     155
  359.  
  360.  
  361.  
  362. 6. Connecting to the World-and Then What?
  363.  
  364.                      * On some boards the IRQs 12 or 15 cannot be used.
  365.                      * The given address or IRQ is already in use. Remove (for testing
  366.                        purposes) all controllers that are not immediately needed for testing
  367.                        (e. g., sound and network cards).
  368.                      * The module has already been loaded. To remove it, change to an-
  369.                        other console and enter:
  370.                           earth: # rmmod hisax
  371.  
  372.                      * The card you use is a P'n'P device. See /usr/doc/packages/
  373.                        i4l/README.SuSE for more information.
  374.                      * Your card is not supported by HiSax (e. g., ICN, AVM-B1). See
  375.                        /usr/doc/packages/i4l/README.SuSE.
  376.                6. Exit YaST.
  377.                7. Configure isdnlog.
  378.                   You should configure isdnlog before launching the modules. Its task is
  379.                   to supervise all activities on the S0 bus system.
  380.                   You must now adapt the following files to your requirements:
  381.                   * /etc/isdn/isdn.conf:
  382.                      The first parameter is to set the country where you will use your
  383.                      isdn4linux. If this is Germany, you should set it as specified in
  384.                      File contents 6.2.1.
  385.  
  386.                  # /etc/isdn/isdn.conf
  387.  
  388.                  [GLOBAL]
  389.                  COUNTRYPREFIX = +
  390.                  COUNTRYCODE = 49
  391.                  AREAPREFIX = 0
  392.  
  393.                              File contents 6.2.1: /etc/isdn/isdn.conf
  394.  
  395.                      Here (in the GLOBAL section), you also need to enter your area
  396.                      code AREACODE (the dialing prefix) without the leading zero. So
  397.                      if your area code is, for example, 0911 you will need to enter:
  398.                      AREACODE = 911.
  399.                      In Germany, this is the only part that needs to be adapted. CHARGEMAX
  400.                      = 20.00 lets you set the maximum amount of charges (in Deutsch
  401.                      Marks) that you will accept per day. Please do not rely on this feature!
  402.                   * /etc/isdn/callerid.conf:
  403.                      Here, you may enter every known telephone number. You will see
  404.                      their names instead of their MSNs in /var/log/messages when
  405.                      you launch isdnrep.
  406.                      See our example in File contents 6.2.2 on the next page. Your number
  407.                      is 4711. The number of your ISP is 4712.
  408.                   * /etc/isdn/isdnlog.isdnctrl0.options:
  409.                      Here, you may enter options for isdnlog. This is normally not
  410.                      necessary.
  411.  
  412. 156
  413.  
  414.  
  415.  
  416.                                                                   6.2. ISDN Configuration
  417.  
  418.  
  419.   # /etc/isdn/callerid.conf
  420.  
  421.   [MSN]
  422.   NUMBER = 4711
  423.   SI = 1
  424.   ALIAS = myself
  425.   ZONE = 1
  426.  
  427.   [MSN]
  428.   NUMBER = 4712
  429.   SI = 1
  430.   ALIAS = ISP
  431.   ZONE = 1
  432.  
  433.             File contents 6.2.2: /etc/isdn/callerid.conf
  434.  
  435. 8. Now enter the commands:
  436.        earth: # init 1
  437.        earth: # init 2
  438.  
  439.    thus restarting all network services. You could also activate ISDN with
  440.    YaST or just reboot, if you prefer.
  441.  
  442. 6.2.5 Setting up an ISDN Internet Connection
  443.  
  444. ISDN-Configuration for Your Internet Provider
  445.  
  446. Selecting a Protocol
  447. This ISDN host offers three different modes:
  448.  
  449.  * terminal login using X.75
  450.  * rawip-HDLC
  451.  * syncPPP
  452.  
  453. Of course, you may test any of these protocols, but it is recommended that
  454. you test the protocol offered by your ISP.
  455.  
  456. Requirements
  457.  * The ISDN hardware configuration functions.
  458.  * The ISDN driver has been loaded.
  459.  * You have your MSN/EAZ at hand.
  460.  * You know which protocol your ISP uses (syncPPP, rawip).
  461.  * You have the phone number of the ISP.
  462.  * You have your user name and password available.
  463.  * You know the Domain Name Server (DNS) of your provider.
  464.  
  465. These are the steps:
  466.  
  467.                                                                                      157
  468.  
  469.  
  470.  
  471. 6. Connecting to the World-and Then What?
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.                                 Figure 6.3: Network configuration with YaST
  489.  
  490.                1. Start YaST and change to `System administration', `Net-
  491.                   work configuration', `Network base configuration'.
  492.                   See Figure 6.3 for a screen shot.
  493.                2. Choose a number not already in use, e. g., 4.               
  494.                3. Now select the device `ISDN SyncPPP' by pressing  F5  
  495.                                                                                .
  496.                             
  497.                4. Press  F6  (`IP address') and enter:
  498.                   * IP address of your host: 192.168.0.99
  499.                   * IP address of the Point-to-Point partner: 192.168.0.1
  500.                5. Leave this window by pressing `Continue'.
  501.                               
  502.                6. Pressing  F4  activates the network device if you haven't done so already.
  503.                      
  504.                7.  F8  (`ISDN') lets you enter some ISDN-specific options. This is shown
  505.                   in Figure 6.4 on the next page.
  506.                   Now enter the following:
  507.                   * Your own telephone number (MSN): e.g. 123456
  508.                   * Number to be called: 012345678
  509.  
  510.                 You may need to dial a leading "0" for some PBXs.
  511.  
  512.                   * Numbers that are allowed to call:
  513.                      Only needed for dial-in servers (and we are currently dialing out).
  514.                   * Only given numbers are allowed:
  515.                      Set this to make sure nobody starts an unwanted connection to your
  516.                      machine!
  517.                   * Dialling Mode:
  518.                      With auto connections are made automatically if you try and access
  519.                      addresses which are normally only available via the ISDN interface.
  520.  
  521. 158
  522.  
  523.  
  524.  
  525.                                                                     6.2. ISDN Configuration
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.         Figure 6.4: Setting ISDN network parameters with YaST
  543.  
  544.      If manual is set it is necessary to make the connection by hand,
  545.      when required. With the off setting it is not possible to establish
  546.      connections via this ISDN interface.
  547.   * Idle time:
  548.      After a period of no use (idle time), the connection will be closed.
  549.   * Name of PPP login:
  550.      Enter the user name for your provider.
  551.   * Password of PPP login: Enter the password for your provider.
  552.      The password cannot be seen here, but is represented by asterisks. It
  553.      is stored in the file /etc/ppp/pap-secrets.
  554.            
  555.   Press  F1  to get additional help.
  556. 8. Confirm `Start'.
  557.   Now a network test is launched. You will get an error message if anything
  558.   goes wrong. There should not be any problems so far.
  559.   If OK: Please confirm with `Save'.
  560.      Now, your settings will be written to /etc/rc.config, and they
  561.      will remain active until you change them. The settings remain active
  562.      during and after the test.
  563.   If it fails: For some reason, the ISDN modules were not loaded. Look
  564.      for clues in /var/log/messages.
  565. 9. In YaST, go to the menu `Configuration nameserver' and an-
  566.   swer the question with Yes. Enter the IP number of your provider's
  567.   nameserver (DNS) here. If you don't know the IP number, you must ask
  568.   your provider. Or you can ask someone who is already using Linux in the
  569.   Internet to enter the following command in a terminal window (T-Online
  570.   is used here as an example):
  571.  
  572.                                                                                        159
  573.  
  574.  
  575.  
  576. 6. Connecting to the World-and Then What?
  577.  
  578.                   whois t-online.de
  579.                   You will then receive a message containing lines as shown in File con-
  580.                   tents 6.2.3.
  581.  
  582.                  domain:           t-online.de
  583.                  descr:            Deutsche Telekom AG, Telekom Online-Dienste
  584.                  descr:            Generaldirektion, GK361
  585.                  descr:            Postfach 2000
  586.                  descr:            D-53105 Bonn
  587.                  descr:            Germany
  588.                  admin-c:          KHS252-RIPE
  589.                  tech-c:           JS691-RIPE
  590.                  zone-c:           FS340-RIPE
  591.                  nserver:          dns00.btx.dtag.de
  592.  
  593.                        File contents 6.2.3: Output of whois t-online.de
  594.  
  595.                   In the line nserver: you can see the nameserver of your provider. Now
  596.                   all you need is the IP address for the name. To obtain this, enter the
  597.                   following command:
  598.                   host dns00.btx.dtag.de
  599.                   An answer is given, such as
  600.                       dns00.btx.dtag.de has address 194.25.2.129
  601.                   This, (194.25.2.129) would then be the IP address of the nameserver
  602.                   for T-Online.
  603.                   If the connection does not work:
  604.                    * Check /var/log/messages for "strange looking" output.
  605.                    * Try again using rawip access.
  606.                    * Is the MSN/EAZ correctly set up?
  607.                    * Do you need to dial a 0 first?
  608.                   Further tips can be found in the Support Database. This is available at:
  609.                   http://sdb.suse.de/sdb/en/html on our WWW server or via
  610.                   the SuSE help system (start by entering susehelp, or from the menu),
  611.                   assuming you have installed the package susehelp, series doc and the
  612.                   package sdb en, series doc.
  613.               10. The connection has now probably worked. Then you should go back to
  614.                   YaST, press the `Save' button and close YaST.
  615.  
  616.                Dynamic IP Numbers with syncPPP
  617.                In the case of dynamic IP addresses the dummy addresses given for private
  618.                use are just used as place markers until the connection is established.
  619.  
  620.                Additional Information
  621.                Further information on how to configure your ISDN subsystem for an ISDN
  622.                connection can be found from the following sources:
  623.  
  624. 160
  625.  
  626.  
  627.  
  628.                                                                            6.3. Cable Modems
  629.  
  630.  * File /usr/doc/packages/i4l/README.SuSE
  631.  * Support-Database: http://sdb.suse.de/sdb/en/html
  632.  * In the package i4ldoc (e. g. the ISDN-FAQ in the file: /usr/doc/
  633.    packages/i4ldoc/i4l-faq)
  634.  * /usr/doc/packages/inetcfg (package inetcfg): e. g.: T-
  635.    Online via ISDN
  636.  
  637. 6.2.6 ISDN Messages
  638. A typical "error" message cause from HiSaX consists of two parts, the
  639. location and the cause code. In the case of European ISDN this con-
  640. sists of 5 characters, Exxyy, whereby xx stands for the source of the error
  641. and yy for the cause of the message. HiSaX always creates this output in
  642. hexadecimal form. Some mesages are not really errors, but represent nor-
  643. mal behavior for a telephone connection ("engaged", "conenction ended by
  644. hanging up").
  645. There is a manpage specifically for these messages, providing a complete list
  646. of errors: see manpage for isdn cause (man isdn cause).
  647.  
  648. 6.3 Cable Modems
  649. In some European countries, as well as USA and Canada, Internet access
  650. via the TV cable network is very common. Here is a step by step guide on
  651. how to get into the Internet with the Austrian Telekabel service. It ought to
  652. transferable to other cable providers.
  653.  
  654. 6.3.1 The Basics
  655. The Telekabel participant receives a "modem" from the cable company which
  656. on one side is connected to the television cable, and on the other side, to a
  657. network card in the computer, by means of a 10Base-T cable (twisted-pair).
  658. This modem then represents a fixed line for the computer, usually with a fixed
  659. IP address.
  660.  
  661. Procedure for Installation
  662. 1. In case you already have a network card installed, carry on at item 8.   
  663. 2. As user `root', start the program YaST ¡ if you are in KDE: press  Alt  
  664.         
  665.    +  F2  
  666.          , then enter xterm. Start YaST in the new window.
  667. 3. Go to `System administration', `Integrate hardware
  668.    into system', `configure networking device'.
  669. 4. For `Network type', enter eth0.
  670. 5. For `Networking device type', select your card.
  671. 6. For `Module options', enter parameters such as IO port, etc.; on
  672.    kernel parameters, see chapter 14 page 325. Attention, if you have a PCI
  673.    card, you usually do not need to give any parameters.
  674. 7. Press `Continue'. Return to the YaST main menu (by pressing the
  675.       
  676.     Esc  key twice).
  677.  
  678.                                                                                         161
  679.  
  680.  
  681.  
  682. 6. Connecting to the World-and Then What?
  683.  
  684.                8. Go to `System administration', `Network configura-
  685.                    tion', `Network base configuration'.
  686.                9. You will now be in the window `Selection of Network'.
  687.                                
  688.               10. Press  F5  
  689.                               , to set up the Ethernet device (if it is not yet entered there
  690.                    under `device name', e. g.eth0).
  691.                                
  692.               11. Press  F3  and choose `DHCP'.
  693.                                
  694.               12. Press  F4  to activate this device.
  695.                                
  696.               13. With  F10  the configuration is saved.
  697.                                                    
  698.               14. Leave YaST by pressing the  Esc  key a few times.
  699.               15. You can now activate your network access by entering rcdhclient start.
  700.                    Then you can test the access, for example with ping www.suse.de.
  701.                This guide is for versions from SuSE 6.4, if you are still using version
  702.                SuSE 6.3, however, one extra step must be performed. With YaST, set the
  703.                rc.config variable to yes (see section 3.6.11 page 101 on how to do
  704.                this). Then the network is made available each time you boot, without you
  705.                having to enter a command specifically.
  706.                An alternative to this method ¡ if your IP address, network mask and gateway
  707.                are known, and are static ¡ is to set up a fixed network configuration (see
  708.                section 5.1 page 136). Find out from your cable operator if your IP address
  709.                is a permanent one. The advantage of a fixed configuration: If there is a fault
  710.                with cable access when booting, the boot process will continue normally, and
  711.                as soon as the net problem has been remedied, you can immediately reach the
  712.                Internet.
  713.  
  714.                6.4 T-DSL, T-ISDN-DSL, ADSL. . .
  715.                Internet access using Digital Suscriber Line technologies (including T-ISDN-
  716.                DSL, ADSL...etc.) under Linux is in development, although we can't give
  717.                any direct support on these.
  718.                In our Support database you'll find an article covering this issue, including
  719.                information on the newest developments. Read this article under http:
  720.                //sdb.suse.de/sdb/de/html/hoe_adsl_pppoe.html.
  721.  
  722.                6.5 Connecting a Modem
  723.                Connecting a modem to your machine is very straightforward; the modem is
  724.                connected to your machine via a serial cable. In YaST, you specify which
  725.                interface to use (see section 17.6Initializing Local Hardware (keyboard, mo-
  726.                dem, mouse,PCMCIA, etc.)section*.261, page 402). A link from the modem
  727.                device is created to /dev/modem, thus letting you access your modem, no
  728.                matter to which port it is connected.
  729.  
  730.                 There are so-called "WinModems" available commercially. These cur-
  731.                 rently do not run under Linux. Please also take a look at
  732.                 http://www.suse.de/sdb/en/html/cep_winmodem.html
  733.  
  734.                The usual terminal programs are minicom and seyon (but there are others as
  735.                well).
  736.  
  737. 162
  738.  
  739.  
  740.  
  741.                                              6.6. Connecting to the Internet: PPP with wvdial
  742.  
  743. minicom
  744. Minicom is a simple-to-use terminal program which resembles the DOS pro-
  745. gram Telix. This is not an introduction to minicom but a short overview of
  746. how to configure it.
  747. All users who want to use minicom have to be entered in the file /etc/
  748. minicom.users, which contains a list of which users can access which
  749. modem, and with what kind of permissions.
  750. Minicom is configured as follows (only as user `root'):
  751.     earth:/ # minicom -s
  752. The settings are self-explanatory.
  753.  
  754.                                     
  755.  The key combination  Ctrl  +  L  does not work in xterm or rxvt, but does
  756.  function in kvt and in the text console.
  757.  
  758. 6.6 Connecting to the Internet: PPP with wvdial
  759. The program wvdial is a very powerful tool used to make analogue PPP
  760. connections to Internet Service Providers, or  ISP. Since these ISP's often
  761. use different settings in their PPP protocols, it can be very tiresome to find the
  762. correct options. wvdial now sorts this out by means of intelligent algorithms.
  763. In the past, it was always necessary in Linux to specify the nameserver (DNS
  764. ¡ Domain Name System) of the ISP when making the Internet connection.
  765. This is no longer necessary with wvdial; it automatically recognizes the
  766. nameserver of the provider, provided that this information is made available.
  767.  
  768. 6.6.1 Configuration of wvdial
  769. You can configure wvdial comfortably from YaST. You will find the
  770. menu under `System Administration', `Network configu-
  771. ration', `Configure a PPP network'. The menu is shown in
  772. figure 6.5.
  773. Proceed as follows:
  774.  
  775.  * Make sure that you have already installed your modem in YaST; ei-
  776.     ther this was done in the course of the initial installation, or you can
  777.     do it now (as described in section 3.6.1Integrating Hardware into the
  778.     Systemsubsection.3.6.1, page 89).
  779.  * Select the menu item `Configure the current Profile'.
  780.  * Enter the telephone number, user identification and password.
  781.  * Select the automatic nameserver configuration. If this doesn't work, you
  782.     must specify the nameserver in YaST in the old way (cf. section 3.6.3Net-
  783.     work Configurationsubsection.3.6.3, page 95).
  784.  * Select your dialling mode. This is normally tone dialling.
  785.  * If you are connected to a PBX (private branch exchange), you should se-
  786.     lect the item `Modem on PBX (no dialtone)'; then no dialling
  787.     tone is expected.
  788.  
  789.                                                                                          163
  790.  
  791.  
  792.  
  793. 6. Connecting to the World-and Then What?
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.                                      Figure 6.5: Wvdial Configuration
  812.  
  813.  
  814.                 * For the dialling-in mode, normally `PPP-direct-PAP/CHAP'
  815.                   should be chosen.
  816.                 * Close the sub-menu.
  817.                 * After configuring the provider, you should go to modem recognition.
  818.                   Simply select the menu item `start modem recognition'.
  819.                 * If this functions, then select the item `Run WvDial'. You will then see
  820.                   a window in which various messages appear.
  821.                 * When you see the message that the PPP process has been started, you can
  822.                   start using the Internet.
  823.                 * To check if the connection has really been made, you need to open a
  824.                                                              
  825.                   further terminal window (in KDE:  Alt  +  F2  and then enter xterm). In
  826.                   the terminal window, enter:
  827.                       earth: # su
  828.  
  829.                   and then the `root' password. Then you should enter:
  830.                       earth: # tail -f /var/log/messages
  831.  
  832.                   Now you can view any system messages which may appear. As soon
  833.                   as you see lines with "Local IP:" and "Remote IP:" ¡ each fol-
  834.                   lowed by an IP number ¡ you can be quite sure that the connection to the
  835.                   Internet is running.                   
  836.                 * End Internet access with  Ctrl  +  c  .
  837.                 * If all this works, you can start Internet access from the command line by
  838.                                                                               
  839.                   simply entering wvdial, and stopping it with  Ctrl  +  c  
  840.                                                                              . If you want to
  841.                   be able to do this as a normal user as well, (i. e. not as `root'), then you
  842.                   must enter the appropriate user with YaST in the groups `uucp' and
  843.                   `dialout' (cf. section 3.6.8Group Administrationsubsection.3.6.8,
  844.                   page 100).
  845.  
  846. 164
  847.  
  848.  
  849.  
  850.                                           6.6. Connecting to the Internet: PPP with wvdial
  851.  
  852.  * You can change your configuration later on without YaST, using the pro-
  853.    gram wvdial.lxdialog, or in graphical form, with wvdial.tcl. These can
  854.    only be run as `root'.
  855.  
  856. Documentation on wvdial can be found in the directory /usr/doc/
  857. packages/wvdial.
  858.  
  859. wvdial for Normal Users, and Security
  860.  
  861. If you want normal users apart from `root' to be able make PPP connec-
  862. tions with wvdial, then you must, using YaST, enter the relevant user in the
  863. groups `uucp' and `dialout'; see Section 3.6.8 page 100.
  864. These users then also have access to the file /etc/wvdial.conf, which
  865. normally contains the login and password for Internet access. To increase
  866. security you can move the password to a protected file:
  867.  
  868. 1. Change to the directory /etc/ppp and as user `root', create the file
  869.    wvpw with the file permissions 600:
  870.        earth: # cd /etc/ppp
  871.        earth:/etc/ppp # touch wvpw
  872.        earth:/etc/ppp # chmod 600 wvpw
  873.  
  874. 2. Open the file wvpw with an editor and enter only the password there, then
  875.    save the file.
  876. 3. Check to see if the permissions for the file wvpw are correct;
  877.        earth:/etc/ppp # ls -l wvpw
  878.  
  879.    should give you confirmation of this; see Output 6.6.1.
  880.  
  881. -rw-------            1 root    root         7 Jan 18 17:20 wvpw
  882.  
  883.               Screen output 6.6.1: Ausgabe von ls -l wvpw
  884.  
  885. 4. Repeat the configuration as described in Section 6.6.1 page 163; as your
  886.    password, however, enter @/etc/ppp/wvpw (that's right, with the "at"
  887.    symbol in front). This informs wvdial that the password should be taken
  888.    from this file.
  889.  
  890. Modem Always Beeps Loudly
  891.  
  892. If your modem loudspeaker is too loud during connection, you can edit the
  893. file /etc/wvdial.conf and insert the line
  894.  
  895. Init3 = ATM0
  896.  
  897. This command switches your modem loudspeaker off.
  898.  
  899.                                                                                       165
  900.  
  901.  
  902.  
  903. 6. Connecting to the World-and Then What?
  904.  
  905.                6.6.2 Using Different Providers with wvdial
  906.                wvdial can look after any number of parameter sets. To do this, you can
  907.                additional sections in the file /etc/wvdial.conf, next to the section
  908.                Dialer Default. When starting wvdial with the name of such an extra
  909.                section, first the parameters from the "default" are read. All parameters which
  910.                are mentioned again in the additional section overwrite the previous values.
  911.                Here is a small example for T-Online and the Call-by-Call-Provider, Arcor
  912.                (file contents 6.6.1Using Different Providers with wvdialsubsection.6.6.2,
  913.                page 166). In this the YaST configuration is created. The file is extended
  914.                manually with the lines in file contents 6.6.2Using Different Providers with
  915.                wvdialsubsection.6.6.2, page 166.
  916.  
  917.                [Dialer Defaults]
  918.                Modem = /dev/ttyS0
  919.                Init1 = ATZ
  920.                Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0
  921.                Init3 = ATM0
  922.                Compuserve = 0
  923.                Tonline = 1
  924.                Dial Command = ATX3DT
  925.                Baud = 115200
  926.                Auto DNS = 1
  927.                Stupid Mode = 0
  928.                New PPPD = 1
  929.  
  930.                Phone =0,0191011
  931.                Username = ????????
  932.                Password = ???????
  933.                        File contents 6.6.1: /etc/wvdial.conf: Standard section
  934.  
  935.                [Dialer arcor]
  936.                Phone =           010700192070
  937.                Username = arcor
  938.                Password = internet
  939.                       File contents 6.6.2: /etc/wvdial.conf: Additional section
  940.  
  941.                If wvdial is called up without parameters, a connection is made to T-Online.
  942.                If you enter wvdial arcor a connection is made to Arcor. You should
  943.                also have a look at the manpage for wvdial (man wvdial).
  944.  
  945.                6.6.3 ISDN Terminal Adapter
  946.                These devices allow an ISDN connection. In contrast to normal ISDN
  947.                apadters, the computer and adapter are connected via a serial cable. Although
  948.                the adapters basically simulate an analog modem, these adapters have special
  949.                features; e.g.
  950.                 * they need special commands to allow a point-to-point connection and
  951.                 * by default, they issue expanded CONNECT messages.
  952.  
  953. 166
  954.  
  955.  
  956.  
  957.                                            6.6. Connecting to the Internet: PPP with wvdial
  958.  
  959. For this reason the modem configuration must be adjusted:
  960. 1. Do not use the automatic modem detection, which would otherwise
  961.    be performed via YaST, in the menu item `System administra-
  962.    tion' / `Network configuration' / `Configure a PPP
  963.    network' / `Autodetect Modem'.
  964. 2. Specify your modem interface in YaST in the menu `System admin-
  965.    istration' / `Integrate hardware into system' / `Mo-
  966.    dem configuration'.
  967. 3. Log in as `root'.
  968. 4. Create the file /etc/wvdial.conf by hand; this file is normally gen-
  969.    erated automatically. The file should have the same contents as displayed
  970.    in file contents 6.6.3ISDN Terminal AdapterItem.166, page 167.
  971.  
  972. [Dialer Defaults]
  973. Modem = /dev/modem
  974. Baud = 115200
  975. Init1 = <special entry1>
  976. Init2 = <special entry2>
  977. ; Phone =
  978. ; Username =
  979. ; Password =
  980.  
  981.  
  982.   File contents 6.6.3: /etc/wvdial.conf: Terminal adapter
  983.  
  984.    For <special entry1> and <special entry2> you must ¡ according to the
  985.    device ¡ enter the following values:
  986.    Vendor ELSA: ELSA MicroLink ISDN/TLpro and ISDN/TLV.34:
  987.       Init1 = AT&F\ N10%P1
  988.       Init2 = AT\ V0
  989.  
  990.    Vendor ELSA: ELSA TanGo 1000 and ELSA TanGo 2000:
  991.       Init1 = AT&F$IBP=HDLCP
  992.       Init2 does not apply
  993.  
  994.    Vendor Zyxel: all models:
  995.       Init1 = AT&FB40
  996.       Init2 = ATXO
  997.  
  998.    Vendor Hagenuk: Speed/Viper Dragon:
  999.       Init1 = ATZ
  1000.       Init2 = AT&FB8X0
  1001.  
  1002.    Other Vendors: You can look up the "initstring" specified by the vendor
  1003.       in the adapter documentation. Sometimes scripts for Unix or Linux are
  1004.       also included, from which this string can be taken. Or you can take a
  1005.       look at which initstring the adapter uses when it dials from a different
  1006.       system, for example in MS-Windows.
  1007.  
  1008.                                                                                        167
  1009.  
  1010.  
  1011.  
  1012. 6. Connecting to the World-and Then What?
  1013.  
  1014.                All other configuration steps should be carried out as described in the hand-
  1015.                book.
  1016.                Note: an ISDN-TA (phone adapter) should not be confused with a PBX
  1017.                device with an inbuilt ISDN card. Although these are connected via a serial
  1018.                cable, they use a proprietary protocol via the serial port, which is why they
  1019.                cannot be used in Linux. A CAPI driver which is included, must be installed
  1020.                on the PC which is currently not available from the vendors for Linux. This
  1021.                concerns the following devices:
  1022.  
  1023.                 * Eumex 404 PC
  1024.                 * Eumex 322 PCi
  1025.                 * AVM Fritz!XPCDr.
  1026.                 * Neuhaus Triccy Data LCR
  1027.  
  1028.                6.6.4 Configuring PCI Modems
  1029.  
  1030.                The IRQ and IO addresses of the serial ports are set by default in Linux to
  1031.                the values which are used by ISA cards. Thes values are a semi-standard and
  1032.                in many PCs, they ensure that no resource conflicts arise. Resources for PCI
  1033.                cards, however, are assigned by the BIOS at boot time, and do not necesarily
  1034.                match the traditional values, if the BIOS alone is left to decide.
  1035.                You should therefore proceed as follows when configuring wvdial:
  1036.  
  1037.                1. Ascertain the actual values which the BIOS has assigned to the serial port,
  1038.                   using the command scanpci -v. You need the interrupt (IRQ) and IO
  1039.                   addresses (IO port).
  1040.                2. Integrate the modem, using YaST via the items `System adminis-
  1041.                   tration' / `Integrate hardware into system' / `Modem
  1042.                   configuration'.
  1043.                   When doing this make note of a possible serial mouse and other serial
  1044.                   ports; in case of doubt, select /dev/ttyS2, in order to avoid any con-
  1045.                   flicts with additionally inserted, standard interface cards.
  1046.                3. The command setserial can be used to change the serial port. If the
  1047.                   modem, for example, occupies IRQ 5 and the IO address 0x220, but the
  1048.                   kernel expects interrupt 4 and port 0x02f8, you can remedy this with the
  1049.                   command
  1050.                         earth: # setserial /dev/ttyS2 irq 5 port 0x220
  1051.                   This command, however, now needs to be carried out every time the
  1052.                   ciomputer is started. To do this, you could make an entry in the file
  1053.                   /sbin/init.d/boot.local ¡ or as an alternative, you can adjust
  1054.                   the file /sbin/init.d/serial, in the start section:
  1055.                         run setserial /dev/ttyS2 irq 5 port 0x220
  1056.                   You can find more information on setserial in the manpage for setserial
  1057.                   (man setserial).
  1058.                4. To test if the configuration of the port is correct, you can enter
  1059.                   wvdialconf /dev/null. Then all ttySx ports are checked, and
  1060.                   your modem should be detected.
  1061.  
  1062. 168
  1063.  
  1064.  
  1065.  
  1066.                                            6.6. Connecting to the Internet: PPP with wvdial
  1067.  
  1068.    Hint: As an alternative to configuring with setserial, you can change the
  1069.    IRQ settings in the BIOS. This is only possible if your BIOS allows this,
  1070.    and the IO addresses do not have to be changed.
  1071.    To do this, you have to know in which PCI slots your interface cards are
  1072.    located. In the setup program of some BIOSes there is a submenu in
  1073.    which the settings of the PCI ports are determined. Here you can assign
  1074.    a specific interrupt (IRQ) to each slot. In most cases this will be IRQ 3
  1075.    or IRQ 4. The next time the computer starts the actual IRQ is adjusted to
  1076.    that which is set.
  1077.  
  1078. 6.6.5 Manual PPP Configuration for Experts
  1079.  
  1080. If your Internet connection with wvdial does not work, for whatever reason,
  1081. you can configure PPP here manually. If you have the choice, however, we
  1082. still recommend wvdial.
  1083.  
  1084.  Some sample configurations and scripts are located in package inetcfg,
  1085.  as well as in package ppp nt.
  1086.  
  1087. Notes on T-Online
  1088.  
  1089. The T-Online user name consists of the "Anschlusskennung" (Connection ID)
  1090. followed by the telephone number of the T-Online access (DxJ number), fol-
  1091. lowed by the "Mitbenutzernummer" (User Number) (4 digits). If the tele-
  1092. phone number is shorter than 12 digits you need to add a # at the end. Aliases
  1093. apparently don't work. An example:
  1094. Name: 01234567890123456789012#0001
  1095. Password: the normal T-Online password
  1096. Here is a list of the T-Online servers taken from our Support Database. You
  1097. might need these servers for your browsers and other tools.
  1098.  
  1099.  Nameserver:      dns00.btx.dtag.de              194.25.2.129
  1100.  SMTP server: mailto.btx.dtag.de send mails
  1101.  POP server:      pop.btx.dtag.de                receive mails via "popclient"
  1102.  NNTP server: news.btx.dtag.de                   News server
  1103. If necessary and/or possible you should enter the proxy sites as well:
  1104.  
  1105.  FTP proxy:        ftp-proxy.btx.dtag.de                   FTP proxy
  1106.  HTTP proxy:       www-proxy.btx.dtag.de                   WWW proxy
  1107.  Wais proxy:       wais-proxy.btx.dtag.de                  Wais proxy
  1108.  Gopher proxy: gopher-proxy.btx.dtag.de Gopher proxy
  1109.  
  1110. Creating a Connection
  1111.  
  1112. There are two steps involved in creating a PPP link.
  1113.  
  1114.  * First, the connection between both modems is established. This part is
  1115.    performed by chat.
  1116.  
  1117.                                                                                        169
  1118.  
  1119.  
  1120.  
  1121. 6. Connecting to the World-and Then What?
  1122.  
  1123.                 * When the connection is up and running, chat takes care of the login pro-
  1124.                       cedure with the server, and then passes control over to the PPP daemon.
  1125.                       The daemon then initializes the PPP protocol.
  1126.  
  1127.                After installation of package inetcfg you will find the script ppp-up in
  1128.                /usr/doc/packages/inetcfg. Now copy this script to /etc/ppp
  1129.                and adapt it to your needs.
  1130.                The script ppp-up then establishes the PPP connection:
  1131.  
  1132.                  #!/bin/sh
  1133.                  ## /etc/ppp/ppp-up
  1134.                  ## Establishing a PPP-connection
  1135.                  #
  1136.  
  1137.                  localip=0.0.0.0
  1138.                  remoteip=
  1139.                  device=/dev/modem
  1140.                  pppflags=``38400 modem debug defaultroute''
  1141.                  /usr/sbin/pppd lock connect
  1142.  
  1143.                              '/usr/sbin/chat -v -f /etc/ppp/ppp.chat'
  1144.  
  1145.                              $device $pppflags $localip:$remoteip
  1146.  
  1147.                                    File contents 6.6.4: /etc/ppp/ppp-up
  1148.  
  1149.                First, the IP-addresses of the client and server are set. If 0.0.0.0 is en-
  1150.                tered for the client, and the server-address is empty, pppd obtains both these
  1151.                addresses from the server. If the addresses are fixed, or a dynamic address-
  1152.                allocation is not what you want, you have to enter the appropriate number
  1153.                here instead.
  1154.                Then the device to which the modem is connected is specified. The flags
  1155.                tell pppd to operate the modem at a speed of 38400 bps and to write the
  1156.                PPP connection into the kernel's routing table as the default route. pppd
  1157.                has many more options and flags. A detailed description can be found in
  1158.                the manpage for pppd (man 8 pppd) and the PPP Howto. Our example,
  1159.                however, should work in most cases.
  1160.                Then chat takes on the task of establishing the modem connection.
  1161.                The script /etc/ppp/ppp.chat determines how this is done:
  1162.                The ABORT lines determine for which answers of the modem the connec-
  1163.                tion failed. With the line +++ATZ the modem is initialized. The line
  1164.                ATDT<499113247122> dials the server. If the string CONNECT is re-
  1165.                ceived by the modem, then the login process can begin. First the login name
  1166.                and then the password is sent to the server. More information about chat can
  1167.                be found in the manpage for chat (man 8 chat).
  1168.                If both files are suitably configured and their attributes set properly, then all
  1169.                you need to make the connection is to run the script ppp-up.
  1170.  
  1171. 170
  1172.  
  1173.  
  1174.  
  1175.                                             6.6. Connecting to the Internet: PPP with wvdial
  1176.  
  1177.   TIMEOUT 30
  1178.   ABORT ''NO CARRIER''
  1179.   ABORT BUSY
  1180.   ABORT ``NO DIALTONE''
  1181.   ABORT ERROR
  1182.   ``'' +++ATZ
  1183.   OK ATDT49911123456
  1184.   CONNECT ``''
  1185.   ogin:--ogin: <ppplogin>
  1186.   word: <ppppassword>
  1187.  
  1188.                 File contents 6.6.5: /etc/ppp/ppp.chat
  1189.  
  1190.  
  1191. The connection is closed by stopping PPP daemon. This can be done, for
  1192. example, with the script /etc/ppp/ppp-down:
  1193.  
  1194.  If you have installed ppp-up in /etc/ppp/ppp-up, as described in this
  1195.  chapter, it will not be in your PATH; for this reason you must specify the
  1196.  full path name:
  1197.        earth:/root # /etc/ppp/ppp-up
  1198.  You should set the attribute `x' of this file beforehand with:
  1199.        earth:/root # chmod 755 /etc/ppp/ppp-up
  1200.  
  1201. The connection is closed by stopping the PPP daemon. This can be done, for
  1202. example, with the script /etc/ppp/ppp-down:
  1203.  
  1204.   #!/bin/sh
  1205.   ## /etc/ppp/ppp-down
  1206.   ## Terminating PPP-connection
  1207.   #
  1208.  
  1209.   kill `cat /var/run/ppp0.pid`
  1210.  
  1211.  
  1212.                 File contents 6.6.6: /etc/ppp/ppp-down
  1213.  
  1214.                                      
  1215. Make sure you don't forget the  `  character. This is known as a command
  1216. substitution, by means of which the output of cat /var/run/ppp0.pid
  1217. is passed to the kill program.
  1218.  
  1219. Customizing the chat Script
  1220.  
  1221. The script /etc/ppp/ppp.chat needs to be adjusted to your personal
  1222. details, of course. Besides login name and password the whole login sequence
  1223. might be different. In some rare cases it might be necessary to start the ppp
  1224. protocol on the other side (e. g. with ppp default). All this cannot be described
  1225. in general terms.
  1226.  
  1227.                                                                                         171
  1228.  
  1229.  
  1230.  
  1231. 6. Connecting to the World-and Then What?
  1232.  
  1233.                Unless special authentication processes, such as PAP or CHAP, are used, the
  1234.                login sequence is similar to a normal terminal login, except that this is done
  1235.                automatically by the script, rather than by hand.
  1236.                For this reason you can proceed as follows:
  1237.                 * Read carefully the information from your service provider, and ask them
  1238.                    if there is a script already adapted to your needs. If this is the case we are
  1239.                    very interested in feedback, so that we can collect these scripts for our
  1240.                    distribution. The scripts we have collected so far can be viewed directly
  1241.                    in our Support DataBase:
  1242.  
  1243.                    http://sdb.suse.de/sdb/en/html
  1244.                 * Please have pencil and paper at hand!
  1245.                 * Take one of the terminal programs (e. g. minicom) and log in manually.
  1246.                    Please note exactly what is sent by your provider, in what order, and
  1247.                    what input is needed from your side. Most terminal programs (including
  1248.                    minicom) enable you to automatically protocol all your text on screen.
  1249.                                                                       
  1250.                    With minicom, this is achieved by  Ctrl-A   L  
  1251.                                                                     .
  1252.                 * Continue doing so until the remote station changes into ppp mode,
  1253.                    which normally happens when a message such as: "ppp-protocol
  1254.                    started" is seen.                                                             
  1255.                 * The existing connection is now killed, i. e., hung up (minicom:  Ctrl-A  
  1256.                       
  1257.                     H  
  1258.                       )                                                 
  1259.                 * End the terminal program (Minicom  Ctrl-A   X  
  1260.                                                                           ).
  1261.                 * Using this protocol, you can now customize your chat script.
  1262.                A few more explanations concerning chat:
  1263.                First chat is initialized
  1264.                    TIMEOUT 30
  1265.                    ABORT "NO CARRIER"
  1266.                    ABORT BUSY
  1267.                    ABORT "NO DIALTONE"
  1268.                    ABORT ERROR
  1269.  
  1270.                 The TIMEOUT is dependent on the time needed for the connection to be
  1271.                 made, and in some cases has to be increased (e. g. to 60)
  1272.  
  1273.                The ABORT commands define which replies from the modem will terminate
  1274.                the script.
  1275.                The next lines almost always resemble the following syntax:
  1276.                The first parameter (up to the first "white-space") defines what message the
  1277.                modem is to wait for. If this string is sent by the modem, the rest of the line
  1278.                will be processed.
  1279.                    "" +++ATZ
  1280.                Here no string is awaited, the modem is initialized immediately. This depends
  1281.                on your modem type and on the profiles stored in it. Normally ATZ profile
  1282.                0 (when it is switched on) is loaded. You might need to make some changes
  1283.  
  1284. 172
  1285.  
  1286.  
  1287.  
  1288.                                       6.7. Masquerading and Firewalls ¡ Friends and "Friends"
  1289.  
  1290. here. It is best to compare this string with terminal programs that are already
  1291. running (e. g. your existing DOS or Windows software).
  1292.  
  1293.  If your modem does not do what you want it to, this could be due to a
  1294.  misconfigured modem (here an ATZ command is no use). Entering AT&F
  1295.  (in minicom, for example) resets the modem to its factory settings.
  1296.  
  1297. Now you can dial and start the login sequence, for example:
  1298.     OK ATDTtelephonenumber
  1299.     CONNECT ""
  1300.     ogin:--ogin: account
  1301.     word: accountpasswd
  1302. Obviously, you need to replace telephonenumber, account and
  1303. accountpasswd with your own values.
  1304. Be aware that here only word is looked for, because the remote station could
  1305. send Password, password or just word.
  1306. The line
  1307.     ogin:--ogin:
  1308. ought to be flexible enough because it sends a return if the first string (ogin)
  1309. is not found, and then stands by waiting for ogin again.
  1310. Further information and examples can be found in manpage for chat
  1311. (man 8 chat).
  1312. Here you will find the encouraging comment:
  1313.     " In actual practice, simple scripts are rare. "
  1314.  
  1315.  The script should not contain any blank lines, blanks (white spaces) at the
  1316.  beginning of a line, or comments!
  1317.  
  1318. Now test the connection with the command /etc/ppp/ppp-up. Any error
  1319. messages (from the chat script, for example) will not be shown on screen, but
  1320. in /var/log/messages. It is useful to have a second terminal running,
  1321. where you can enter the command tail -f /var/log/messages;
  1322. then you can immediately see if any important messages are displayed.
  1323.  
  1324. 6.7 Masquerading and Firewalls ¡ Friends and "Friends"
  1325. Many users of SuSE Linux use their computers to dial in to the Internet or
  1326. a router for leased-line access. Often when doing this, private IP addresses
  1327. are used in the local network ¡ these can, therefore, not access the Internet
  1328. directly. To allow such an access for the internal network there is the possi-
  1329. bility of "masquerading". You should install the package firewals from
  1330. series sec for this. This package contains a script for masquerading and fire-
  1331. walls. Both are controlled by the configuration file /etc/rc.firewall.
  1332. It is sensible to set up a firewall at the same time, so that the system is better
  1333. protected against attacks from the outside. You really should read the docu-
  1334. mentation on this in /usr/doc/packages/firewals.
  1335.  
  1336.                                                                                          173
  1337.  
  1338.  
  1339.  
  1340. 6. Connecting to the World-and Then What?
  1341.  
  1342.                 There is no guarantee that the procedures given here work and do no harm.
  1343.                 So if a hacker gets into your system, even though you did follow the rules,
  1344.                 do not blame the authors. We would highly appreciate it, instead, if you
  1345.                 would tell us the details of your experiences at feedback@suse.de!
  1346.  
  1347.                6.7.1 The Basics of Masquerading
  1348.                You need to have two different network devices for masquerading. At least
  1349.                one of them is an Ethernet card, to which the inner (internal) network card is
  1350.                connected. As a network address, this network should use a private address
  1351.                reserved for this purpose, e.g. e. g.192.168.0.0 to 192.168.255.255.
  1352.                In the configuration example we are assuming that the router (which we are
  1353.                going to configure here) is set to the address 192.168.0.1 for the network
  1354.                card pointing to the internal network. The computers of the internal network
  1355.                then have IP addresses such as 192.168.0.2 or 192.168.0.3, etc.
  1356.                The external network device is, for example, the ISDN card, which is used for
  1357.                Internet access, or a leased-line connected to an Ethernet network card, which
  1358.                is what we have assumed in our example. Its configuration is explained below.
  1359.  
  1360.                6.7.2 The Basics of the Firewall
  1361.                Strictly speaking this package does not contain a "firewall", but a "packet
  1362.                filter". A packet filter firewall protects the network from unauthorized access
  1363.                to IP addresses and ports which have not been explicitly enabled. If your
  1364.                computer is a web server, however, and you make port 80 available for this
  1365.                computer ¡ which you must do, in order for the web server to be accessible
  1366.                from the outside ¡ then this computer will not be protected against attacks on
  1367.                this port, of course. This packet filter firewall cannot, and is not intended to,
  1368.                replace a firewall on the application level, such a firewall should be set up by
  1369.                a professional. It is, however, reassuring for the security of your system to
  1370.                use this firewall for home use.
  1371.  
  1372.                6.7.3 Configurating Masquerading and/or the Firewall
  1373.                Documentation on the SuSE firewall can be found in /usr/doc/packages/
  1374.                firewall ¡ theoretical considerations are presented in chapter 18.1
  1375.                page 413 pp.
  1376.                The entire configuration is done in /etc/rc.firewall and is in English.
  1377.                Here is a step by step guide on how to configure the firewall. Each item
  1378.                specifies whether it is for masquerading or firewall. In the configuration file
  1379.                there is also mention of a DMZ ("Demilitarized Zone"), which we won't go
  1380.                into further at this point.
  1381.                If you really only need masquerading, then just fill out those lines marked
  1382.                with masquerading.
  1383.                 * FW START (Firewall, Masquerading): Set to yes for this script to be
  1384.                    started; this is how firewall and/or masquerading is enabled.
  1385.                 * FW DEV WORLD (Firewall, Masquerading): For exampleeth0. This is
  1386.                    the device which points out to the Internet. For ISDN this is, for example,
  1387.                    ippp0.
  1388.  
  1389. 174
  1390.  
  1391.  
  1392.  
  1393.                                 6.7. Masquerading and Firewalls ¡ Friends and "Friends"
  1394.  
  1395. * FW DEV INT (Firewall, Masquerading): The device which points to the
  1396.   internal, "private" network. If no internal network is present ¡ e.g. the
  1397.   firewall is protecting just this computer, leave this empty.
  1398. * FW ROUTE (Firewall, Masquerading): If you need masquerading, you
  1399.   must enter yes here. For a firewall without masquerading, only if you
  1400.   want to have access to the internal network. This only works if the internal
  1401.   computers have officially assigned IP addresses. Normally you should
  1402.   not allow access from outside to the internal machines. If you enter
  1403.   yes here, because of masquerading, your internal computers are still
  1404.   not visible from outside, because these have private network addresses
  1405.   (e. g.192.168.x.x)and therefore cannot be routed in the Internet.
  1406. * FW MASQUERADE (Masquerading): If you need masquerading you must
  1407.   enter yes here. Note that it is safer if the computers of the internal
  1408.   network access the Internet via a proxy server.
  1409. * FW MASQ NETS (Masquerading): Enter the computers and/or networks
  1410.   for which masquerading should be carried out. Separate individual entries
  1411.   with a space. ¡ Example:
  1412.       FW MASQ NETS="192.168.0.0/24 192.168.10.1"
  1413.  
  1414. * FW PROTECT FROM INTERNAL (Firewall): Enter yes here if you want
  1415.   to protect the firewall computer from attacks from the internal network.
  1416.   Then you must explicitly release the services which are to be made avail-
  1417.   able to the internal network. See also FW SERVICES INTERNAL TCP
  1418.   and FW SERVICES INTERNAL UDP.
  1419. * FW AUTOPROTECT GLOBAL SERVICES (Firewall): Normally you can
  1420.   leave this set to yes.
  1421. * FW SERVICES EXTERNAL TCP (Firewall): Enter the services here
  1422.   which are to be accessed; e. g."www smtp ftp domain 443" ¡
  1423.   for the computer at home, which should not offer any services, you will
  1424.   normally leave this empty.
  1425. * FW SERVICES EXTERNAL UDP (Firewall): If you are not operating a
  1426.   name server which needs to be accessed from outside, leave this blank.
  1427.   Otherwise you should add the necessary ports here.
  1428. * FW SERVICES INTERNAL TCP (Firewall): See details on the variables
  1429.   FW SERVICES EXTERNAL TCP, but access is controlled from the in-
  1430.   ternal network.
  1431. * FW SERVICES INTERNAL UDP (Firewall): See above.
  1432. * FW TRUSTED NETS (Firewall): Here you should enter the computers
  1433.   which you can really trust ("Trusted Hosts"). Note that these computers
  1434.   also need to be protected from intruders. Example: "172.20.0.0/16 172.20.1.1"
  1435.   means that all computers whose IP addresses start with 172.20.x.x
  1436.   and the computer with the IP address 172.20.1.1 are allowed through
  1437.   the firewall.
  1438. * FW SERVICES TRUSTED TCP (Firewall): Here you can specify the
  1439.   TCP port addresses which may be used by the "Trusted Hosts". Enter,
  1440.   for example, 1:65535 if the trusted computers are allowed to access all
  1441.   services. Normally it is sufficient if you enter ssh as the service.
  1442.  
  1443.                                                                                    175
  1444.  
  1445.  
  1446.  
  1447. 6. Connecting to the World-and Then What?
  1448.  
  1449.                 * FW SERVICES TRUSTED UDP (Firewall): As above, but refers to UDP.
  1450.                 * FW ALLOW INCOMING HIGHPORTS TCP (Firewall): If you want to
  1451.                    have normal (active) FTP, then you should enter ftp-data here.
  1452.                 * FW ALLOW INCOMING HIGHPORTS UDP (Firewall): Enter dns in or-
  1453.                    der to be able to use the name servers specified in /etc/resolv.
  1454.                    conf. With yes you enable all high port numbers.
  1455.                 * FW SERVICE DNS (Firewall): If a name server is running which is to be
  1456.                    accessed from outside, enter yes here; at the same time port 3 must be
  1457.                    enabled in FW TCP SERVICES *.
  1458.                 * FW SERVICE DHCLIENT (Firewall): If you use dhclient to obtain your
  1459.                    IP address, then you must enter yes here.
  1460.                 * FW LOG *: Here you can determine what you want to protocol. For
  1461.                    normal operation, setting yes in FW LOG DENY CRIT is sufficient.
  1462.                 * FW STOP KEEP ROUTING STATE (Firewall): If you acess the Internet
  1463.                    automatically with diald or via ISDN (dial on demand), then emter yes
  1464.                    here.
  1465.  
  1466.                That's it. Don't forget to test the firewall (e. g.with telnet from outside);
  1467.                you should then see something like the following entries in /var/log/
  1468.                messages:
  1469.  
  1470.                Feb 7 01:54:14 www kernel: Packet log: input DENY eth0
  1471.                PROTO=6 129.27.43.9:1427 195.58.178.210:23 L=60 S=0x00
  1472.                I=36981 F=0x4000 T=59 SYN (#119)
  1473.  
  1474.                6.8 Let's Write-Configuration of e-mail
  1475.                If a connection to the outer world has been established, be it via PPP, UUCP,
  1476.                or ISDN, it should be used to do something. A rather typical application
  1477.                is  electronic mail , or e-mail. This section describes the configuration of
  1478.                sendmail.2
  1479.                sendmail has to decide how to deliver incoming and outgoing electronic mail.
  1480.                This might be either via a TCP/IP network using the SMTP protocol, or by
  1481.                using another transport agent, such as UUCP.
  1482.                sendmail's main configuration file is called /etc/sendmail.cf. If you
  1483.                have a normal and simple configuration, you may set up the necessary param-
  1484.                eters using YaST. YaST then creates a valid /etc/sendmail.cf for you.
  1485.                All settings are written to /etc/rc.config and YaST will create the file
  1486.                /etc/sendmail.cf for you, using the parameters given there.
  1487.                As sendmail configuration is rather complex, SuSE provides two preconfig-
  1488.                ured settings that should be sufficient in most cases.
  1489.                If you plan to use sendmail within a TCP/IP network, make sure you have a
  1490.                valid DNS server. Here, you need to set up one ("MX record" mail exchange
  1491.                record) entry per name. The current settings may be checked with the host
  1492.                command (in package bind):
  1493.                2 There are alternatives to sendmail, two being smail and qmail. These are not covered in this
  1494.                book.
  1495.  
  1496. 176
  1497.  
  1498.  
  1499.  
  1500.                                                   6.8. Let's Write-Configuration of e-mail
  1501.  
  1502.    earth: # host helios.cosmos.com
  1503.    helios.cosmos.com address 192.168.0.1
  1504.    helios.cosmos.com mail is handled (pri=10)
  1505.                                by helios.cosmos.com
  1506.    helios.cosmos.com mail is handled (pri=100)
  1507.                                by mail-relay.cosmos.com
  1508. If there is no entry for mail, you should ask your system administrator for
  1509. help.
  1510. The following electronic mail variables may be set by YaST in /etc/rc.
  1511. config (see Section 17.6 page 400):
  1512.  
  1513.  * SENDMAIL TYPE="yes"
  1514.    This variable has to be set to yes if the sendmail configuration file is to
  1515.    be created using the values in /etc/rc.config. If you want to create
  1516.    a /etc/sendmail.cf yourself, answer no here.
  1517.  * SENDMAIL LOCALHOST="localhost www.cosmos.com"
  1518.    sendmail needs to know which electronic mail should be stored locally
  1519.    and which needs to be delivered to another host. Only electronic mail
  1520.    to the local host itself is saved locally by default. By entering a list in
  1521.    SENDMAIL LOCALHOST, you can configure other names that should be
  1522.    considered a local host.
  1523.  
  1524.    Example: the name of the machine is helios.cosmos.com. It serves
  1525.    as a WWW site for www.cosmos.com. To accept electronic mail that
  1526.    is sent to www.cosmos.com, you need to enter the following line:
  1527.    SENDMAIL LOCALHOST="localhost www.cosmos.com".
  1528.  * FROM HEADER=cosmos.com
  1529.    Normally, the local machine's name is used as the from header. This
  1530.    may be set to a different name:
  1531.    Example: The machine's name is earth.cosmos.com. You want to
  1532.    send electronic mail as newbie@cosmos.com. This may be achieved
  1533.    with the parameter:
  1534.    FROM HEADER=cosmos.com.
  1535.  * SENDMAIL SMARTHOST=mail-server.provider.de
  1536.    sendmail asks for the DNS names of every mail that is not delivered
  1537.    locally and tries to send the electronic mail via the SMTP protocol. This
  1538.    host might be anywhere on the Internet and could have a rather slow
  1539.    connection to the local host. Setting this parameter allows you to set
  1540.    up an intermediate host that gets all your outgoing mail. Then this host
  1541.    becomes responsible for delivering your electronic mail.
  1542.  
  1543.    First example: This is for a dialup connection. Thus, you deliver all of
  1544.    your electronic mail directly to your ISP:
  1545.    SENDMAIL SMARTHOST=smtp:mail-server.provider.de.
  1546.    Second example:
  1547.    If you are connected via UUCP, you may send all electronic mail that is
  1548.    not local to your UUCP server:
  1549.    SENDMAIL SMARTHOST=uucp-dom:uucp.cosmos.com.
  1550.  
  1551.                                                                                       177
  1552.  
  1553.  
  1554.  
  1555. 6. Connecting to the World-and Then What?
  1556.  
  1557.                 * SENDMAIL NOCANONIFY=no
  1558.                    sendmail tries to resolve each and every e-mail address from the mail
  1559.                    header and replaces each name with its "Fully Qualified Domain Name"
  1560.                    (FQDN). If there is no DNS server available (due to a dialup connection
  1561.                    perhaps) and you enter the name correctly, you may switch this off by
  1562.                    setting it to yes.
  1563.                 * SENDMAIL ARGS="-bd -q30m -om"
  1564.                    This is how sendmail will be invoked at bootup. -q30m tells sendmail
  1565.                    to check /var/spool/mqueue every 30 minutes if there is electronic
  1566.                    mail waiting. -bd starts sendmail in "daemon mode" this enables you to
  1567.                    accept electronic mail via the TCP/IP network. If you only have a dialup
  1568.                    connection, you may omit the -q30m and invoke sendmail directly with
  1569.                    sendmail -q. This might be done via a crontab entry once or twice a
  1570.                    day. In addition, you may enter sendmail -q into your scripts that establish
  1571.                    the connection to your ISP. This lets you exchange electronic mail every
  1572.                    time you connect to the net.
  1573.                 * SENDMAIL EXPENSIVE=no
  1574.                    Normally, sendmail tries to deliver the electronic mail immediately via
  1575.                    SMTP. If you are only temporarily connected, this might not be what you
  1576.                    need, as a connection will be established each time you write an electronic
  1577.                    mail. If you set this to yes the mail will be queued in /var/mqueue
  1578.                    and delivered as soon as you launch sendmail -q.
  1579.  
  1580.                All locally delivered electronic mail is handled and saved to the local elec-
  1581.                tronic mail folder /var/spool/mail/<name> by procmail. Please
  1582.                have a look at the manpage for procmailrc (man procmailrc), the
  1583.                manpage for procmail (man procmail) as well as the manpage for
  1584.                procmailex (man procmailex) for a description of this extremely ver-
  1585.                satile tool.
  1586.                If you do not deliver remote electronic mail immediately, it is saved to the
  1587.                queue directory /var/mqueue and delivered at the next run of sendmail.
  1588.                You could also launch sendmail directly by entering sendmail -q.
  1589.                There are further settings that can be made, for example in /etc/aliases
  1590.                and some other files in /etc/mail/. There are commented examples in-
  1591.                cluded in these files. Some files need to be translated to databases using the
  1592.                makemap tool. This is invoked automatically if you start SuSEconfig or when
  1593.                you leave YaST.
  1594.                If you need a more complex configuration of sendmail, you should disable the
  1595.                automatic setup of /etc/sendmail.cf by setting SENDMAIL TYPE=no.
  1596.                Then you may use /etc/mail/linux.mc as a template for your config-
  1597.                uration. linux.mc is written using m4 commands.
  1598.                    earth: # m4 /etc/mail/linux.mc > /etc/sendmail.cf
  1599.                creates a valid sendmail configuration by using the macros in /usr/
  1600.                share/sendmail .
  1601.                Further documentation my be found in /etc/mail, /usr/share/
  1602.                sendmail as well as /usr/doc/packages/sendmail. There is a
  1603.                web site at http://www.sendmail.org/. If you need to set up even
  1604.  
  1605. 178
  1606.  
  1607.  
  1608.  
  1609.                                                      6.9. News: Brand-New Messages from USENET
  1610.  
  1611. more complex configurations, you will also need the sendmail book from
  1612. O'Reilly.3 This describes sendmail in all its gory detail.
  1613.  
  1614. 6.9 News: Brand-New Messages from USENET
  1615. One of the most important services provided by the Internet is the transport
  1616. and delivery of news sorted into different groups. This part of the Internet is
  1617. often referred to as the Usenet. Only through the existence this medium was
  1618. the development of Linux at all possible. And only by means of this highly
  1619. efficient form of communication, was and is it possible to rapidly develop and
  1620. remove program bugs4. Moreover USENET is an important support medium
  1621. for Linux users world wide.
  1622. A complete description of the news system with all its thousands of possibil-
  1623. ities (such as forwarding news to other machines) is far beyond the scope of
  1624. this book. Only a basic local system is described here.
  1625.  
  1626.  Large systems should consider using the package inn, series n. Docu-
  1627.  mentation on INN may be found in /usr/doc/packages/inn. You
  1628.  should prefer INN to other news readers if you are working with UUCP.
  1629.  There is no installation support for the INN configuration (see Sec-
  1630.  tion H.1.2 page 493) But we are very willing to help you within the frame-
  1631.  work of our pay service, Professional Services (see Section H.3 page 497).
  1632.  
  1633. 6.9.1 The Leafnode News System
  1634.  
  1635. The package leafnode is a perfect news system for smaller networks
  1636. or standalone machines. It consists of several parts: the NNTP server
  1637. leafnode, the program leafnode (previously, fetch), to retrieve news
  1638. articles and the program texpire for deleting old articles. As add-ons
  1639. there are tools to maintain the huge amount of data which can gather in
  1640. /var/spool/news. Documentation on all the components can be found
  1641. in /usr/doc/packages/leafnode, as well as in the manpage for
  1642. leafnode (man 8 leafnode) and  manpages.
  1643.  
  1644.  Please follow the update instructions in Section 15.2.8 page 367.
  1645.  
  1646. Requirements for Leafnode
  1647.  
  1648.  * You need to be capable of connecting to an external NNTP server, either
  1649.     via modem (PPP), ISDN or another network connection (e. g. Ethernet).
  1650.     This server feeds you with news. If in doubt, contact your ISP to get more
  1651.     information on the NNTP server.
  1652.  * The package leafnode, series n needs to be installed.
  1653.  * Plenty of free space in /var/spool/news . . .
  1654.  * Next you will need to follow the steps listed for configuring leafnode.
  1655.  
  1656. 3 See [CAR93].
  1657. 4 although much of this functionality has meanwhile been overtaken by "mailing lists"
  1658.  
  1659.                                                                                            179
  1660.  
  1661.  
  1662.  
  1663. 6. Connecting to the World-and Then What?
  1664.  
  1665.                Local NNTP Server
  1666.                First, make sure that leafnode runs as a local NNTP server.
  1667.  
  1668.                1. In the file /etc/rc.config set the variable <NNTPSERVER> to
  1669.                    the value localhost. You could enter your real hostname here (e. g.
  1670.                    earth), of course. This is absolutely essential in a network environ-
  1671.                    ment. Setting the variable <NNTPSERVER> is best done with YaST
  1672.                    (see Section 3.6.11 page 101), as YaST automatically launches SuSecon-
  1673.                    fig.
  1674.                2. Next you will need to adapt /etc/leafnode/config with an 
  1675.                    editor. Here you need to enter the name of your ISP's NNTP server (at
  1676.                    server =).
  1677.                3. Make sure that leafnode is launched by inetd. Uncomment the nntp
  1678.                    entry in /etc/inetd.conf (see File contents 6.9.1).
  1679.                4. Restart the inetd. You may use rcinetd restart.
  1680.  
  1681.                nntp           stream tcp      nowait news           /usr/sbin/tcpd
  1682.                                                                     /usr/sbin/leafnode
  1683.  
  1684.                                  File contents 6.9.1: inetd entry for leafnode
  1685.  
  1686.                Now everything is set up so that you can contact your news server for the very
  1687.                first time.
  1688.  
  1689.                 telnet localhost 119 lets you check whether leafnode reacts. If
  1690.                 so, typing quit will bring you back to the command line.
  1691.  
  1692.                Initialize and Maintain the News System
  1693.                Now you can initialize the system. Start a connection to your ISP (via mo-
  1694.                dem or ISDN). At the first connect fetchnews will get a list of the available
  1695.                news groups from the news server. They are saved to /var/spool/news/
  1696.                interesting.groups. If you want more extensive information, launch
  1697.                fetchnews with the -vvv option:
  1698.                    earth:  # fetchnews -vvv
  1699.                Articles are not yet available at this point. Anyway you will need to launch
  1700.                an NNTP news reader and view the (still empty) groups (see Section 6.9.1 on
  1701.                the facing page). leafnode recognizes this and, with the next invocation of
  1702.                fetchnews, the group should be filled with articles.
  1703.                If you don't want to enter fetchnews manually every time you go online,
  1704.                you could add it to your /etc/ppp/ip-up script.
  1705.  
  1706.                Maintaining the News System
  1707.                leafnode has been designed to more or less maintain itself. This means that
  1708.                groups that have not been read for a certain time are no longer collected by
  1709.                fetchnews.
  1710.  
  1711. 180
  1712.  
  1713.  
  1714.  
  1715.                                                                         6.10. Faxing with Linux
  1716.  
  1717. 0 22 * * * root test -x /usr/sbin/texpire && /usr/sbin/texpire
  1718.  
  1719.      File contents 6.9.2: Expire entry for leafnode in /etc/crontab
  1720.  
  1721. The only thing one really has to do is make sure that old articles are deleted.
  1722. This is done with texpire. A suitable entry in /etc/crontab has already
  1723. been entered; just remove the leading `#', as shown in File contents 6.9.2.
  1724. Explanations on configuration possibilities of /etc/leafnode/config
  1725. may be found in the manpage for leafnode (man leafnode).
  1726.  
  1727. Reading the News
  1728. There are several tools for reading news, such as nn, tin or pine. Even
  1729. Netscape or Emacs may be used. It is basically a personal decision as to
  1730. which news reader you prefer. Most of the news readers may be set up so they
  1731. can access a news server as well as the local spool directory. Preconfigured
  1732. packages may be found in the series n of SuSE Linux.
  1733. If you want to use tin to connect to the leafnode NNTP server (see Sec-
  1734. tion 6.9.1 page 179), you should invoke rtin.
  1735.  
  1736. 6.10 Faxing with Linux
  1737. There are two choices if you plan to use your Linux machine for faxing:
  1738.  * Use mgetty with sendfax.
  1739.  * Install the HylaFAX fax server. Here you have the SuSEFax frontend,
  1740.    designed in Java.
  1741.  
  1742.  Since SuSE Linux version 5.0, the package mgetty has been separated
  1743.  into two packages: package mgetty and package sendfax, as some
  1744.  commands of package hylafax and package sendfax are identical.
  1745.  
  1746. The next two sections describe how to set up and configure hylafax and
  1747. SuSEFax on SuSE Linux.
  1748.  
  1749. 6.10.1 SuSEFax-a HylaFAX Fax Client
  1750. As already mentioned, SuSEFax has been designed in Java. This, in particu-
  1751. lar, means that you need to install the Java Developers Kit along with package
  1752. susefax. If you want to use SuSEFax on another platform, you should in-
  1753. stall package susefax and copy everything from /usr/lib/SuSEFax
  1754. to the destination directory on the other platform.
  1755.  
  1756. The Startup Wrapper
  1757. SuSEFAX is launched via a small script called a "wrapper". It, in turn, sets all
  1758. the necessary parameters, checks for settings and invokes the Java interpreter.
  1759. This script is located in /usr/X11/bin/susefax. It is possible to set up
  1760. the SuSEFAX system independently of the wrapper.
  1761.  
  1762.                                                                                            181
  1763.  
  1764.  
  1765.  
  1766. 6. Connecting to the World-and Then What?
  1767.  
  1768.                System Properties
  1769.                In Table 6.1 all the SuSEFAX system properties needed to be set up are
  1770.                listed: their meanings and default values. If you launch the interpreter with-
  1771.                out any additional options, these settings are used. There is normally only
  1772.                one parameter that needs to be set. This is susefax.images. If you
  1773.                run the program on an operating system with multiuser capabilities, (e. g.,
  1774.                Linux), this is not needed. In particular, this means that each user will be
  1775.                assigned a home directory on UNIX systems and Windows NT (but not on
  1776.                OS/2). If this is not possible on your system, you should set the values for
  1777.                susefax.setup.path, susefax.setup.file, as well as suse-
  1778.                fax.phonebook.file as SuSEFAX might not work otherwise.
  1779.  
  1780.  
  1781.                 Property                               Default value         Meaning
  1782.                 susefax.setup.path                     $HOME                 Directory where the config-
  1783.                                                                              uration files and the tele-
  1784.                                                                              phone database should re-
  1785.                                                                              side
  1786.                 susefax.setup.file                     .susefaxrc Name of the configuration
  1787.                                                                              file
  1788.                 susefax.phonebook.file .susephone Name of the telephone num-
  1789.                                                                              ber database
  1790.                 susefax.images                         ./images              Directory where all neces-
  1791.                                                                              sary images are stored
  1792.  
  1793.                                Table 6.1: The System Properties of SuSEFax
  1794.  
  1795.                If you want to change some of these parameters, just remove the comments
  1796.                in front of the variable names (see File contents 6.10.1).
  1797.  
  1798.                # if you want to store the settings other than
  1799.                # $HOME/.susefaxrc, then you may place another path and/or
  1800.                # filename here
  1801.  
  1802.                SETUPDIR=           # -Dsusefax.setup.path=/where/ever/you/want
  1803.                SETUPFILE=          # -Dsusefax.setup.file=/what/ever/you/want
  1804.  
  1805.                # even the phone book can be renamed to whatever
  1806.  
  1807.                PHONEBOOK=          # -Dsusefax.phonebook.file=asyoulikeit
  1808.  
  1809.                File    contents     6.10.1:        Section      of    the       wrapper      script:
  1810.                /usr/X11/bin/susefax
  1811.  
  1812.                Handling-Instructions for Use
  1813.                This is the main application window after the `Send queue' has been acti-
  1814.                vated and `Fetch state' has been invoked. `Fetch state' tells you
  1815.                about jobs that are still queued, that is, faxes that were sent within the last few
  1816.  
  1817. 182
  1818.  
  1819.  
  1820.  
  1821.                                                                         6.10. Faxing with Linux
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.                            Figure 6.6: Send queue
  1850.  
  1851.  
  1852. minutes. If you activate the `Receive queue' button, all faxes that were
  1853. received within the last few days will be listed. You may set up the automatic
  1854. display by clicking on `Update information', then enter an interval
  1855.                                               
  1856. in the box below and confirm by pressing      
  1857.                                                 . There is a jobs list that tells
  1858. you what actions are performed on a double click. This depends on which
  1859. button (`Receive queue' or `Send queue') has been activated. In
  1860. `Send queue', you may define what should happen if you double-click
  1861. on the mouse-either you get information on the job, or it is deleted. In
  1862. `Extras', you may select the language (English or German).
  1863.  
  1864.  
  1865. Setting Up
  1866.  
  1867. Before you can get any feedback from the server or launch any processes, you
  1868. must configure the application. This is done via `Main Settings' in the
  1869. `Program' menu. All settings will be saved. If you exit the program, all
  1870. settings will be saved as well.
  1871.  
  1872.                                                                                            183
  1873.  
  1874.  
  1875.  
  1876. 6. Connecting to the World-and Then What?
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.                                    Figure 6.7: Dialog for global settings
  1898.  
  1899.  
  1900.                Global Settings
  1901.                The settings and their meanings:
  1902.  
  1903.                Username: For the name of the user. This is needed when creating fax
  1904.                   covers.
  1905.                E-mail: All messages from the fax server are sent to this electronic mail
  1906.                   address, for example, if a fax has been removed without having been sent.
  1907.                User account: The fax server can distinguish between different users. You
  1908.                   may allow or deny access. This is why you need to enter the account name
  1909.                   known to the server. You may even assign a password to specific users.
  1910.                Hostname of the fax server: This is the name of the host where your fax
  1911.                   server runs.
  1912.                Automatic faxing: If this button is activated, the fax server checks the file
  1913.                   named in `Spool file' every couple of seconds. If it has changed,
  1914.                   you will get a `Send fax' automatically. This comes in handy if you
  1915.                   print to a file from another application. Thus each application is capable
  1916.                   of sending faxes, provided it is capable of converting them to Postscript
  1917.                   (see Section 6.10.3 page 190).
  1918.                Spool file: Here, you need to set up the complete path to the spool file if you
  1919.                   want to make use of the "automatic fax sending" feature. Clicking on
  1920.                   `Search' offers a file browser where you may set up this file.
  1921.                Fax cover: For automatic generation of a fax cover, a special PostScript file
  1922.                   is needed. You need to enter the complete path here.
  1923.                Time zone: This should be the same as what you set up on the fax host.
  1924.  
  1925. 184
  1926.  
  1927.  
  1928.  
  1929.                                                                        6.10. Faxing with Linux
  1930.  
  1931. Country: Date and time settings are dependent on this entry, for example,
  1932.    for your fax cover.
  1933.  
  1934. Job Settings
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.                     Figure 6.8: Dialog for job parameters
  1962.  
  1963. After the global settings have been made, you are ready to send your first fax.
  1964. A fax, or a file, is converted to a "job" which waits to be sent (perhaps along
  1965. with some other jobs). Each job has some job parameters. These may be set
  1966. prior to or after the job has been queued. Prior to sending the job, this may
  1967. be done in `Job settings', accessible via `Extras'. This is a short
  1968. overview:
  1969.  
  1970. Notification Scheme: Here you can set when the fax server should send a
  1971.    notification to a user whose electronic mail address was previously spec-
  1972.    ified. Four different schemes are available:
  1973.     * Never (only errors): If an error occurs, a message is sent to the user
  1974.       that the sending of a job failed.
  1975.     * After sending: The user is informed after successfully sending each
  1976.       fax.
  1977.  
  1978.                                                                                           185
  1979.  
  1980.  
  1981.  
  1982. 6. Connecting to the World-and Then What?
  1983.  
  1984.                    * After a Re-queue: The user is sent a message if a fax fails, for exam-
  1985.                       ple, because the remote machine is busy.
  1986.                    * After Re-queue and Sending This is a combination of the last two
  1987.                       schemes.
  1988.                   In general, the first scheme applies, even if you select another scheme.
  1989.                Resolution: Here you can enter the resolution of the fax to be sent. It is given
  1990.                   in lines per inch (lpi).
  1991.                Priority: Priority of a job in the queue. The default value is set to 127. This
  1992.                   is updated if a job fails (due, for example, to a busy line).
  1993.                Maximum tries to send: Here you can determine how many times the
  1994.                   server should try to send a fax once a connection has been established.
  1995.                Maximum tries to dial: Here you can specify how many times the server
  1996.                   should try to connect to a remote machine (for example, if the line is
  1997.                   busy).
  1998.                Paper format: There are currently three supported formats: A4, A3 and
  1999.                   Letter. This depends on the format of the PostScript document to be sent.
  2000.                If you have activated `Modify job parameters' in the main window,
  2001.                a dialog window will appear when you double click. Here you may set
  2002.                the same parameters as above: `Notification scheme', `Maximum
  2003.                tries to send' as well as `Maximum tries to dial'.
  2004.  
  2005.                External Viewer
  2006.                If the job list shows any received faxes, you may view the faxes using an
  2007.                external viewer. The fax itself uses the tiffg3 format. Your viewer should
  2008.                thus be capable of displaying this format. The format enables you to combine
  2009.                multiple images within one file. There is a small script that comes with
  2010.                SuSEFax that creates a PostScript file. It uses fax2ps from TIFFSoftware
  2011.                by Sam Leffler [Lef96b] (package tiff). This is handed to a PostScript
  2012.                viewer. The tool then looks for gv by Johannes Plass (package gv). If this
  2013.                is not found, it uses GhostView by Timothy O. Theisen (package gs x11).
  2014.                This tool is called docview and may be found in /usr/lib/SuSEFax.
  2015.                These are the options for the external viewer.
  2016.                Path to temporary files: Here, SuSEFax stores the tiffg3 from the server
  2017.                   and replaces the $F with the image's complete pathname.
  2018.  
  2019.                 If a user wants to run SuSEFax he needs to have read and write permissions
  2020.                 in this directory!
  2021.  
  2022.                Invoking the viewer: Here, you need to enter the full pathname to the pro-
  2023.                   gram that should display the file. It has to accept the file's name as a
  2024.                   parameter.
  2025.  
  2026.                Sending a Fax
  2027.                After configuring SuSEFax and HylaFAX, you should make sure that you are
  2028.                able to fetch the status settings of the fax server (see page 182). Otherwise
  2029.  
  2030. 186
  2031.  
  2032.  
  2033.  
  2034.                                                                          6.10. Faxing with Linux
  2035.  
  2036. you will not be able to send a fax-check the configuration of SuSEFax and
  2037. HylaFAX for errors. If everything was set up correctly, you should see a
  2038. dialog when clicking on `Fax send'. The following items can be selected:
  2039. Telephone number of the remote host: The telephone number of the re-
  2040.     mote machine. You may select an item from the telephone book if you
  2041.     click on `From telephone book' (you will need to enter the num-
  2042.     bers first, of course).
  2043. Document to be sent: Here the full pathname to the document you'd like to
  2044.     send must be given. If you select `Search', you may select a file in the
  2045.     browser.
  2046. Use fax cover: This may only be activated if you have set up a fax cover file
  2047.     in the global settings. A fax cover will then be generated and sent.
  2048. Do not send immediately: If this is activated, a dialog window pops up
  2049.     where you can enter the time for the fax to be sent. If you leave this
  2050.     dialog by clicking `Cancel', the fax will be sent immediately, just as if
  2051.     you had clicked on `Send fax'.
  2052.     For time and date settings:
  2053.                                                                         
  2054.     * When you have made a selection, confirm this by pressing      
  2055.                                                                             . Now
  2056.          the program checks whether this is a valid date. If not, it is converted
  2057.          to a valid date.
  2058. Name of sender: Here, the name that has been set in global settings is used.
  2059. Name of recipient:
  2060. Regarding:
  2061. To company:
  2062. Comment:
  2063. Selecting `Poll fax' assumes that you have set up a telephone number
  2064. for the fax polling server. You will need to supply the name of the file to be
  2065. sent.
  2066.  
  2067. Importance of the Job List
  2068. As mentioned above, you may switch between the contents of the send queue
  2069. and the contents of the receive queue. This is a short summary of the process:
  2070.  
  2071. Reception Queue
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.                     Figure 6.9: Example of a reception queue
  2078.  
  2079. From left to right: the permissions, the size (in bytes), number of pages, the
  2080. TSI and the name of the fax received. The TSI (Transmission Subscriber
  2081. Identification) is an identification format the user has set up on his machine.
  2082. This must not be a telephone number. It could, however, be a company name.
  2083.  
  2084.                                                                                             187
  2085.  
  2086.  
  2087.  
  2088. 6. Connecting to the World-and Then What?
  2089.  
  2090.                 Incoming faxes may only be viewed by double-clicking on them if the
  2091.                 fax server has been set up for all users to read them. In order for
  2092.                 this to work, you need to set the value 0644 in RecvFileMode:
  2093.                 in /var/spool/fax/etc/config.device (see Section 6.10.4
  2094.                 page 192).
  2095.  
  2096.                Send Queue
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.                                   Figure 6.10: Example of a send queue
  2103.  
  2104.                From left to right: the job ID, the priority of the job, the user account, the
  2105.                target telephone number, the time and/or number of tries and the maximum
  2106.                number of rings. If an error occurs, you will see the corresponding error
  2107.                message. The job ID is assigned automatically by the fax server. You may set
  2108.                a priority as a user, but the server may adjust this setting. The user account
  2109.                tells you which user has launched the job. The user is the only one who can
  2110.                delete the job or change its parameters.
  2111.  
  2112.                The Telephone Book
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.                                      Figure 6.11: The telephone book
  2128.  
  2129.                The telephone book (see Figure 6.11) is for administering and maintaining
  2130.                your personal phone numbers. You may list and sort them according to name,
  2131.                surname, fax number and company. Double clicking an entry will launch the
  2132.                editor. You may now select another item and its entries will be presented.
  2133.                `Accept entry' adds the item to your list providing you filled out the
  2134.                following entries: `Surname', `Name' and `Telephone number'.
  2135.                If you have activated the `View entry' mode, double clicking on `Send
  2136.                fax' will invoke the `Send fax dialogue', using the entries `Sur-
  2137.  
  2138. 188
  2139.  
  2140.  
  2141.  
  2142.                                                                         6.10. Faxing with Linux
  2143.  
  2144. name', `Name', `Telephone number', `Company' and `Com-
  2145. ment' as defaults for the cover page (see page 186).
  2146. The cover will only be sent if you have activated the item `Use fax
  2147. cover'. If you have launched a process that disables the selection bar (e. g.,
  2148. by `Sort'), you may reactivate it afterwards by selecting an entry.
  2149. A new entry is added as soon as you click `Add'. `Remove' deletes the
  2150. currently selected entry. The list is only sorted if you explicitly activate the
  2151. `Sort' button. The button `Save changes' and `Save & Exit'
  2152. both make your phone book changes permanent. To cancel your changes,
  2153. press the `Cancel' button.
  2154. The telephone book may be used as a standalone application. For this the
  2155. wrapper susephone is available. Just enter susephone in a shell. No
  2156. faxes can now be sent, however.
  2157.  
  2158.  It is not advisable to start the telephone book program twice with the same
  2159.  user account. If you do it by mistake, make sure you don't save in both
  2160.  programs.
  2161.  
  2162.  
  2163. The Faxed Form Letter
  2164.  
  2165. The form fax dialog enables you to generate a serial fax list from the tele-
  2166. phone list. To add or remove an item, it must be highlighted first. You may se-
  2167. lect either with the mouse or with one of the toggle buttons. If ` Toggle'
  2168. is activated, all selected entries will be marked as disabled, and vice-versa.
  2169. The same applies to the list. `Send faxes' causes all faxes in the list to
  2170. be sent. You cannot create a fax cover for serial faxes.
  2171.  
  2172.  
  2173. 6.10.2 Automatic Generation of the Fax Cover
  2174.  
  2175. As mentioned above, you will need a PostScript template to automatically
  2176. generate fax covers. This, in itself, is not a PostScript file, but a template
  2177. that includes certain place-markers that are inserted automatically during the
  2178. creation of the cover. Creation of a template may be time-consuming. If you
  2179. are familiar with LATEX, you may use the package latex-cover .5 This
  2180. contains an easy-to-use TEX style for creating covers with TEX. The cover
  2181. used for this package and for the package hylafax has been created with
  2182. this versatile tool.
  2183. If you don't want to use this, you will have to create a "normal" PostScript
  2184. file and insert the entries by hand.
  2185.  
  2186.  
  2187. Which Keywords Does SuSEFax Know?
  2188.  
  2189. If you want to modify the TEX document, be aware that SuSEFax can only
  2190. replace the following macros:
  2191.  
  2192. 5 It is installed in /usr/doc/packages/hylafax with package hylafax.
  2193.  
  2194.                                                                                            189
  2195.  
  2196.  
  2197.  
  2198. 6. Connecting to the World-and Then What?
  2199.  
  2200.                            \toperson
  2201.                            \from
  2202.                            \regarding
  2203.                            \tocompany
  2204.                            \todaysdate
  2205.                            \comments
  2206.  
  2207.  
  2208.                If you want to test the template you have made, you may use the faxcover
  2209.                tool which is included in package hylafax. This will create a PostScript
  2210.                file from the template. You can then print or view it. You could also use the
  2211.                Java binary FaxCovergen.class. from the package susefax. Just enter the
  2212.                following:
  2213.                    newbie@earth:/home/newbie > java -classpath
  2214.                        /usr/lib/java/lib/classes.zip:/usr/lib SuSE-
  2215.                    Fax.FaxCovergen
  2216.                You should now see:
  2217.  
  2218.                Command: FaxCovergen sourcecover.ps docname.ps targetcover.ps
  2219.  
  2220.  
  2221.                The source cover is your template. docname.ps is the document that will
  2222.                be sent. It will be saved in targetcover.ps. Now you may view either
  2223.                of them.
  2224.  
  2225.                6.10.3 Fax Spooling on UNIX/Linux
  2226.                The spooling mechanism of SuSEFax was originally designed for use with
  2227.                Windows. You may use it on Linux as well. For this to work, you will need
  2228.                to install the package faxprint, series n (network support).
  2229.                If you convert /etc/passwd to a PostScript file by entering the com-
  2230.                mand a2ps -nP /etc/passwd | lpr -Pfax, there should be a file
  2231.                in /tmp called fax accountname.ps. accountname is just your login. If
  2232.                this file exists, you may enter it as a spool file, as described in Section 6.10.1
  2233.                page 184, and activate the `Automatic fax' button.
  2234.  
  2235.                 The spooling mechanism only works if SuSEFax is running. If this is the
  2236.                 case, it regularly checks the time stamp Lastmodified of the spool file
  2237.                 and opens it if it has been changed.
  2238.  
  2239.                6.10.4 HylaFAX ¡ Distributed Faxes
  2240.  
  2241.                Function
  2242.                Installation and configuration of HylaFAX is not covered by our installation
  2243.                support (see Section H.1.2 page 493).
  2244.                How the fax server works:
  2245.                Figure 6.12 on the facing page illustrates how the fax server interacts with the
  2246.                client. As you can see, there are three different ways to communicate with
  2247.  
  2248. 190
  2249.  
  2250.  
  2251.  
  2252.                                                                                             6.10. Faxing with Linux
  2253.  
  2254. the server. The protocol that is used on port 4557 is still used, for reasons of
  2255. compatibility with older versions of HylaFAX. WinFlex by Peter Bentley, for
  2256. example, runs on Windows and still uses this protocol. New clients should
  2257. use the new protocol on port 4559. This protocol is based on the File Transfer
  2258. Protocol, RFC959. The third available protocol is SNPP (Simple Network
  2259. Paging Protocol, RFC1861).
  2260.  
  2261.                                                    Fax Modem
  2262.                                                
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440. HylaFAX (TM)
  2441. Fax Server
  2442.  
  2443.  
  2444.  
  2445.  
  2446.                                                                 The Three Net Protocols
  2447.  
  2448.  
  2449.                                                                             4557
  2450.                                                                        Old Protocol
  2451.                                                                        (Compatibility)
  2452.  
  2453.  
  2454.  
  2455.                                 TCP/IP
  2456.                                                                             4559
  2457.                                                                       New Protocol
  2458.                                                                       Similar to the FTP
  2459.                                                                          Protocol)
  2460.  
  2461.  
  2462.                   Clients
  2463.  
  2464.                                                                            SNPP
  2465.                                                                     Simple Network Pager
  2466.                                                                            Protocol
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.                     Figure 6.12: How HylaFAX servers function
  2482.  
  2483. The server itself consists of three different daemons. Each of them is respon-
  2484. sible for a specific task:
  2485. hfaxd This is the protocol server. It is responsible for the communication
  2486.       between the client and the server. It may be launched standalone, e. g.,
  2487.       via the init process or via inetd. It shares a "FIFO file" with the faxq
  2488.       process itself.
  2489. faxq This is the so called "Queueing Agent". It is responsible for maintain-
  2490.       ing incoming and outgoing faxes, as well as the job queue. This process
  2491.       runs all the time. You must ensure that only one of these is running.
  2492. faxgetty This tool is responsible for communication between the server and
  2493.       the modem. As an alternative to faxgetty, you may use the faxmodem
  2494.       tool if you want to send, but not receive, faxes. Alternatively, you might
  2495.       control it by means of a FIFO file.6
  2496. 6 FIFO = First In First Out.
  2497.  
  2498.                                                                                                                191
  2499.  
  2500.  
  2501.  
  2502. 6. Connecting to the World-and Then What?
  2503.  
  2504.                Directory Structure
  2505.                The server runs in change root mode (see man chroot). By default, the Server-
  2506.                Root directory is /var/spool/fax. All processes and the Server-Root
  2507.                directory itself belong to `uucp'. a list of all directories that may be found
  2508.                in Server-Root is given in Table 6.2, together with a short description.
  2509.  
  2510.  
  2511.                  archiveJobs are archived here if job archival support is activated.
  2512.                  bin       All the scripts used by: faxq, faxsend, pagesend and
  2513.                            faxgetty.
  2514.                  client For the FIFO files that communicate with faxq.
  2515.                  config Configuration, permissions and user accounts.
  2516.                  dev       Since the whole system runs in chroot, here you will find all
  2517.                            the character devices needed (null, socksys and tcp).
  2518.                  docq      This, as well as tmp, is used for pre-checking jobs.
  2519.                  doneq Jobs that were done, but neither archived nor deleted.
  2520.                  etc       See manpage for config (man config).
  2521.                  info      This is for general information on hosts that are already known
  2522.                            to HylaFAX.
  2523.                  log       Here, you will find the logs of both sender and receiver.
  2524.                  pollq This is for documents obtained by polling the server.
  2525.                  recvq Incoming faxes.
  2526.                  sendq Outgoing faxes.
  2527.                  status Status information on the server itself.
  2528.                  tmp       See manpage for docq (man docq).
  2529.  
  2530.  
  2531.                    Table 6.2: The HylaFAX Server-Root directories and their function
  2532.  
  2533.  
  2534.                In addition, there are various FIFO files: the file /var/spool/fax/FIFO
  2535.                itself as well as one /var/spool/fax/FIFO.devname per modem,
  2536.                which is maintained by faxgetty. devname stands for the device to which
  2537.                the modem is connected.
  2538.  
  2539.                Configuration
  2540.                The configuration itself is split up between from 2 to 2+n configuration files.
  2541.                Here, `n' stands for the number of modems used. In /var/spool/fax/
  2542.                etc, you will find the files config and config.device. The latter
  2543.                configures the modem attached to device. So if there is a modem connected
  2544.                to /dev/ttyS0, the name would be config.ttyS0.
  2545.                General settings are entered in config. These are needed by the sched-
  2546.                uler process faxq itself. Modem-specific setup settings may be found in
  2547.                config.device. Settings for the queueing service may be found in
  2548.                config. The files for the protocol server are in /usr/lib/fax/hfaxd.
  2549.                conf. These configuration files are created automatically if you invoke
  2550.                faxsetup after installation.
  2551.  
  2552. 192
  2553.  
  2554.  
  2555.  
  2556.                                                                     6.10. Faxing with Linux
  2557.  
  2558. Example Configuration
  2559.  
  2560. Here, you see an example session with faxsetup. We will use the data
  2561. mentioned in Table 6.3.
  2562. Below, the bold letters are user entries.
  2563.  
  2564.  
  2565.   Telephone number     (0)49(0)911-123456
  2566.   Modem Fax-Class      2.0
  2567.  
  2568.  
  2569.                Table 6.3: HylaFAX configuration example data
  2570.  
  2571.  
  2572. Configuration of the Scheduler
  2573.                                                                         
  2574.  * Should an entry be added to /etc/inetd.conf [no]?      
  2575.  * Country code [1]? 49
  2576.  * Area code []? 911
  2577.  * Long distance dialing prefix [1]? 0
  2578.  * International dialing prefix [011]? 00
  2579.  * Dial string rules file (relative to   
  2580.    /var/spool/fax) ["etc/dialrules"]?      
  2581.  * Tracing during normal server operation [1]? 527
  2582.  * Default tracing during send and receive
  2583.    sessions [0xffffffff]? 527
  2584.  * Continuation cover page (relative to
  2585.    /var/spool/fax) []? etc/cover.templ
  2586.  * Timeout when converting PostScript
  2587.                                         
  2588.    documents (secs) [180]?      
  2589.  * Maximum number of concurrent jobs to a destination [1]?
  2590.       
  2591.         
  2592.  * Define a class of modems []? "any"
  2593.  * Time of day restrictions for outbound jobs ["Any"]?
  2594.       
  2595.         
  2596.  * Pathname of destination controls file (relative to
  2597.                                   
  2598.    /var/spool/fax) []?      
  2599.  * Timeout before purging a stale UUCP
  2600.                                       
  2601.    lock file (secs) [30]?      
  2602.  * Max number of pages to permit in an
  2603.    outbound job [0xffffffff]? 30
  2604.  * Syslog facility name for ServerTracing
  2605.                                  
  2606.    messages [daemon]?      
  2607. After the data has been entered, you will be presented with a summary of
  2608. what you have just entered, as shown in Output 6.10.1 on the next page.
  2609.  
  2610.                                                                                        193
  2611.  
  2612.  
  2613.  
  2614. 6. Connecting to the World-and Then What?
  2615.  
  2616.                The non-default scheduler parameters are:
  2617.  
  2618.                CountryCode:                     49
  2619.                AreaCode:                        911
  2620.                LongDistancePrefix:              0
  2621.                InternationalPrefix:             00
  2622.                ServerTracing:                   527
  2623.                ContCoverPage:                   etc/cover.templ
  2624.                MaxSendPages:                    30
  2625.                ModemClass:                      "any"
  2626.                SessionTracing:                  527
  2627.  
  2628.                Screen output 6.10.1: Summary of HylaFAX scheduler configuration exam-
  2629.                ple
  2630.  
  2631.                Configuration of the Server
  2632.                After the scheduler has been configured, faxsetup requests whether you
  2633.                want to set up your modem using faxaddmodem. You should answer
  2634.                yes to this. Now, the serial line has to be entered without entering the full
  2635.                pathname-just modem if it is /dev/modem.
  2636.                                                  
  2637.                 * Country code [49]?      
  2638.                                               
  2639.                 * Area code [911]?      
  2640.                 * Phone number of fax modem [+1.999.555.1212]?
  2641.                       +49.911.3206728
  2642.                 * Local identification string (for TSI/CIG)
  2643.                       ["NothingSetup"]? "SuSE GmbH"                    
  2644.                 * Long distance dialing prefix [0]?      
  2645.                                                                          
  2646.                 * International dialing prefix [00]?      
  2647.                 * Dial string rules file (relative to   
  2648.                       /var/spool/fax) ["etc/dialrules"]?      
  2649.                 * Tracing during normal server operation [1]? 527
  2650.                 * Tracing during send and receive sessions [11]?
  2651.                       527
  2652.                 * Protection mode for received facsimile [0600]?
  2653.                       0644                                                        
  2654.                 * Protection mode for session logs [0600]?      
  2655.                 * Protection mode for modem [0600]? 0666
  2656.                                                                           
  2657.                 * Rings to wait before answering [1]?      
  2658.                                                               
  2659.                 * Modem speaker volume [off]?      
  2660.                 * Command line arguments to getty program ["-h %l dx_%s"]?
  2661.                       "-r -b -s %s %l"
  2662.                 * Pathname of TSI access control list file
  2663.                                                                          
  2664.                       (relative to /var/spool/fax) [""]?      
  2665.                 * Pathname of Caller-ID access control list
  2666.                                                                                 
  2667.                       file (relative to /var/spool/fax) [""]?      
  2668. 194
  2669.  
  2670.  
  2671.  
  2672.                                                                    6.10. Faxing with Linux
  2673.  
  2674.  * Tag line font file (relative to                        
  2675.    /var/spool/fax) [etc/lutRS18.pcf]?      
  2676.  * Tag line format string                              
  2677.    ["From %%l|%c|Page %%p of %%t"]?      
  2678.  * Time before purging a stale UUCP lock
  2679.                                 
  2680.    file (secs) [30]?      
  2681.  * Hold UUCP lockfile during inbound data
  2682.                          
  2683.    calls [Yes]?      
  2684.  * Hold UUCP lockfile during inbound voice calls [Yes]?
  2685.       
  2686.         
  2687.  * Percent good lines to accept during copy
  2688.                                              
  2689.    quality checking [95]?      
  2690.  * Max consecutive bad lines to accept during
  2691.                                                
  2692.    copy quality checking [5]?      
  2693.  * Max number of pages to accept in a received
  2694.                              
  2695.    facsimile [25]?      
  2696.  * Syslog facility name for ServerTracing
  2697.                                   
  2698.    messages [daemon]?                                               
  2699.  * Set UID to 0 to manipulate CLOCAL [""]?      
  2700. The summary given in Output 6.10.2 is created according to the settings
  2701. entered above.
  2702.  
  2703. The non-default server configuration parameters are:
  2704.  
  2705. CountryCode:                       49
  2706. AreaCode:                          911
  2707. FAXNumber:                         +49.911.3206728
  2708. LongDistancePrefix:                0
  2709. InternationalPrefix:               00
  2710. DialStringRules:                   "etc/dialrules"
  2711. ServerTracing:                     527
  2712. SessionTracing:                    527
  2713. RecvFileMode:                      0644
  2714. DeviceMode:                        0666
  2715. RingsBeforeAnswer:                 1
  2716. SpeakerVolume:                     off
  2717. GettyArgs:                         "-r -b -s %s %l"
  2718. LocalIdentifier:                   "SuSE GmbH"
  2719. TagLineFont:                       etc/lutRS18.pcf
  2720. TagLineFormat:                     "From %%l|%c|Page %%p of %%t"
  2721. MaxRecvPages:                      25
  2722.  
  2723.     Screen output 6.10.2: An example of HylaFAX server configuration
  2724.  
  2725. This completes the configuration of the scheduler and server.
  2726. Now you can choose whether you want to start faxmodem for each of the
  2727. configured modems. This is an alternative to faxgetty, which is send-only.
  2728. You may choose either solution.
  2729.  
  2730.                                                                                       195
  2731.  
  2732.  
  2733.  
  2734. 6. Connecting to the World-and Then What?
  2735.  
  2736.                Adaptive Answer Support
  2737.                A handy feature of the fax server (faxgetty) is the so-called "Adaptive Answer
  2738.                Support", which enables the server to launch any getty depending on the type
  2739.                of incoming call. This could also be a data call. For this to work. make sure
  2740.                the entry in File contents 6.10.2 is configured (see Section 6.10.4 page 192).
  2741.  
  2742.                GettyArgs:                             "-r -b -s %s %l"
  2743.  
  2744.                           File contents 6.10.2: Entry for Adaptive Answer Support
  2745.  
  2746.                Here, %s is a substitute for the DTE/DCE between machine and modem. This
  2747.                is set to 38400 bps (bits per second) by default. Some modems manufactured
  2748.                by USRobotics cannot support this rate (see [Lef96a]) and generate transceiv-
  2749.                ing errors. This may be avoided by decreasing the baud rate (<ModemRate>)
  2750.                to 19200 in the appropriate modem configuration file. The default getty is
  2751.                mgetty (package mgetty, series n (network support)). For this to work, you
  2752.                need to modify the mgetty configuration file (/etc/mgetty+sendfax/
  2753.                mgetty.config) using the entries given in File contents 6.10.3.
  2754.  
  2755.                port modem
  2756.                direct y
  2757.                toggle-dtr n
  2758.                           File contents 6.10.3: Entry in mgetty configuration file
  2759.  
  2760.                The keyword modem7 is your modem's device name. Make sure that faxgetty
  2761.                as well as mgetty use the same device.
  2762.  
  2763.                Fax Dispatching
  2764.                Fax dispatching is the redirection of incoming faxes to a given electronic
  2765.                mail address. You will need to create the file etc/FaxDispatch in the
  2766.                Server-Root directory. File contents 6.10.4 shows an example configuration:
  2767.  
  2768.                case "$SENDER" in
  2769.                *0815*) SENDTO=newbie;;
  2770.                *)           SENDTO=FaxMaster;;
  2771.                esac
  2772.                          File contents 6.10.4: An example of etc/FaxDispatch
  2773.  
  2774.                Incoming faxes are identified by their TSI. In our example, every fax with
  2775.                0815 in its TSI will be automatically forwarded to the user `newbie' via
  2776.                electronic mail (as a PostScript attachment).8 Furthermore, each incoming
  2777.                fax is redirected to `FaxMaster'.
  2778.  
  2779.                 If you have any problems configuring HylaFAX, please look at our Support
  2780.                 DataBase, package susehilf, series doc (Documentation). Enter the
  2781.                 keyword "fax" and you will find lots of useful information.
  2782.  
  2783.                7 If it is /dev/modem, then it refers to a link to /dev/ttySx.
  2784.                8 You may change the file format by modifying bin/faxrcvd.
  2785.  
  2786. 196
  2787.  
  2788.  
  2789.  
  2790.