Penguin
Diff: HowToPortSlave
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of HowToPortSlave.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Sunday, November 28, 2004 1:01:14 am by AristotlePagaltzis
Older page: version 2 Last edited on Friday, June 7, 2002 1:07:19 am by perry Revert
@@ -1,429 +1 @@
-!PortSlave How-To using the Linux Router  
-!!!!PortSlave How-To using the Linux Router  
-!Tom !McKellips  
-  
- tom@computechnology.com  
-  
-  
-  
-__Revision History__Revision v1.008 October 2000  
-  
-  
-  
-  
-  
- I wrote this as a beginning for using Portslave with the  
-Linux router project. It seems that Portslave is a widely used  
-program with no documentation. Since I just dove into using  
-Portslave I am sure this document can be improved by others over  
-time. After several days of fighting Portslave, I figured out how  
-incredibly easy to use it really is.  
-  
-  
-  
-  
-  
-  
-----; __Table of Contents__; 1. Introduction: ; 1.1. Copyright Information; 1.2. Disclaimer; 2. The Procedure  
-!!!1. Introduction  
-  
- Share this with all; sell it to no one.  
-  
-  
-  
-  
-First, I just want to thank all the Linux programmers out there. Your  
-contributions have made a difference. I hope this small contribution  
-is useful to the Linux users out there.  
-  
-  
-  
-  
-I wrote this as a beginning for using Portslave with the  
-Linux router project. It seems that Portslave is a widely used  
-program with no documentation. Since I just dove into using Portslave  
-I am sure this document can be improved by others over time. After  
-several days of fighting Portslave I figured out how incredibly easy  
-to use it really is.  
-  
-  
-  
-  
-The trouble I ran into most of the time was PAP Authentication  
-failure. This was really tough thing to work out (I thought). I also  
-had a few other errors, but if you follow this How To it should at  
-least get you started (or start you to the insane asylum).  
-  
-  
-----  
-!!1.1. Copyright Information  
-  
- This document is copyrighted (c) 2000 Tom !McKellips and is  
-distributed under the terms of the Linux Documentation Project  
-(LDP) license, stated below.  
-  
-  
-  
-  
- Unless otherwise stated, Linux HOWTO documents are  
-copyrighted by their respective authors. Linux HOWTO documents may  
-be reproduced and distributed in whole or in part, in any medium  
-physical or electronic, as long as this copyright notice is  
-retained on all copies. Commercial redistribution is allowed and  
-encouraged; however, the author would like to be notified of any  
-such distributions.  
-  
-  
-  
-  
- All translations, derivative works, or aggregate works  
-incorporating any Linux HOWTO documents must be covered under this  
-copyright notice. That is, you may not produce a derivative work  
-from a HOWTO and impose additional restrictions on its  
-distribution. Exceptions to these rules may be granted under  
-certain conditions; please contact the Linux HOWTO coordinator at  
-the address given below.  
-  
-  
-  
-  
- In short, we wish to promote dissemination of this  
-information through as many channels as possible. However, we do  
-wish to retain copyright on the HOWTO documents, and would like to  
-be notified of any plans to redistribute the HOWTOs.  
-  
-  
-  
-  
- If you have any questions, please contact  
-`linux-howto@metalab.unc.edub  
-  
-  
-----  
-!!1.2. Disclaimer  
-  
- No liability for the contents of this documents can be accepted.  
-Use the concepts, examples and other content at your own risk.  
-As this is a new edition of this document, there may be errors  
-and inaccuracies, that may of course be damaging to your system.  
-Proceed with caution, and although this is highly unlikely,  
-the author does not take any responsibility for that.  
-  
-  
-  
-  
- All copyrights are held by their respective owners, unless  
-specifically noted otherwise. Use of a term in this document  
-should not be regarded as affecting the validity of any trademark  
-or service mark.  
-  
-  
-  
-  
- Naming of particular products or brands should not be seen  
-as endorsements.  
-  
-  
-  
-  
- You are strongly recommended to take a backup of your system  
-before major installation and backups at regular intervals.  
-  
-  
-----  
-!!!2. The Procedure  
-  
-First, you need a running version of LRP - either build the disk yourself  
-or you can grab an image of mine at:  
-http://www.computechnology.com/pslave1440.img.  
-This is a copy of my  
-working disk and you can directly write an image of it to your disk.  
-It will get you started. All you will then have to do is change to  
-the appropriate IP numbers and network card drivers. I won't get into  
-building a lrp disk here because there seems to be fairly good  
-documentation on that subject available.  
-  
-  
-  
-Assuming you have your disk built, and you computer running, here is  
-what we need to do to configure your disk.  
-  
-  
-  
-First, ''DELETE'' (yes, I said  
-''DELETE'') all options.tty??  
-files, the options file, and pap-secrets files located  
-under /etc/ppp-radius and  
-/etc/ppp. If you have an /etc/ppp,  
-you probably installed ppp.lrp. Also  
-remove ppp.lrp from your disk and  
-/etc/ppp will go away.  
-  
-  
-  
-Next, go to /etc/portslave and adjust the  
-pslave.conf file accordingly. I will now  
-take you through that file line-by-line. I don't know what all of it  
-means but I made it work so you can to.  
-  
-  
-  
-  
-#  
-# pslave.conf Here is the sample server configuration file.  
-#  
-# Version: 1.17 03-Nov-1998  
-#  
-#  
-# Hostname of the system.  
-#  
-# This is my routers name. Your routers name will be different  
-conf.hostname hma2.cpty.net  
-#  
-# IP address - if left empty, uses the IP address of the system (hostname).  
-#  
-# This is used as the "local" address for SLIP and PPP connections.  
-# This is my routers IP address yours will be different use your routers  
-# IP number here  
-conf.ipno 10...4  
-#  
-# Lock directory - on FSSTND compliant systems it's /var/lock.  
-#  
-# No need to change this  
-conf.lockdir /var/lock  
-#  
-# Where to find the rlogin binary that accepts the "-i" flag.  
-#  
-# No need to change this  
-conf.rlogin /usr/bin/rlogin-radius  
-#  
-# Where to find our patched pppd that has radius linked in.  
-#  
-# No need to change this  
-conf.pppd /usr/sbin/pppd-radius  
-#  
-# Where to find telnet. This can just be the system telnet.  
-#  
-# This can stay or go  
-conf.telnet /usr/bin/telnet  
-#  
-# If you set this to "1", you can always login locally by putting a '!'  
-# before your loginname. Useful for emergencies when the RADIUS server is down.  
-# Make this either 0 or 1 as mentioned above  
-conf.locallogins 1  
-#  
-# Logging stuff - this program can use a remote syslog daemon if needed.  
-#  
-# If you want to log locally leave the "syslog" field empty. The facility  
-# field is an integer between 0 and 7 and sets the syslog facility to  
-# local0-local7.  
-#  
-# For now I log local to my router that is why I do not have anything  
-# after syslog  
-conf.syslog  
-conf.facility 6  
-#  
-# Stripnames - if you set this to "1", leading "P", "S", "C", "L" or "!"  
-# characters and trailing ".slip", ".cslip" and ".ppp" strings will be  
-# stripped from the username before it is recorded in the system  
-# utmp and wtmp files (if sysutmp or syswtmp are turned on of course)  
-#  
-# No need to change this  
-conf.stripnames  
-##  
-## The all entry is used as a template for all others. This means that  
-## setting all.debug to , you set s0.debug, s1.debug, s2.debug etc.  
-## to . It also means that all these settings can be overridden on a  
-## per-port basis below.  
-##  
-## The "all." stuff is the default for everything unless you specifically  
-## override it. I'll show you that at the end of this.  
-#  
-# Debugging output to syslog. Set to 0 or 1. "1" is pretty verbose.  
-# This can be 0 or 1. I like 1 because it gives lots of info  
-all.debug 1  
-#  
-# Authentication type - either "radius" or "none".  
-#  
-# Leave this as it is  
-all.authtype radius  
-#  
-# Authentication host and accounting host. We can have 2 of both. The  
-# first one is always tried three times before switching to the second one.  
-# They are alternately tried after that, up to maximum 10 times in total.  
-# Timeout is 5 seconds per query.  
-#  
-# These are the names of my RADIUS servers; name your RADIUS servers here  
-all.authhost1 cody.cpty.net  
-all.accthost1 cody.cpty.net  
-#all.authhost2 backuphost.someisp.com  
-#all.accthost2 backuphost.someisp.com  
-#  
-#  
-# The shared secret for RADIUS.  
-#  
-# Put your shared secret here, this must match the shared secret in  
-# your RADIUS servers clients file for the IP number or name of this router.  
-all.secret superagentman  
-#  
-# Default protocol and host. This is for rlogin sessions.  
-#  
-# Just change the all.host to the IP number of your router this should  
-# match what you have at the top of this file  
-all.protocol rlogin  
-all.host 10...4  
-#  
-# Default IP stuff. If you end the "ipno" with a "+", the portnumber will  
-# be added to the IP number. The IP number of a port is used when the RADIUS  
-# server doesn't send an IP number, or if it tells us to use a dynamic ipno.  
-#  
-# Leave the netmask at 255.255.255.255, unless you really know what  
-# you're doing.  
-#  
-# This seemed a little confusing, but since I went with static IP numbers  
-# this was easy. I do not have "+" after my IP number because I directly  
-# assign the IP number to a MODEM at the end of this file.  
-#  
-# I modified the netmask to match that of my network. And I left MTU alone  
-all.ipno 10...4  
-all.netmask 255.255.255.  
-all.mtu 1500  
-#  
-# Standard message that is issued on connect.  
-#  
-# No need to change this  
-all.issue \n\  
-Cistron Internet Services \n\  
-POP Alphen aan den Rijn \n\  
-Welcome to terminal server %h port S%p\n  
-#  
-# Login prompt.  
-#  
-# No Need to change this  
-all.prompt Cistron login:  
-#  
-# Terminal type, for rlogin/telnet sessions.  
-#  
-# No need to change this  
-all.term vt100  
-#  
-# If you want portslave to update the utmp and/or wtmp files just  
-# like a regular getty/login, set these to 1.  
-#  
-# I set both of these to 1; you can do what you want here  
-all.sysutmp 1  
-all.syswtmp 1  
-##  
-## Options for the serial port.  
-##  
-#  
-# Porttype (passed to Radius for logging).  
-# 0 = async, 1 = sync, 2 = ISDN, 3 = ISDN-V120, 4 = ISDN-V110  
-#  
-# Use 0 if its a modem  
-all.porttype  
-#  
-# Speed. All ports are set to 8N1.  
-#  
-# Set this to just beyond your max modem speed  
-all.speed 115200  
-#  
-# Use this to initialize the modem.  
-#  
-# I had to make this AT8F to reset the modem to it's defaults  
-# each time ATZ did not work. If you are not familiar with scripting  
-# then some of this won't make sense to you. That's ok; I didn't get u  
-# it either until I played with it.  
-all.initchat "" \d\dAT8F OK\r\n-AT8F-OK\r\n  
-#  
-# You can use either waitfor or aa.  
-#  
-# No need to change this  
-all.waitfor RING  
-#  
-# Chat string to get the modem to connect after waitfor.  
-#  
-# The @ sign matches (.*) [[\r\n ] in regexp code, the match is logged  
-# to Radius as Connection-Info.  
-#  
-# No need to change this  
-all.answer "" ATA CONNECT@  
-#  
-# Auto answer - if you set this to "1", the system will just wait for  
-# the DCD line to get high (this is not well tested). You won't get  
-# the connection info either.  
-#  
-# No need to change this  
-all.aa  
-#  
-# You can use this chatstring to regulary check if the modem is still alive.  
-#  
-# NOT IMPLEMENTED YET.  
-#  
-# I don't know if this line works or not. Let me know if you find anything  
-# out about it. Just leave it the same and portslave will work.  
-all.checktime 60  
-all.checkchat "" AT OK\r\n  
-#  
-# Flow control on this serial port:  
-#  
-# hard - hardware, rts/cts  
-# soft - software, CTRL-S / CTRL-Q  
-# none  
-#  
-# No need to change this  
-all.flow hard  
-#  
-# Use the DCD line or not (this sets CLOCAL if on). This means that the  
-# session will get hung up if the modem hangs up. Can be set to 0 or 1.  
-#  
-# No need to change this  
-all.dcd 1  
-#  
-# PPP options - used if we autodetect a PPP session.  
-#  
-# Note that we set mru and mtu both to the MTU setting.  
-#  
-# Look at these lines close; this is what worked for me.  
-# These parameters are sent to the ppp daemon when it  
-# is called. I think the autoppp is called first then  
-# after you are authenticated I think the second ppp is  
-# called. I don't know for sure that this is how it worked,  
-# but it appears that way to me  
-all.autoppp proxyarp modem asyncmap 0 %i: \  
-noipx noccp login auth +pap -chap \  
-mtu %t mru %t \  
-ms-dns 208.206.143.35 ms-dns 208.206.143.36 \  
-uselib /usr/lib/libpsr.so  
-#  
-# PPP options - User already authenticated and service type is PPP.  
-#  
-all.pppopt proxyarp modem asyncmap 0 %i:%j \  
-noipx noccp \  
-mtu %t mru %t netmask %m idle %I \  
-ms-dns 208.206.143.35 ms-dns 208.206.143.36 \  
-uselib /usr/lib/libpsr.so  
-##  
-## Tty names are s0...s63. For every port we need to define a tty port, and  
-## an IP number for when radius tells us to pick one ourself. Unless you  
-## use the IP pool option mentioned above (IP number with "+" appended).  
-##  
-## Note that you can change _all_ of the above settings that start  
-## with all.xxxx on a per-port basis, such as issue, prompt etc.  
-##  
-## This is where you can set options to a specific modem. sX.tty is  
-## for portslaves use you assign it to a real tty device.  
-## In the /etc/inittab you will see the lines portlsave 0 or 1 etc..  
-## this 0 or 1 is the tty device number portslave already knows it is  
-## "tty something" so all it requires is the last digits.  
-##  
-## Since my modem is on COM 4 (DOS) that means s3.tty is ttyS3  
-s3.tty ttyS3  
-# Now I can set options for that modem  
-#  
-# Here is it's IP number statically assigned  
-s3.ipno 10...202  
-# Here is the protocol to use on that modem. PAY CLOSE ATTENTION HERE!  
-# This is the line that finally made portslave work perfectly for me.  
-# You must tie the ppp protocol to your modem. Simple huh?  
-s3 .protocol ppp  
+Describe [HowToPortSlave ] here