home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / faqs / comp / answers / 386bsd-faq / part8 < prev    next >
Internet Message Format  |  1997-10-14  |  33KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!eecs-usenet-02.mit.edu!nntprelay.mathworks.com!news-peer.gsl.net!news.gsl.net!gip.net!news-peer.sprintlink.net!news-sea-19.sprintlink.net!news-in-west.sprintlink.net!news.sprintlink.net!Sprint!204.248.21.3!neonramp.com!cynjut.neonramp.com!cynjut.neonramp.com!not-for-mail
  2. From: burgess@cynjut.neonramp.com (Dave Burgess)
  3. Newsgroups: comp.unix.bsd.netbsd.announce,comp.unix.bsd.freebsd.announce,comp.answers,news.answers,comp.unix.openbsd.announce
  4. Subject: [comp.unix.bsd] NetBSD, FreeBSD, and OpenBSD FAQ (Part 8 of 10)
  5. Supersedes: <386bsd-faq-8-875343603@cynjut.neonramp.com>
  6. Followup-To: comp.unix.bsd.netbsd.misc
  7. Date: 13 Oct 1997 02:00:25 -0500
  8. Organization: Dave's House in Omaha
  9. Lines: 901
  10. Approved: news-answers-request@MIT.Edu,cgd@sun-lamp.cs.berkeley.edu
  11. Expires: 10/31/97 01:00:03 CDT
  12. Message-ID: <386bsd-faq-8-876726003@cynjut.neonramp.com>
  13. References: <386bsd-faq-1-876726003@cynjut.neonramp.com>
  14. Reply-To: burgess@cynjut.neonramp.com (BSD FAQ Maintainer)
  15. NNTP-Posting-Host: cynjut.neonramp.com
  16. Keywords: FAQ 386bsd NetBSD FreeBSD !Linux
  17. X-Posting-Frequency: Posted on/about the 13th and the 27th of every month.
  18. Xref: senator-bedfellow.mit.edu comp.unix.bsd.netbsd.announce:556 comp.unix.bsd.freebsd.announce:727 comp.answers:28470 news.answers:114350
  19.  
  20. Posted-By: auto-faq 3.1.1.2
  21. Archive-name: 386bsd-faq/part8
  22.  
  23. Section 7.    (System Communication and Network Information)
  24.  
  25. 7.0    Communications
  26.  
  27. 7.1    SLIP/CSLIP
  28.  
  29.     Serial Line I/P is supported in all versions of BSD.
  30.  
  31.     Brian <brian@awfulhak.demon.co.uk> provides us with a rather
  32.     good explanation of some of the hurdles that must be overcome
  33.     for a working slip interface.
  34.  
  35.     The idea is (overview) that you make a serial line connection to 
  36.     the host, set the line discipline, and tell your router to use 
  37.     this interface as your gateway.  You also should set the gateway 
  38.     up as a nameserver.
  39.  
  40.     You will need the information in 7.4.1 below to make sense to
  41.     you before you proceed much further.  I suggest you read that
  42.     now.
  43.  
  44.     Sounds easy ? - well it is if you've done it before.
  45.  
  46.     The _usual_ way of doing this is as follows:
  47.  
  48.     Both server and client must know each others inet addresses.  Set 
  49.     these up in /etc/hosts with lines saying
  50.         11.22.33.44 host.my.domain.name host
  51.         11.22.33.55 client.my.domain.name client
  52.  
  53.     where 11.22.33.?? is your inet number, and the following name is 
  54.     the full machine name (and is followed by any number of aliases).
  55.  
  56.     SERVER:
  57.        Create a login - usually Sclientname - and run `sliplogin` as 
  58.        its shell.  I've looked at the docs for sliplogin, and it seems
  59.        fairly straightforward.  [Ed.Note - I have; it is.]
  60.        A fairly common problem on the server is an error that is 
  61.        caused by the lack of a 'sliplogin' entry in the /etc/shells
  62.        file.  Be sure to add sliplogin to your shells file.
  63.  
  64.     CLIENT:
  65.       Set up /etc/resolv.conf to say the following (for the nameserver)
  66.         domain client.my.domain.name
  67.         nameserver 11.22.33.55
  68.  
  69.       ** traditional method **
  70.       - Log on to the server.  This is usually done via kermit or
  71.         some such program.
  72.       - Exit the program (or background it if your line wants to
  73.         drop once the device is closed).
  74.       - Run `slattach /dev/comport` for whatever "comport" is.  On most
  75.         BSD derived systems, this may be either com0, or cua01, or
  76.         whatever the correct name is for your site.
  77.  
  78.       If you run into an error that says 'not configured' in it, your 
  79.       kernel either does not recognize your port (dmesg will verify that)
  80.       or your kernel does not have the slip interface built in.  See 
  81.       below for the latter.  The former could be caused by any one of 
  82.       a dozen problems, including conflicting or incorrectly identified 
  83.       IRQs or port addresses.
  84.  
  85.       - Run `ifconfig sl0 net clientname servername netmask 0xffffff00`
  86.       - Run `route add default servername`.
  87.       
  88.         "servername" is your server and "clientname" is your client.
  89.         
  90.       It should now be possible to `ping host`
  91.  
  92.     ** my method **
  93.       Configure /etc/remote
  94.       Configure /etc/host.dial
  95.       Run `slip host`.
  96.  
  97.     /etc/remote contains an extended `tip` entry.  /etc/host.dial 
  98.     contains a login script (and is named in /etc/remote).
  99.  
  100.     Oh yes, don't forget to have a line in your kernel config saying
  101.  
  102.     pseudo-device sl 2
  103.  
  104.     Without this line, you may get a 'device not configured' or 
  105.     'TIO...' error because the slip driver is not built into the 
  106.     kernel.
  107.  
  108.     Someone else mailed me their instructions for using a SLIP
  109.     service.  Here they are, in all their glory.
  110.  
  111.     Hi, I thought I'd drop you this email outlining how I have 
  112.     SLIP set up to dial and communicate, as I remember this being 
  113.     an area in the FAQ which needed some expansion/clarification. 
  114.     What I outline works for me dialing up under NetBSD 0.9. 
  115.     Though I don't know the specific nuances of FreeBSD (e.g. the 
  116.     boot-up configuration of the interfaces - /etc/hostname.sl<n> 
  117.     for NetBSD) this'll be easy for someone to add to, hopefully 
  118.     before you release it (I know there's nothing I hate more
  119.     than having to convert one setup's info into another nearly,
  120.     but not quite, the same setup :-)
  121.  
  122.     In the last quoted script file (slip-off) the unlock line should 
  123.     read:
  124.  
  125.     /usr/local/etc/unlock LCK..$DEVICE
  126.  
  127.     1) Configuring the SLIP interface.
  128.  
  129.     Ensure that the sl device is present in your kernel (default with 
  130.     the generic kernels). In NetBSD 0.9 they get assigned in turn 
  131.     with each 'slattach'.
  132.  
  133.     Put your own hostname and ip number, and that of your dial up 
  134.     gateway, into your /etc/hosts. This is an example:-
  135.  
  136.        127.0.0.1     localhost
  137.  
  138.        158.152.1.65    gate gate.demon.co.uk
  139.        158.152.26.67   blodwen blodwen.demon.co.uk
  140.  
  141.     Ensure that your /etc/resolv.conf is set up appropriately, to 
  142.     point to the nameserver of your dial-up provider/link.  This is 
  143.     what I use:-
  144.  
  145.        domain demon.co.uk
  146.        nameserver 158.152.1.65
  147.        nameserver 158.152.1.193
  148.  
  149.     (you can have up to three nameservers, they -must- be listed by
  150.     number.  If you wish to look in several domains, you can use 
  151.     'search demon.co.uk,foo.other.domain' etc. up to the limit (a 
  152.     finite length specified in resolver(5).)  Also, for more
  153.     flexibility, there is a nameserver switch package that allows
  154.     you to change the resolver profiles on the fly; see below.
  155.  
  156.     Your sl interface needs to be configured using ifconfig(1) as a 
  157.     link from your own hostname to that of your dial-up host.  Manually 
  158.     this can be done by:-
  159.  
  160.        /sbin/ifconfig sl0 <your-machine> <dial-up-machine>
  161.  
  162.     on NetBSD this can be done at boot-time, by having the following 
  163.     in /etc/hostname.sl0:-
  164.  
  165.        inet blodwen.demon.co.uk 255.255.255.0
  166.        dest gate.demon.co.uk
  167.  
  168.     (You can substitute sl0 for sl<n> if this will after another 
  169.     slattach e.g. for a local machine on a fixed cable)
  170.  
  171.     The netmask value (255.255.255.0 in this case) is pretty 
  172.     irrelevant to SLIP because you cannot have a subnet broadcast 
  173.     (so I am informed).
  174.  
  175.     I use the chat(1) program (currently available in the 
  176.     FreeBSD-current/ports/ directory) to dial up and enter 
  177.     passwords, etc. My modem is setup for hardware handshaking 
  178.     (a necessity really, for performance), and I use the following 
  179.     sh scripts to do the work.  Calling 'demon' dials up and connects. 
  180.     Calling 'demon-down' when on-line shuts it all off. Those who 
  181.     use PPP should be able to work out the changes from the original 
  182.     ppp-on and off scripts.
  183.  
  184.     [I call it 'demon' for simplicity]
  185.  
  186.        #!/bin/sh
  187.           #
  188.        # attach slip and route (calls slip-on script)
  189.        if /usr/local/etc/slip-on
  190.                then
  191.                # this adds the default route to 'gate' which is 
  192.            # my dial-up host
  193.                route add default gate
  194.  
  195.                # put anything here to be run when you are connected
  196.                # slurp news
  197.                /usr/local/etc/slurp news.demon.co.uk &
  198.                # send outgoing news
  199.                /usr/local/news/bin/nntpsend
  200.     
  201.                # kick outgoing email
  202.                sendmail -q0m
  203.     
  204.        else
  205.                # slip-on failed
  206.     
  207.        fi
  208.     
  209.     [ here's my /usr/local/etc/slip-on ]
  210.     
  211.     Note that you may need to adjust the chat command to deal with the
  212.     prompts you have to answer or that your modem produces, and the final
  213.     message (my provider sends HELLO to signify that they are ready. The
  214.      -v to chat makes it send syslog .info messages, which I then send to
  215.     my /dev/console. You can remove this if you wish.
  216.     
  217.     The following is a modified version of the ppp-on script that comes
  218.     with chat, altered to set the serial line correctly for the modem. I
  219.     dial-up at 38400bps on a modem on tty03, you might want to change that
  220.     too (and make sure that the stty line is all kept on one line).
  221.     
  222.        #
  223.        #       slip-on
  224.        #
  225.        #       Set up a SLIP link
  226.        #
  227.     
  228.        LOCKDIR=/var/spool/lock
  229.        DEVICE=tty03
  230.     
  231.        PHONE=<phone number here>
  232.        USER=<your login>
  233.        PASSWORD=<your password>
  234.     
  235.        if [ -f $LOCKDIR/LCK..$DEVICE ]
  236.        then
  237.            echo "SLIP device is locked"
  238.            exit 1
  239.        fi
  240.     
  241.        /usr/local/etc/fix-cua $DEVICE
  242.        sleep 16000 < /dev/$DEVICE &
  243.        /bin/stty -f /dev/$DEVICE
  244.     gfmt1:cflag=4b00:iflag=c00:lflag=3:oflag=6:discard=f:dsusp=19:eof=4:
  245.     eol=ff:eol2=ff:erase=0:intr=3:kill=0:lnext=16:quit=1c:reprint=12:
  246.     start=11:status=ff:stop=13:susp=1a:werase=17:ispeed=38400:ospeed=38400
  247.     
  248.        (
  249.          if chat -v -l LCK..$DEVICE ABORT "NO DIALTONE" \
  250.          ABORT "NO CARRIER" ABORT BUSY "" ATZ OK 
  251.          ATDT$PHONE "CONNECT 38400" "" "ogin:" "$USER" \
  252.              "word:" "\\q$PASSWORD" "HELLO"
  253.                then
  254.                /sbin/slattach -h -c -s 38400 $DEVICE
  255.                exit 0
  256.            else
  257.                echo "SLIP call failed" 1>&2
  258.                # remove the sleep holding serial line open
  259.                /bin/kill -KILL `/bin/ps -ax | /usr/bin/egrep " sleep 16000" \
  260.                  | /usr/bin/egrep -v "egrep" | /usr/bin/sed 's/^\([ 0-9]*\)
  261.     .*/\1'/`
  262.                exit 1
  263.            fi
  264.        ) < /dev/$DEVICE > /dev/$DEVICE
  265.     
  266.     
  267.     When it comes to switching off the line, I use the following. Don't
  268.     forget to adjust the sl0 as appropriate
  269.     
  270.     [ I call it demon-down for simplicity]
  271.     
  272.        #!/bin/sh
  273.        #  stop script
  274.        #
  275.        /usr/local/etc/slip-off
  276.        /sbin/ifconfig sl0 down
  277.     
  278.     [ and /usr/local/etc/slip-off ]
  279.     
  280.     and adjust the DEVICE line as well.
  281.     
  282.        #!/bin/sh
  283.     
  284.        DEVICE=tty03
  285.     
  286.        kill -KILL `ps -ax | egrep "slattach.*${DEVICE}" | egrep -v "egrep" \
  287.          | sed 's/^\([ 0- 9]*\) .*/\1'/`
  288.        kill -KILL `ps -ax | egrep " sleep 16000" | egrep -v "egrep" \
  289.          | sed 's/^\([ 0-9]* \) .*/\1'/`
  290.        # switch line back to normal (closes line)
  291.        /bin/stty -f /dev/$DEVICE -clocal
  292.        # unlock the device
  293.        /usr/local/etc/unlock LCK..$DEVICE
  294.     
  295.        exit 0
  296.     
  297.     
  298.     And that should do it. Happy SLIPping!
  299.  
  300.  
  301. 7.2    PPP
  302.  
  303.     Implementations of Point to Point Protocol are also available.  PPP
  304.     has been available since the 0.9 release of NetBSD and is in the 
  305.     current releases of FreeBSD, OpenBSD,  and NetBSD.
  306.  
  307.     It should also be noted that there is a newsgroup that covers the 
  308.     PPP protocol exclusively.  It is comp.protocols.ppp.
  309.  
  310.     Here is some information for people desiring to set up PPP in
  311.     there systems:
  312.  
  313.  
  314.     A simple way to do this is to use the "chat" and a chat file.  I 
  315.     use the following command to initiate a connection :
  316.  
  317.             root# pppd tty01 19200 connect 'chat -v -f chat.my-isp'
  318.  
  319.     And in the chat.my-isp file:
  320.  
  321.             ABORT BUSY
  322.         ABORT ERROR
  323.         ABORT 'NO DIALTONE'
  324.         ABORT 'NO CARRIER'
  325.         '' ATZ OK ATDT1234567 CONNECT \d
  326.         TIMEOUT 5
  327.         ogin:\s--ogin:\s mylogin ssword: mypasswd prompt:\s /usr/lib/ppp/ppp
  328.  
  329.     This dials, connects and negotiates the addresses from just one 
  330.     line entered.
  331.  
  332.     To kill the connection:
  333.         root # kill `cat /var/run/ppp0.pid`
  334.     which has the added advantage of hanging up the phone if the modem 
  335.     is set up appropriately.
  336.  
  337.     The biggest problem that I ever had with this was working out the 
  338.     chat script and that was debugged by adding the following line in 
  339.     /etc/syslog.conf:
  340.  
  341.         # Hand chat debug messages to root
  342.         local2.debug            root
  343.  
  344.     The PPP.FAQ was helpful, but I ignored quite a bit of it and depended 
  345.     more on the online manuals.
  346.  
  347.     For setting up the PPP daemon, here is some more information:
  348.  
  349.     For NetBSD, it turned out that I needed to rebuild the kernel with
  350.     the following line in my config file,
  351.  
  352.         pseudo-device ppp 1
  353.  
  354.     This line adds a device driver to the kernel that does the ppp 
  355.     protocol.  Once I had that built in, everything worked the first time.
  356.  
  357.     This is the kind of sequence I go through to start ppp:
  358.  
  359.     1. Connect with kermit to my ppp account and login.  The account 
  360.     tells me when it starts ppp.
  361.  
  362.     2. "Suspend" kermit (i. e. put it in the background). This gets me
  363.     back to the shell prompt. (You can get kermit back using the "fg" 
  364.     command)
  365.  
  366.     3. Start "pppd".  When the shell prompt returns, I then have 
  367.     Internet access!
  368.  
  369.     That's it.  This procedure will get you access to machines by using 
  370.     their IP address numbers.  You still have to configure a name server 
  371.     in "resolv.conf" in order to get DNS functionality.  My resolv.conf 
  372.     looks like this:
  373.  
  374.     domain umd.edu            # Maryland's domain name
  375.     nameserver      128.8.5.2    # These are the IP addresses of three 
  376.     nameserver      128.8.126.2    #  hosts that can act as name servers
  377.     nameserver      128.8.126.3
  378.  
  379.     The name servers should be as "close" as possible.  Whatever machine 
  380.     manages the modem pool your on would be the best but any machine on 
  381.     your local loop will give you good performance.
  382.  
  383.     If your Internet Service Provider uses dynamic addressing,  You 
  384.     don't even have to worry about this.  It's the point of PPP.  It's 
  385.     actually a good thing from a security point of view.  Your IP address 
  386.     changes w.r.t. to the rest of the net periodically.  By the way, 
  387.     don't forget passwords on all your accounts!!  When your on PPP, 
  388.     the rest of the net can see you too, you look like a full Internet 
  389.     host.
  390.  
  391.  
  392.     It is important to look into the following to see if any of them
  393.     apply to you, if you still have questions:
  394.  
  395.  
  396.     Here is a sample PPP config.
  397.  
  398.     1)  Make /etc/ppp directory, then populate as follows:
  399.  
  400.     2)  Include the following in '/etc/ppp/options':
  401.  
  402.     crtscts
  403.     modem    /* This option opens the port with O_NONBLOCK if there
  404.            is a connect options specified, and resets CLOCAL when
  405.            the connection is closed */
  406.     19200
  407.     defaultroute
  408.     netmask 255.255.255.0
  409.     ipcp-accept-local
  410.     ipcp-accept-remote
  411.     noipdefault
  412.     connect "/usr/sbin/chat -v -f /etc/ppp/sample.chat"
  413.     
  414.     3)  Make sure the modem line (in the '/etc/ttys' file) doesn't
  415.     have the 'local' or 'softcar' options included.  With 'local;, CLOCAL
  416.     will be set for that line and SIGHUP may or may not be sent,
  417.     apparently based on the age of the software.  The "modem" option
  418.     in the 'options' file (above) should clear that, but it may or
  419.     may not ever work.  If you have "softcar" in /etc/ttys, then the
  420.     SIGHUP (in fact, almost all of the signals)  will never work
  421.     because the modem lines are effectively ignored, thereby leaving
  422.     the modem in whatever mode it is in.
  423.  
  424.     4)  Include the following in '/etc/ppp/sample.chat':
  425.     
  426.     ABORT BUSY ABORT 'NO CARRIER'
  427.     '' atdt5551212
  428.     
  429.     rname: {sample}
  430.     sword: crack-me
  431.     annex: {whatever}
  432.     PPP.
  433.     
  434.     
  435.     This setup uses LCP and IPCP (parts of PPP) to negotiate the
  436.     dynamic IP addresses.  This setup assumes an ISP which uses an
  437.     annex terminal server.  It prompts for "Annex username:" and 
  438.     "Annex password:".  You then get to the command line prompt: 
  439.     "annex:", at which point "PPP" starts the PPP session.  You 
  440.     will have to edit this to suit.  If your ISP uses a system where
  441.     you are automatically connected to PPP when you log in, your
  442.     '/etc/ppp/sample.chat' file might look like this:
  443.  
  444.     ABORT BUSY ABORT 'NO CARRIER'
  445.     '' atdt5551212
  446.     
  447.     rname: {sample}
  448.     sword: crackme
  449.  
  450.     To implement a 'permanent PPP' dial-up connection, the following
  451.     has been used (by me specifically!)  This works in NetBSD 1.1 or
  452.     higher, OpenBSD, and perhaps recent versions of FreeBSD:
  453.  
  454.  
  455.     The following line in /etc/ttys works wonders for making a 
  456.     permanent link:
  457.  
  458.     tty01   "/usr/sbin/pppd"                unknown on rtcsts
  459.  
  460.     The file '/etc/ppp/options' looks like:
  461.  
  462.     /dev/tty01
  463.     115200
  464.     connect "/usr/sbin/chat '' 'atdt1' 'ogin:' 'x' 'sword:' 'x'"
  465.     crtscts
  466.     defaultroute
  467.     lock
  468.     netmask 255.255.255.0
  469.     n.n.n.n:n.n.n.n
  470.     -ip
  471.     modem
  472.     mtu 1500
  473.     -detach
  474.  
  475.     You will, of course, have to make some changes if you have 
  476.     multiple ppp connections.  The key here is the '-detach' to 
  477.     make the pppd remain connected to the controlling terminal 
  478.     (the modem).  The basic idea is if the link drops (i.e. loses 
  479.     carrier), a hangup signal will be sent to pppd, causing it to 
  480.     exit, and init will restart it.
  481.  
  482.     You can also try 'demand dialed PPP' by getting the iij-ppp
  483.     package from the following:
  484.  
  485.     ftp://ftp.iij.ad.jp/pub/network/iij-ppp0.94beta2.tar.gz) 
  486.  
  487.     It supports BSDI's BSD/386 1.1, FreeBSD-2.0, and NetBSD-1.0, but 
  488.     it should be really easy to make it work with NetBSD-1.1 (it 
  489.     comes with a patched NetBSD-1.0 tun driver... to get it working
  490.     with 1.1 or -current you will need to make the same patches to 
  491.     NetBSD-1.1's tun driver).  You can also try 'dp' at:
  492.  
  493.     ftp://phoenix.acn.purdue.edu/dp/dp-4.0.tar.gz
  494.  
  495.  
  496. 7.2.1    I have a problem with my PPP connection.  From time to time, the
  497.     connection will just 'pause'.  If I do something in another
  498.     window which polls some other external machine, the connection
  499.     will 'unpause' for a while.
  500.  
  501.     There are two possibilities.  One is that the Van-Jacobsen
  502.     compression is messing up one of the computers on the link.
  503.     Test this by disabling VJ compression on the PPP link (change
  504.     the options file to use '-vjccomp').  
  505.  
  506.     The other possibility is one of the machine in the circuit is
  507.     not processing handshaking correctly.  Check the &k setting (for
  508.     hardware handshaking) and makre sure it is set correctly.  Also
  509.     check your cables (if appropriate).  
  510.  
  511.     Usually, this problem is caused by a handshaking error; either
  512.     the computer can't get the modem to stop sending data, or vice
  513.     versa.
  514.  
  515.  
  516. 7.3    TCP/IP
  517.  
  518.     TCP/IP is an integral part of BSD 4.4 Lite.  There are at least 
  519.     five different network card drivers.  TCP/IP is fully supported 
  520.     and is available to all users of all derived BSD systems.  In 
  521.     fact, many people believe that this area is one of the primary 
  522.     advantages that BSD has over Linux.  After all, TCP/IP was
  523.     invented in BSD.
  524.  
  525. 7.3.1    Where can I obtain *BSD source code to add IP Security
  526.     per the IETF RFCs (RFC-1825 through RFC-1829) to my system ?
  527.  
  528.     People in the US can get source code for this from
  529.     http://web.mit.edu/network/isakmp/ by following the instructions
  530.     on the web download form.  The NRL IPsec+IPv6 distribution
  531.     there includes IPsec for IPv4 and IPsec for IPv6 and the
  532.     PF_KEY Key Management Socket API extension.  Needless to
  533.     say, folks inexperienced in building kernels ought not
  534.     be trying this.
  535.  
  536.     People outside the US can get the NRL source code
  537.     from ftp://ftp.ripe.net/ipv6/nrl/
  538.  
  539.     The NRL code comes pre-ported to BSDI and NetBSD.
  540.     A FreeBSD port is possible but would take a little work.
  541.  
  542.     (thanks to rja@inet.org)
  543.  
  544.  
  545. 7.4    UUCP
  546.  
  547.     There is an excellent document included in the UUCP directory
  548.     that describes in detail, what needs to be done to get a
  549.     working UUCP for derived BSD systems.  Look in the 
  550.     /usr/src/gnu/libexec/uucp directory for more information.  You 
  551.     can also look in the /usr/share/doc/smm/09.uucpimpl and 
  552.     /usr/share/doc/smm/21.uucpnet if yours are populated.
  553.  
  554.     
  555. 7.4.1    TIP/CU
  556.  
  557.     First thing you need to do is...
  558.  
  559.         vi /etc/remote
  560.  
  561.     Then remove the two lines at the bottom of the file that mention 
  562.     com1, and com2.  Now add the following lines:
  563.  
  564.         tty00:dv=/dev/tty00:br#9600:
  565.         tty01:dv=/dev/tty01:br#9600:
  566.  
  567.     That tells tip/cu where to find your com ports.  Next you need 
  568.     to be logged in as root and do a:
  569.  
  570.         chown uucp.dialer /dev/tty00
  571.         chown uucp.dialer /dev/tty01
  572.         touch /var/log/aculog
  573.         chown uucp.dialer /var/log/aculog
  574.  
  575.     Make sure that, if you are running newsyslog, you change the 
  576.     owner.group entry in the newsyslog.conf file so that the file
  577.     ownership is maintained correctly.
  578.  
  579.     Then you should be all set, remember "DOS Com1" = tty00, and 
  580.     "DOS Com2" = tty01.  So, if your modem is at 0x2F8/IRQ=3 and 
  581.     you access it as the COM2: port from DOS, you would do..
  582.  
  583.         tip tty01
  584.  
  585.     To exit, type <RETURN>~.<RETURN>
  586.  
  587.     Many people have other problems with cu.  The lock open: 
  588.     procedure is one of them.   If you receive the error:
  589.  
  590.     lock open: no such file or directory
  591.     all ports busy
  592.  
  593.     You need to create a directory: /var/spool/lock, owned by uucp.  If
  594.     this file already exists and is owned correctly, make sure that the
  595.     lock file in the directory is deleted.
  596.  
  597.     If you receive the error "cu: write: Input/output error"
  598.  
  599.     You may be able to fix this by creating an /etc/uucp/ports file 
  600.     (see Taylor UUCP docs).
  601.  
  602.     In addition, those of you using cu version 1.04 may need to add the
  603.     following to their susyem:
  604.  
  605.     create an /etc/uucp/ports file that looked like this:
  606.  
  607.     port mymodem
  608.         type modem
  609.         device /dev/tty01
  610.         speed 19200
  611.  
  612.     Now cu knows that the line is connected to a modem it does the 
  613.     right thing regarding setting CLOCAL on the line.  You don't 
  614.     even have to have either of local or softcar set in /etc/ttys.
  615.  
  616.     Since cu's behavior seems to be correct, I'm happy now.  All I 
  617.     need to really make my day though is to have John or Martin to 
  618.     tell me that cu 1.04 still works for them even though they don't 
  619.     have an /etc/uucp/ports (or equivalent HDB or V2 uucp config) 
  620.     file ... :-)
  621.  
  622.  
  623. 7.4.2    What is the magic incantation that allows the modem to dial?
  624.  
  625.     Try 'stty -f /dev/tty0? clocal'.  Change the '?' for whatever 
  626.     character is appropriate for your tty port.  Remember, DOS COM1 = 
  627.     /dev/tty00 and DOS COM2 = /dev/tty01...
  628.  
  629.     Some other things that might cause some problems are the entries
  630.     in the /etc/remotes file.  Try 'com?:dv=/dev/tty0?:br#19200:pa=none'
  631.     and see if that helps.  Remember to replace the '?' with '[01234]'
  632.     as appropriate.
  633.  
  634.     NetBSD-current has implemented the 'ttyflags' program.  This
  635.     will set your com ports according to the options specified in
  636.     the /dev/ttys files.  This is an even better solution than the
  637.     'stty ... clocal' fix from above!
  638.  
  639.     FreeBSD sets this up a little bit differently by having separate
  640.     dial in and dial out devices available.  The /dev/cua?? devices
  641.     all have clocal set by default to allow the system to dial out
  642.     without having a carrier present.  If you are using FreeBSD and
  643.     don't have any cua devices in the /dev/ directory, you need to
  644.     run the ./MAKEDEV script.  See the man page for more information.
  645.  
  646.  
  647. 7.4.3    My modem on DOS COM3 or DOS COM4 works with DOS, but not with
  648.     *BSD.  It is set up using IRQ 4 (or 3) respectively.
  649.  
  650.     One of the MAJOR differences between DOS and *BSD is that *BSD
  651.     actually USES the IRQ lines (*gasp*)...  That means that every 
  652.     device on the ISA bus has to have it's own IRQ.  Since COM1 and
  653.     COM2 (/dev/tty00 and /dev/tty01) are already defined using IRQs
  654.     4 and 3 respectively, that means that COM3 and COM4 (/dev/tty02 
  655.     and /dev/tty03) need to be put onto different IRQs.  The default
  656.     GENERICAHA kernel defines the third com port (COM3 or /dev/tty02)
  657.     to be on IRQ5.  You need to reconfigure your com port (for 
  658.     external modems) or modem (for internal modems) to use IRQ5.  
  659.     The GENERICBBT kernel defines the COM4 port to be on IRQ9 (or 2).
  660.     If you have to put your devices on other ports, you will need to
  661.     recompile the kernel.
  662.  
  663. 7.5    How do I configure my nameserver?
  664.  
  665.     There are several systems that implement /etc/nsswitch.conf
  666.     instead of the /etc/resolver.conf database.  Each has advantages
  667.     and disadvantages, and both have been implemented for NetBSD.
  668.     If you want to use nsswitch, you can get it at 'ftp://?/?'.
  669.  
  670. 7.6    Terminals
  671.  
  672.     Since the target machine for most BSD machines is a 386 with 
  673.     no more than a couple of serial ports, most people do not bother 
  674.     with serial terminals.  For most problems, a quick perusal of the 
  675.     man pages for the ttys file and getty are enough to get them 
  676.     started.  Other than that, most terminal problems are limited to
  677.     peculiarities of particular terminals.
  678.  
  679.     One common problem that appears to crop up from time to time is
  680.     which wires need to be connected at each end of the cable.  Most
  681.     cables do not, in fact, pass through all lines.  If your terminal 
  682.     uses XON/XOFF (DC1/DC3) protocol, a cable of the appropriate 
  683.     twist, either straight through or null modem, can have as few as
  684.     three lines connecting the two devices.  Assuming DB-25 connections
  685.     at each end, the lines need to go from 2 to 3, 3 to 2, and 7 to 7.
  686.     These lines are Rx, Tx, and gnd.  Other lines that may or may not
  687.     be required include 4 and 5; and 6, 8, and 20.  Normally, these 
  688.     lines would be connected within the 'hood' of the cable (4 to 5 
  689.     and 6 and 8 to 20) to simulate the functionality of the full 
  690.     blown cable.  While full support for CTS/RTS is not available 
  691.     (yet), other support for the remainder of these lines is available 
  692.     or is being worked on in all BSD derived systems.  Without this
  693.     handshaking (particularly pins 6, 8, and 20) your ports may appear
  694.     to be dead.  This is because most of the tty driver for *BSD 
  695.     systems require a Data Carrier Detect to be active before the
  696.     port will work.
  697.  
  698.     For those folks that have hardware flow control working, you need
  699.     to look in the man page for 'stty' and look around for the 
  700.     -clocal and -ctrcrts options.
  701.  
  702.     Once the cable is set up, you will need to make sure that your
  703.     system is ready.  The first thing you will need to do is make all
  704.     of the devices in the /dev/ directory.  A program, called MAKEDEV,
  705.     is available in the /dev directory.  Running this program with 
  706.     the argument 'tty' will make all of the physical tty devices.
  707.  
  708.     With that done, arranging for a 'getty' on the port is the next 
  709.     order of business.  You will need to edit the '/etc/ttys' file
  710.     and make one of the tty devices available.  If you have 
  711.     connected your terminal to DOS COM1, you will be enabling 
  712.     /dev/tty00.  Similarly, if you are connected to COM2:, you will
  713.     be enabling /dev/tty01 (see the pattern?).  There are other
  714.     names for those ports as well, but when you are talking about 
  715.     terminals, be sure to use the '/dev/tty*' names.  If not, you 
  716.     will be completely ignored and treated as an outcast because 
  717.     you obviously have not done any of your homework.
  718.  
  719.     One of the other common problems with the SIO driver is that 
  720.     people will often disable all handshaking, and then complain
  721.     that they cannot get a reliable connection above 9600 baud.  
  722.     Handshaking is the solution to most of these problems.
  723.  
  724.  
  725. 7.7    My network manager (or UUCP feed site admin) just informed me 
  726.     that the way I have installed sendmail through my UUCP connection 
  727.     and has caused a sendmail loop.  Can you help me get sendmail 
  728.     installed correctly?
  729.  
  730.     (1) Go into sendmail's source directory tree
  731.  
  732.         cd /usr/src/usr.sbin/sendmail/cf/cf
  733.  
  734.     (2) Make the missing obj directory first, you need it later...
  735.  
  736.         mkdir obj
  737.  
  738.     (3) Create a sendmail master configuration file (.mc file). Name 
  739.     it yourname.mc
  740.  
  741.         vi yourname.mc
  742.  
  743.     (4) Contents of the yourname.mc file:
  744.  
  745.     #---------------------------------------------------------------
  746.     divert(-1)
  747.     #
  748.     #  This is the prototype for a site with only a uucp connection
  749.     #  to the world, where smarthost and uucp relay are the same ...
  750.     #  Replace "yourname" with your machines nodename without domain
  751.     #  Replace "smarthost" with your uucp neighbours nodename without 
  752.     #  domain i.e. here is myname "knobel" and my smarthost is "gomel", 
  753.     #  to which I'm connected with uucp via dialup modem.
  754.  
  755.     divert(-1)
  756.     VERSIONID(`yourname.mc 1.0')
  757.  
  758.     include(`../m4/cf.m4')
  759.  
  760.     OSTYPE(bsd4.4)
  761.  
  762.     FEATURE(nodns)dnl
  763.  
  764.     MAILER(local)dnl
  765.     MAILER(smtp)dnl
  766.     MAILER(uucp)dnl
  767.     
  768.     define(`UUCP_MAX_SIZE', 2000000)dnl
  769.     define(`SMART_HOST', `uucp-dom:smarthost')dnl
  770.     define(`UUCP_RELAY', `uucp-dom:smarthost')dnl
  771.     #--------------------------------------------------------------
  772.     
  773.     In the siteconfig directory (.../sendmail/cf/siteconfig)
  774.     create a file uucp.yourname
  775.  
  776.     Put a list of machines into this file to which you have active
  777.     uucp/mail connection. Generally only the name of your smarthost 
  778.     ....  Unknown addresses are routed to your smarthost ....
  779.  
  780.     siteconfig/uucp.yourname:
  781.     #----------------------------------------------------------------------
  782.     SITE(nodename_of_your_smarthost)
  783.     #----------------------------------------------------------------------
  784.  
  785.     (5) create the new sendmail configuration file, which will be 
  786.     stored under obj/yourname.cf, by typing
  787.     
  788.         make yourname.cf
  789.     
  790.     (6) After that copy obj/yourname.cf to /etc/sendmail.cf
  791.     
  792.     (7) It's up to you to browse through the systems global aliases
  793.      file ((etc/aliases), where important mail aliases are stored.
  794.     After editing this file you should invoke the command newaliases 
  795.     to update the corresponding database file
  796.  
  797.     newaliases
  798.  
  799.     (8) Then create/edit the file "/etc/sendmail.cw".   This file 
  800.     contains alias names of your system (a list of additional names 
  801.     under that your system might receive e-mail):
  802.  
  803.     yourname
  804.     yourname.uucp
  805.     yourname.domain
  806.  
  807.     (9) Then create a file /etc/mailertable:
  808.     Here you have to say what else (uucp addresses, too)
  809.     has to be sent to your smarthost ...
  810.  
  811.     .uucp        uucp-uudom:name_of_your_uucp_smarthost
  812.     
  813.     (10) Create the hash table the following way:
  814.  
  815.     makemap hash /etc/mailertable.db < /etc/mailertable
  816.  
  817.      Remember, if you make any changes you have to rebuild the
  818.      aliases database by typing:
  819.     
  820.         newaliases
  821.  
  822.     (11) BTW: You do not need to create a frozen config file,
  823.     since sendmail on FreeBSD 1.X and NetBSD aren't compiled with 
  824.     that option turned on.
  825.  
  826.     (12) ``Hot files'' with more information (see sendmail src tree):
  827.         FAQ KNOWNBUGS RELEASE_NOTES cf/README
  828.  
  829.  
  830. 7.8    Can network attached assets be used by/from NetBSD? FreeBSD?
  831.     OpenBSD?
  832.  
  833.     Yes, they can, assuming the machine at the other end of the 
  834.     connections is reasonably cooperative.  The specifics are up to
  835.     the remote machine, but a couple of things that you can start 
  836.     looking for that will help are provided below:
  837.  
  838.         -  Ask the system administrator of the machine in
  839.            question if it is OK for you to use whatever it is 
  840.            you need.  This is more a matter of manners than a 
  841.            technical issue. 
  842.  
  843.         -  For NFS mounted disk drives, make sure that you are 
  844.            not prevented from using the assets by the 
  845.            /etc/exports (or equivalent) file.  This goes for 
  846.            CD-ROMs as well as regular mounted disks.
  847.  
  848.         -  There are a completely different set of concerns for
  849.            tapes and printers.  Each system implements these in
  850.            slightly different ways.  Check with your system 
  851.            manager or documentation for more information.
  852.  
  853.         -  Diskless booting is possible for all three systems,
  854.            for a little more detail, see below.
  855.  
  856.     Note that not all network clients are created equal.  There may
  857.     be semantic differences between what you EXPECT to happen and
  858.     what actually happens.  Your best bet at that point is to get
  859.     with the local system manager and talk to him or her about what
  860.     you should be expecting on the system and what is actually
  861.     happening.  An excellent example is the semantics of file group
  862.     accounts when a new file is created on an NFS machine.  The
  863.     semantics of the create will be based on the OS on the SERVER,
  864.     so it will be whatever SysV or Sun thinks is correct, not what
  865.     we expect from the BSD side.
  866.  
  867.     There is a package available which can also be used by *BSD
  868.     which will allow your machine to be visible to LanManager or
  869.     Windows NT clients.  The package is called 'SAMBA' and includes
  870.     information about how to configure the package to work with
  871.     NetBSD, OpenBSD, and FreeBSD.  Works good for me.
  872.  
  873.  
  874. 7.8.1    Is it possible to Network boot a NetBSD machine from a network
  875.     on a diskless Sparc?
  876.  
  877.     Yes, it's even more than possible, it actually works!  Since
  878.     OpenBSD tracks NetBSD closely, it is also possible to do this
  879.     with OpenBSD.
  880.  
  881.     Anders Magnusson (ragge@ludd.luth.se) has run it on diskless
  882.     SLCs, and the only problem they had was when the machine got
  883.     heavily loaded it ran out of mbufs (also sometimes a problem for
  884.     regular systems).  It is reportedly faster than SunOS4 as long
  885.     there was lots of free memory in the machine.
  886.  
  887.     For the most part, setting up a diskless client is fairly
  888.     straightforward.  The FreeBSD diskless FAQ gives step by step
  889.     instructions for setting up bootp and the other programs that
  890.     need to be configured.
  891.  
  892.  
  893. 7.8.2    I have been working with FreeBSD 1.5.1 with some machines 
  894.     configured as diskless.  How can I do the same for 2.0R (i.e., 
  895.     Which are the magic words to put in the  Kernel configuration 
  896.     file?)
  897.  
  898.     In FreeBSD, there is a file called Diskless.FAQ in the
  899.     usr/share/FAQ directory.  It describes the procedures for
  900.     diskless booting of an i386 on FreeBSD.
  901.  
  902.     Please note that netboot.[cr]om programs from FreeBSD 1.1.5.1 
  903.     do not work with 2.0 and vice versa.
  904.  
  905.     Note that this is just a pointer to the Diskless FAQ.  You can
  906.     get the file from ftp.freebsd.org.
  907.  
  908.  
  909. 7.8.3    How can I get ISDN to work?
  910.  
  911.     It depends.  There are several levels of ISDN, all of which seem
  912.     to be incomaptible.  One of the highly regarded packages for
  913.     adding most ISDN connectivity is the bisdn package available
  914.     from muc.ditec.de.
  915.  
  916. -- 
  917. Dave Burgess                   Network Engineer - Nebraska On-Ramp, Inc.
  918. *bsd FAQ Maintainer / SysAdmin for the NetBSD system in my spare bedroom
  919. "Just because something is stupid doesn't mean there isn't someone that 
  920. doesn't want to do it...."
  921.