home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!uknet!gdt!uwe-bristol!csd!p_copela
- From: p_copela@csd.uwe.ac.uk (Phil (SysAdmin Parallel Research))
- Newsgroups: comp.os.linux
- Subject: The EtherNet FAQ - v0.1 (Alpha Test)
- Message-ID: <1992Nov16.011245.18336@csd.uwe.ac.uk>
- Date: 16 Nov 92 01:12:45 GMT
- Sender: usenet@csd.uwe.ac.uk (uwe nntp usenet poster)
- Reply-To: p_copela@csd.bristol-poly.ac.uk
- Organization: The New University in the West of England, Bristol (WEB)
- Lines: 1190
- Nntp-Posting-Host: usenet@csd.uwe.ac.uk (uwe nntp usenet poster)
-
- Well if I don't post it now I never will. In future this FAQ will
- be posted on the net channel roughly every 1-2 weeks
-
- =======================
- The linux ether-NET FAQ
- =======================
-
- quick disclaimer: I must appologize for my luck of a spoll checkr
-
- i) Introduction
- ------------
-
- Hello and welcome to the wonderful world of linux network
- communications.
-
- Networking has always been one of the most exciting things
- that you can coax a computer to take advantage of. It allows
- you to store/retrieve files from remote machines (some of which
- are probably located in countries which you'll never get to visit)
-
- Networking also allows computers to interactively
- communicate with other processes or users on these remote machines
- allowing a new social aspect of computing to be approached (mainly
- in the form of talk or MUD (multi User Dungeon) sessions.
-
- Networking also has many stumbling blocks for the administrator
- to fall over, most notably the initial setting up of a system network
- can send the most sane person to eating the proverbial hat through
- the hell of trying to coax their machines into networking life.
-
- This FAQ is designed to help you start into networking in a
- positive direction by leading you simply to the network configuration
- that best suits you, whether you are a single machine with no network
- attachment (silly I know) to the multi billion cred networking enviroment
- of your country's local stock exchange. Please note that this FAQ does not
- follow the 'normal' format of other FAQ's as it's designed to teach you
- networking and it's idiosyncacies
-
-
-
- ii) What you NEED to get started
- ----------------------------
-
- To use TCP/IP on local ethernet you will need the following
-
- 1) A linux machine with linux kernel 0.98.4
-
- 2) A WD8003/WD8013 compatible MEMORY MAPPED ethernet card
- but WD8013 is probably the best to use due to its
- electronic reconfiguration rather than jumper settings
- although you'll probably need DOS to set it up
-
- You should note that the kernel will always claim to
- have found a WD8013. If this bothers you, change the printk
- in linux/net/tcp/we.c to reflect your hardware.
-
- *NOTE* no special hardward is needed to communicate with
- yourself
-
- Currently I know of three cards that will work (please tell
- me if there are more) support for the ne2000 is being
- worked on but little has been heard of it's progress
-
- These are the WD8013, WD8003, and the SMC Elite 16.
-
- 3) If you are only going to use 'loopback' mode, you probably
- won't need a card either! A special loopback device is used
- to comunicate with yourself
-
- 4) some tcp/ip software eg telnet/ftp/talk/finger/rcp/
- rsh/various other stuff like daemons etc...
-
- 5) Know the IRQ's of your internal cards.
-
- 6) A lot of coffee and one of those stress relieving
- gadgets you can get in the local market.
-
-
-
-
- iii) Where to start
- --------------
-
- First off you'll need to rebuild the kernel with networking compiled
- into the linux kernel. You do this by removing the '#'s in
- linux/net/Makefile on lines 13,14 and 26 if they haven't already been
- removed. Next you'll need to calibrate your network card. Decide what
- IRQ setting you'll need for the network card.
- Anyway for those who are frexible, the standard kernel parameters
- for this are :-
-
- INT = 5
- mem = D0000
- i/o addr = 280
- memory start = D0000
- memory end = D2000 (8K block for 8003, make it D4000
- 16k for the wd8013 )
-
- but these can be changed on lines 12-17 (16,17 being the most important)
- of the file linux/net/tcp/Space.c
-
- *NOTE* if you have problems with the memory start addr, please get in touch
- with bir7@EDU.Stanford.leland
-
- Future versions of the TCP/IP code will be setable at boot time via
- ioctl's. For those of you who do not have the wd8013 card, please refer to
- the ethernet board documentation on the jumper settings you may have to change.
-
- Right, compile the kernel (You may need to do a 'make clean dep Image')
- and hopefully on the next reboot with the new kernel it should detect your card
- telling you of the ethernet number it is, and also that a new family of
- sockets (AF_INET) are available.
- If your card is incorrectly inserted (I know you wouldn't) it could
- cause all kinds of errors to be reported.
-
- At this stage you have a kernel which supports tcp/ip via the
- ethernet board in your machine but knows nothing of networking, that is
- where the software in the tcpip suites becomes important as it is this
- software that understands networking protocols.
-
-
-
- iv) The tcpip-0.8.0/tcpip-0.8.1 suites (the history/differances)
- ------------------------------------------------------------
-
- History of ethernet on linux (by Ross Biro (member of the League for
- ------------------------------------------------------------------------
- Programming Freedom LPF)) 'cos I am not worthy, I am not worthy, I am...
- ------------------------------------------------------------------------
-
- In reality, I did almost all the work myself, and all from scratch. The
- jump from slow ftp to the pace we have now was really just some minor
- patches. This is how it really happened, including why I chose to switch
- to Linux in the first place.
- Before I came to Stanford, I had already decided Unix was the way
- to go and had a 386/20 running Microport (This was just before Microport
- went chapter 11.(an American bankrupcy (sp?) law) Unix. At stanford I had
- the opportunity to connect my machine to the Internet (networks have
- always interested me.) Unfortuneately I couldn't get any sort of networking
- code for Microport, so instead I bought Esix. Esix had some networking
- problems, but it was ok. As of 3.2 rev d it had just learned to talk
- to computers off campus. I spent a lot of time porting networking code
- to Esix and ran an anon ftp site for it.
- Then I heard about Linux 0.10. Since my file system had been
- damaged beyond the ability of fsck to do a complete repair (There was a
- file in /lost+found with the name " /etc/something" which I couldn't
- get rid of. This was a file, not a subidirectory or anything.) I decided
- to back up everything, low-level format my drive and make a linux partition.
- After repartitioning my hard drive, I discovered my backup tape was
- unreadable. At that point I made a decision. Since I was going to
- have to start over I decided to start over with linux. I installed
- version 0.12 and decided to try my hand at kernel hacking. I wrote a
- buggy version of ptrace which Linus fixed and included in the kernel
- (Actually first he included it, then he fixed it.) By this time I was
- tired of switching to DOS everytime I wanted to use telnet or ftp, so I
- grabbed the 386bsd source (or is it bsd386) and copied the wd8003 driver.
- Since It had to be rewritten to work with Linux and I had no clue what
- it was doing, I introduced many bugs, but it worked well enough to telnet
- and ftp out using ka9q, so I uploaded it to tsx and posted something to
- the net.
- After a while I decided I wanted real networking code, and
- after my experience with Esix bsd compatible sockets were the way to
- go. About this time Zorst was just completing the port of X and
- needed some sort of socket library. He wrote the Unix domain sockets
- leaving hooks to included other types of sockets later. Which made it
- unnecessary for me to worry about the kernel/user interface. After
- serveral hectic months where I moved in with my SO, lost my internect
- connection and most of the reason for writting the networking code, I
- finally had something that would let me connect to and from a pc
- running Clarkson's telnet. I managed to get minamal versions of ftp
- and telnet to compile and released the first alpha version of the
- networking code. (The code was all written from scrach by me with out
- looking at the bsd code.) The things like assuming all ethernet
- boards are memory mapped was because mine was and I assumed that was
- the cheapest/simplest way. The ethernet board is not it's own device
- because that would have required debugging code that was not
- completely necessary.
- The first message I recieved about the code was how it had caused
- the loss of someones hard drive (I've forgotten who, but It was one of
- the testers who really deserves mentioning.) After 3 or 4 releases with
- some patches posted to the net channel in between, I began to get the
- first glimmering of successes from Dirk Hondel (sp?) who was probably
- the most important of the testers. He provided alot of debugging output
- and probably risked his file system more than once. About this time
- Mitch Dsouza(sp?) began to complain that he couldn't even get the
- patches to compile. After a lot of working (and atleast another release
- or 2) it worked (sort of) on his machine and many others. At this
- point Bob Harris started fixing the wd8003 driver (which had suffered
- from my port from 386bsd). And Russ Nelson at cymwr software began
- to tell me how other cards worked, and some of what was wrong with
- my design. Bob Harris also wrote an icmp echo routine so you could
- ping your linux machine.
- At this point 0.8.0 was released and I descovered the need
- for slow start (remeber, I've never been able to test my code on the
- internet, I've always had to leave that to others.) Not too long after that
- 0.8.1 was released and my advisor discovered I hadn't gone away for the
- summer. (Fortuneatly I had been thinking about math enough that he wasn't
- too upset with my progress.) 0.8.1 was included in the kernel, but none
- of the support code (mostly config.c) went with it. The rest is mostly
- just bug fixes and such released with every new version.
-
- (Thank you Ross and a big hand from everybody for his efforts)
-
- Now an important hint, the config file from 0.8.0 isn't 'good' so please
- recompile the source 'config.c' from the 0.8.1 distribution and you should
- find that the protocol not supported message will evapourate.
-
- v) The files that you should have and setup info
- ---------------------------------------------
-
- Ok i'll stop blethering and start talking about hard fact files that you
- should have and where they are supposed to be.
-
- the 0.8.0/0.8.1 suites have reasonable enough documentation to get the
- various working parts out into somewhere useful on your system, typically
- /usr/etc/inet and /etc
-
- having followed the net install shell script you'll probably find that it
- asked some questions that you hadn't a clue about,... well ok lets look at
- it.
-
-
- Enter Ip Address for (your host) (aaa.bbb.ccc.ddd)
-
- here you are being asked what network address you would like to be known
- as. Ip address are unique numbers so as to identify you machine from
- another on a multiuser network. Normally if you reside in the Internet you
- will have a network address assigned by the NIC or your local network
- controller and you really must stick to it there is no room for you to
- bugger up the network by using someone elses ip address. If you do not
- have a connection to the Internet, you will have less of a problem although
- it would still be a good idea to apply for a internet class c/d network
- number depending on your setup.
- Ip numbers are typically of the 0-255.0-255.0-255.0-255 range
- so valid answers are 243.123.4.23 or 192.35.173.3 etc but 324.234.545.2
- is completely wrong.
-
- Enter Net Address for (your hostname) (aaa.bbb.ccc.0)
-
- Here you are being asked for your subnetwork address. This requires a
- bit of explaination. Subnets are a 'unit' of connectivity which
- depict how many possible hosts 'live' on the same piece of cable as you
- do (typically this never exceeds 253 on one piece on cable)
- a quick way of getting the question right is to type in whatever you
- have for your ip address but make the last number 0 eg if my ip address
- was 135.56.33.155, my 'safe' Net address would be 135.56.33.0
- 0.0.0.0 means the whole world and is probably what slip people shoul use.
-
- Enter Router Address for (your hostname) (aaa.bbb.ccc.ddd)
-
- Wibble! Ok here what is being asked is if you have a gateway machine
- through which ip traffic can be passed to the great blue yonder. We
- are sneekily getting the routeing machine to do some hard work for us.
- Routers tend to have 2 ethernet boards in them whith differing network
- numbers for them so that they can 'bridge' between different numbered
- networks, eg you could not talk directly to a ip address of 192.35.173.12
- from an ip address of 192.35.175.15 but a machine in the middle with
- two ip address 192,35.173.4 and 192.35.175.3 can 'collect' the data from
- the xxx.xxx.173.xxx network and transfer it to the xxx.xxx.175.xxx network
- All we have to do here is stick in the ip address of the local router
- in this case it would be 192.35.173.4 (clear as mud I know but it's as good
- as it gets) If you don't have a router,... just stick in 0.0.0.0 meaning
- don't route anything.
-
- Enter Domain name for (your host)
-
- This isn't too bad, domain names are 'convenient' labels eg uwe.ac.uk
- is the domain name that appends to all the machines on site so that a sun
- called csd would be known as csd.uwe.ac.uk This is so that you don't have
- to know the full ip number of the host, it's more convient to call out
- a semi inteligable name eg 192.35.175.1 = csd.uwe.ac.uk but the 192.35.175
- is aliased to uwe.ac.uk (University in the West of England, academic
- community, United Kingdom) Again this should be given to you with a
- registered ip address but for now you could put in 'at.linux.net' it can
- be changed later.
-
- Name Server for Domain (aaa.bbb.ccc.ddd)
-
- If your networked to the local Uni/technical collage your in luck and it
- shoul be able to serve you with a name server service, find out from your
- local network controller what machine distributes the service. If you are
- unlucky enough NOT to have a nameserver, just stick in your own IP address,
- you'll just have to run your own nameserver.
-
- Ok time for a quick check of what you *SHOULD* have
- in /usr/etc/inet
-
- config - This sets up the ethernet ip tables
- inetd - Daemon process that invokes other network daemons
- inetd.conf - Configuration file for inetd about the other daemons
- install.net - The semi automatic script I just talked about
- named-xfer - Used for updating the nameserver records
- named.reload - used to load in the named
- named.restart - user to stop and restart the named process
- rc.net - a network rc file called from /etc/rc.local from /etc/rc!
- services - a file specifying what 'port' numbers certain services are
- available on
- telnetd - daemon for connecting reqesting external sites to your
- machine for interactive logins
- named - the nameservice daemon
-
- time for some explainations I think,...
- config is a general do it all fix your ether board to your local setup
- command. It was configured when you ran the install.net script and if you
- look at the rc.net file you'll see where it plugged in all the IP stuff that
- you fed the script with,... a bit technical but otherwise nothing to worry
- too much about provide that your original information was correct. One thing
- though, I have found that it is best to edit the rc.net file and 'hard wire'
- the ip addresses directly in rather than relying on the grep search from
- /etc/hosts but you may disagree (personal preferance) it's the only time that
- /etc/hosts is actually used as far as I can tell.
-
- *** stop press ***
- Ross: That's a bug. It should be used if /usr/etc/inet/resolv.conf is missing
- or there is no named running on the machines refered to by resolv.conf.
- However,
- it is low on my list of priorities, and probably will not be fixed (by me) any
- time soon.
-
- 'inetd' is a daemon process that wait's for certain events to happen
- upon which it will select which process to run eg if no network is happening,
- only inetd will be running but if a telnet session is requested by a remote
- machine, inetd will start running telnetd for that incoming call to connect
- to.
- Of much more intrest is inetd.conf which has information about what
- services to run and where to find them
- example
-
- sevice name ip/tcp/udp run as name
- | | | |
- | format | wait/nowait | program to run |
- | | | | | | |
- | | | | | | |
- telnet stream tcp nowait root /usr/etc/inet/tenetd telnetd
- talk dgram udp wait root /usr/etc/inet/talkd talkd
- echo dgram tcp nowait root internal
-
- most utilities will tell you what should be included in here should it require
- editing for to make them run.
-
- Services is a file which informs the tcp/ip code what port number
- a particular program will run on for example if you telnetted to port 7 on
- a sun you would be connected to an echo service which would send
- back a carbon copy of what you typed in but that service has a specially
- allocated port number referenced in the /etc/services file of both machines
-
- There is a complete standardized services file in circulation from Ross Biro
- and is included here for your sanity
-
- Ross: This is the one I made from the relevant rfc. It has some typos
- and such here, but it is probably ok for most use.
-
- tcpmux 1/tcp # TCP Port Service Multiplexer
- rje 5/tcp # remote job entry
- echo 7/tcp
- echo 7/udp
- discard 9/tcp sink null
- discard 9/udp sink null
- systat 11/udp users
- systat 11/tcp users
- daytime 13/udp
- daytime 13/tcp
- daytime 13/udp
- netstat 15/udp
- netstat 15/tcp
- qotd 17/udp quote
- quote 17/tcp # quote of the day
- chargen 19/tcp ttytst source
- chargen 19/udp ttytst source
- ftp-data 20/tcp
- ftp 21/tcp
- telnet 23/tcp
- smtp 25/tcp mail #Simple Mail Transfer
- nsw-fe 27/tcp # NSW User System FE [24, RHT]
- msg-icp 29/tcp # MSG ICP [85, RHT]
- msg-auth 31/tcp # msg authentication
- dsp 33/tcp # display support protocol
- lp 35/tcp # any private printer server [JBP]
- time 37/udp timserver
- time 37/tcp timerserver # time
- rlp 39/udp resource
- rlp 39/tcp # resource location protocl
- graphics 41/tcp # Graphics
- name 42/tcp nameserver
- name 42/udp nameserver
- whois 43/udp nicname
- whois 43/tcp nicname
- mpm-flags 44/tcp
- mpm 45/tcp
- mpm-snd 46/tcp
- ni-ftp 47/tcp
- log 49/tcp #login host protocol
- la-maint 51/tcp # imp local address maintenance
- nameserver 53/tcp domain
- nameserver 53/udp domain
- isi-gl 55/tcp # isi graphics language
- apts 57/tcp # private terminal access
- apfs 59/tcp # private file services
- ni-mail 61/tcp # ni mail [5, SK8]
- via-ftp 63/tcp # VIA Systems - ftp
- tacacs-ds 65/tcp # tacacs-database service
- bootps 67/udp bootp
- bootps 67/tcp # bootstrap protocol server
- bootpc 68/udp
- bootpc 68/tcp # bootstrap client
- tftp 69/udp
- tftp 69/tcp # trivial file transfer
- netrjs-1 71/tcp # remote job service
- netrjs-2 72/tcp # " "
- netrjs-3 73/tcp # ""
- netrjs-4 74/tcp # ""
- priv-dial 75/tcp # private dial out services
- rje 77/tcp netrjs # any private rje service
- finger 79/tcp
- hosts2-ns 81/tcp hosts2 # hosts2 name server
- mit-ml-dev 83/tcp # MIT ML Device [DPR]
- mit-ml-dev 85/tcp # ditto
- link 87/tcp ttylink # private terminal link
- su-mit-tg 89/tcp # su/mit telnet gateway
- mit-dov 91/tcp # mit dover spooler
- dcp 93/tcp # device control protocl
- supdup 95/tcp # supdup [27, MRC]
- swift-rvf 97/tcp # swift remote virtual file protocol
- tacnews 98/tcp # tac news
- metagram 99/tcp # metagram relay
- newacct 100/tcp # unauthorized use
- hostnames 101/tcp hostname # nic host name server
- iso-tsap 102/tcp tsap # [16, MTR]
- x400 103/tcp
- x400-snd 104/tcp
- csnet-ns 105/tcp # csnet mailbox name nameserver
- rtelnet 107/tcp # remote telnet service
- pop2 109/tcp pop postoffice # post office protocol version 2
- pop3 110/tcp # post office protocol version 3
- sunrpc 111/udp
- sunrpc 111/tcp # SUN remote procedure call
- auth 113/tcp authentication # authentication service
- sftp 115/tcp # simple file transfer protocol
- uucp-path 117/tcp # uucp path service
- nntp 119/tcp # network news transfer protocol
- erpc 121/udp
- erpc 121/tcp # encore Epedited remote proc. call
- ntp 123/udp
- ntp 123/tcp # network time protocol
- locus-map 125/tcp # locus pc-interface net map server
- locus-con 127/tcp # locus PC-interface CONN server
- pwdgen 129/tcp # password generator protocol
- cisco-fna 130/tcp # cisco FNATIVE [WX8]
- cisco-tna 131/tcp # CISCO TNATIVE
- cisco-sysmaint 132/tcp # CISCO sysmaint
- statsrv 133/udp
- statsrv 133/tcp # statistics service
- ingres-net 134/tcp # ingres-net
- loc-srv 135/tcp # location services
- profile 136/udp
- profile 136/tcp # profile naming service
- netbios-ns 137/tcp # netbios name service [JBP]
- netbios-dgm 138/tcp # netbios datagram service
- netbios-ssn 139/tcp # netbios session service
- emfis-data 140/tcp # emfis Data Service [GB7]
- emfis-cntl 141/tcp # emfis control service
- bl-dim 142/tcp # britton-lee idm
- imap2 143/tcp # interim mail access protocol v2
- NeWS 144/tcp news
- uaac 145/tcp # uaac protocl [DAG4]
- iso-tp0 146/tcp iso-ip0
- is0-ip 147/tcp # [MTR]
- cronus 148/tcp # [135, JXB]
- aed-512 149/tcp # aed 512 emulation service
- sql-net 150/tcp
- hems 151/tcp
- bftp 152/tcp # background file transfer program
- sgmp 153/tcp # sgmp
- netsc-prod 154/tcp # [SH37]
- netsc-dev 155/tcp #
- sqlsrv 156/tcp
- knet-cmp 157/tcp # knet/vm command message protocol
- pcmail-srv 158/tcp # pcmail server
- nss-routing 159/tcp
- sgmp-traps 160/tcp
- snmp 161/udp
- snmp 161/tcp
- snmp-trap 162/udp
- snmptrap 162/tcp
- cmip-manage 163/tcp # cmip/tcp manager
- cmip-agent 164/tcp
- xns-courier 165/tcp # Xerox
- s-net 166/tcp # Sirius Systems
- namp 167/tcp
- rsvd 168/tcp
- send 169/tcp
- print-srv 170/tcp # network postscript
- multiplex 171/tcp # network innovations multiplex
- cl/1 172/tcp
- xyplex-mux 173/tcp
- mailq 174/tcp
- vmnet 175/tcp
- genrad-mux 176/tcp
- xdmcp 177/tcp # X dispaly manager control protocol
- nextstep 178/tcp
- bgp 179/tcp # Border Gateway Protocol
- ris 180/tcp # Intergraph
- unify 181/tcp
- unisys-cam 182/tcp
- ocbinder 183/tcp
- ocserver 184/tcp
- remote-kis 185/tcp
- kis 186/tcp # KIS protocol
- aci 187/tcp
- mumps 188/tcp
- qft 189/tcp # queued file transport [WXS]
- gacp 190/tcp # gateway access control protocol
- prospero 191/tcp
- osu-nms 192/tcp # osu network monitoring protocol
- irq 194/tcp # internat relay chat
- dn6-nlm-aud 195/tcp # DNSIX Network Level Module Audit
- dn6-smm-red 196/tcp
- dls 197/tcp
- dls-mon 198/tcp
- at-rtmp 201/udp
- at-rmtp 201/tcp # AppleTalk Routing Maintenance
- at-nbp 202/udp
- at-nbp 202/tcp # AppleTalk Name Binding
- at-3 203/udp
- at-3 203/tcp # AppleTalk Unused
- at-echo 204/udp
- at-echo 204/tcp # appletalk echo
- at-5 205/udp
- at-5 205/tcp # appletalk Unused
- at-zis 206/udp
- at-zis 206/tcp # zone info.
- at-7 207/udp
- at-7 207/tcp
- at-8 208/udp
- at-8 208/tcp
- sur-meas 243/tcp # survey measurment
- dsp3270 245/tcp # display systems protocol
- link 245/tcp # link
- biff 512/udp # used by mail system to notify users
- exec 512/tcp
- who 513/udp # maintains data bases showing who's
- login 513/tcp
- syslog 514/udp
- cmd 514/tcp
- syslog 514/udp
- printer 515/tcp # spooler
- talk 517/udp
- ntalk 518/udp
- utime 519/udp unixtime
- router 520/udp #local routing process (on site);
- efs 520/tcp # extended file name server
- timed 525/udp #timeserver
- tempo 526/tcp # newdate
- courier 530/tcp rpc
- conference 531/tcp chat
- netnews 532/tcp readnews
- netwall 533/udp #for emergency broadcasts
- uucp 540/tcp uucpd
- klogin 543/tcp
- kshell 544/tcp krcmd
- new-rwho 550/udp new-who
- dsf 555/tcp
- remotefs 556/tcp # rfs server
- rmonitor 560/udp rmonitord
- monitor 561/udp
- chshell 562/tcp chcmd
- meter 570/tcp demon
- meter 571/udp udemon
- pcserver 600/tcp # sun IPC server
- nqs 607/tcp
- mdqs 666/tcp
- elcsd 704/udp errlog # copy/server daemon
- loadav 750/udp
- rfile 750/tcp
- pump 751/tcp
- qrh 752/tcp
- rrh 753/tcp
- tell 754/tcp send
- nlogin 758/tcp
- con 759/tcp
- ns 760/tcp
- rxe 761/tcp
- quotad 762/tcp
- cycleserv 763/tcp
- omserv 764/tcp
- webster 765/tcp
- phonebook 767/tcp phone
- vid 769/udp
- vid 769/tcp
- cadlock 770/udp
- rtip 771/tcp
- cycleserv2 772/tcp
- notify 773/udp
- submit 773/tcp
- acmaint_dbd 774/udp
- rpasswd 774/tcp
- acmaint_transd 775/udp
- entomb 775/tcp
- wpages 776/udp
- wpages 776/tcp
- wpgs 780/tcp
- mdbs_daemon 800/tcp
- device 801/tcp
- maitrd 997/tcp
- puparp 998/udp
- busboy 998/tcp
- puprouter 999/udp applix
- garcon 999/tcp
- cadlock 1000/udp
- blackjack 1025/tcp #network blackjack
- hermes 1248/udp
- bbn-mmc 1347/tcp #multi-media conferencing
- bbn-mmx 1348/tcp # ""
- ingreslock 1524/tcp
- orasrv 1525/tcp oracle
- issd 1600/tcp
- nkd 1650/tcp
- dc 2001/tcp
- wizard 2001/udp curry
- globe 2002/udp
- emce 2004/udp CCWS mm conf
- mailbox 2004/tcp
- berknet 2005/tcp
- oracle 2005/udp
- invokator 2006/tcp
- raid-cc 2006/udp raid
- dectalk 2007/tcp
- raid-am 2007/udp
- conf 2008/tcp
- terminaldb 2008/udp
- news 2009/tcp
- whosockami 2009/udp
- pipe_server 2010/udp
- search 2010/tcp
- raid-cc 2011/tcp raid
- servserv 2011/udp
- raid-ac 2012/udp
- ttyinfo 2012/tcp
- raid-am 2013/tcp
- raid-cd 2013/udp
- raid-sf 2014/udp
- troff 2014/tcp
- cypress 2015/tcp
- raid-cs 2015/udp
- bootserver 2016/udp
- bootclient 2017/udp
- cypress-stat 2017/tcp
- rellpack 2018/udp
- terminaldb 2018/tcp
- about 2019/udp
- whosockami 2019/tcp
- xinupageserver 2020/udp
- servexec 2021/tcp
- xinuexpansion1 2021/udp
- down 2022/tcp
- xinuexpansion2 2022/udp
- xinuexpansion3 2023/udp
- xinuexpansion4 2024/udp
- ellpack 2025/tcp
- xribs 2025/udp
- scrabble 2026/udp
- shadowserver 2027/tcp
- submitserver 2028/tcp
- device2 2030/tcp
- blackboard 2032/tcp
- glogger 2033/tcp
- scoremgr 2034/tcp
- imsldoc 2035/tcp
- objectmanager 2038/tcp
- lam 2040/tcp
- interbase 2041/tcp
- isis 2042/tcp
- isis 2042/udp
- isis-bcast 2043/udp
- rimsl 2044/tcp
- rimsl 2044/udp
- cdfunc 2045/udp
- sdfunc 2046/udp
- dls 2047/tcp
- dls 2047/udp
- dls-monitor 2048/tcp
- shilp 2049/tcp
- shilp 2049/udp
- NSWS 3049/tcp
- rfa 4672/tcp # remote file access server
- commplex-main 5000/tcp
- commplex-link 5001/tcp
- rmonitor_secure 5145/udp
- padl2sim 5236/tcp
- xdsxdm 6558/udp
- man 9535/tcp
- isode-dua 17007/udp
-
-
-
- vi) Name Service concepts and what /etc/hosts is about
- --------------------------------------------------
-
- The internet protocol document defines names, addresses and routes as follows:
-
- A name indicates what we seek. An address indicates where it is.
- A route indicates how to get there.
-
- Every network interface attached to a tcp/ip network is identified by a
- unique 32-bit IP address. A name (hostname) can be assigned to any device that
- has an IP address. Names are assigned to devices because, compared to numeric
- Internet addresses, names are easier to remember and type correctly. In use,
- most of the tcp/ip software on linux can interchangeably use name or ip
- address but whichever is chosen, it is always the IP address that is used
- to make connections. Translating names into addressses isn't simply a 'local'
- issue. The command telnet on.a.linux.net is expected to work correctly on
- every host that is connected to the network. If the machine is connected to
- the Internet, hosts all over the world should be able to translate the
- name into a valid IP address, therefore, some facility must exist on the net
- for to translate te name into the numeric IP address.
- There are two methods for doing this,... one involves using a local
- lookup table (/etc/hosts) and the other uses DNS to remotely interigate the
- network for the IP address.
- /etc/hosts is a very simple file which contains a numeric IP address
- followed by a hostname eg
-
- # note that the hash is a comment, no text is processed after
- # it until the next <cr>
- #
- 123.45.67.20 csd csdsun csd.uwe.ac.uk csdsun.ac.uk
- 123.45.67.21 manic manic.uwe.ac.uk # Tom's machine
- 123.45.67.22 chef chef.uwe.ac.uk # Main waste of money
- # other nets
- 192.35.173.1 hal hal-9000 # local hidden host
- 192.35.173.2 slave slave.uwe.ac.uk # linux engine 485 25
- 192.35.173.30 zen zen.uwe.ac.uk # Interactive 2.2.1 386 33
- 192.35.173.35 thing
- # external nets
- 162.34.32.22 weird.emer.cty.oz
-
- but clearly this has a limitation in that on large networks ALL machines would
- have to have this information on disk and that could have 1000's of entries
- Just think what that means if an extra 120 machines were added! 1000's of
- machines would have to have their /etc/hosts table updated either by hand or
- automatic shell scripts calling the list from a main machine,... (see where
- this is leading?) Enter the DNS service...
- DNS (Domain Name System) scales well. It doesn't rely on a single large
- table; it is a distributed database system that doesn't bog down as the
- database grows. DNS currently provides information on approximately 700,000
- hosts. DNS also guarentees thst the new host information will be disseminated
- to the rest of the network as it is needed.
-
-
- vii) DNS nameserver configuration files and how to fix them
- ------------------------------------------------------
-
- DNS configuration reqires that a numbet of files be editted
- in the case of Linux these files are minimally
- (resolv.conf can be optional)
- /usr/etc/inet/
- resolv.conf
- or
- named.boot
- a_hosts_table (normally called named.hosts)
-
- named.boot: domain uwe.ac.uk
- primary uwe.ac.uk /usr/etc/inet/a_hosts_table
-
- resolve.conf: domain uwe.ac.uk
- nameserver 192.35.173.2
-
- a_hosts_table: @ IN SOA slave.uwe.ac.uk. root.slave.uwe.ac.uk. (
- 1.1 ;serial
- 3600 ;refresh every 10 hours
- 300 ;retry every 6 minutes
- 36000000;expire after 1000 hours
- 3600 ; default dtl is 100 hous )
- IN NS slave.uwe.ac.uk.
- slave IN A 192.35.173.2
- hal IN A 192.35.173.1
- zen IN A 192.35.173.30
- .
- .
- .
- mother IN A 192.35.173.69
-
-
- For most people, a nameserver will be available in which case the only file
- really needed is resolv.conf which would contain only the domain name of the
- site and a nameserver ip address to point to all the named functions are thus
- the responsibility of the nameserver and not your machine (crafty huh?)
- Now unfortunately there are those of us that were just plain born
- unlucky and had to RTFM so,... where a nameserver is not available it is
- possible to run a nameserver service on your local machine.
- The following is a list of flies that you will eventually need
- although just named.boot and a_hosts_table will suffice
-
- named.boot: Sets general named parameters and points to the
- sources of the domain database information used
- by this server. The sources can be local disks or
- remote servers.
- named.ca: Points to the root domain servers
- named.local: Used to locally resolve the loopback address
- named.hosts: The zone info file that maps host names to IP addresses
- named.rev: the zone file for the reverse domain that maps IP
- addresses to host names (you'll prob never touch it
- so i'm going to skip it's description unless people
- get upset enough to lynch me)
-
-
- *** STOP PRESS ***
-
- I've just found out from Ross by sheer accident that there is a
- program release in comp.sources.unix (volume25) called hostcvt (mutter mutter)
- which is supposidly capable of converting /etc/host entried into the nesessary
- corrisponding named files. I just pulled it down and it looks quite good
- although 'out of the box' you'll have to #define R_OK 4 in main.c and fix the
- bindir/mandir in the makefile. I've NOT run it cos I did all my configuration
- by hand so I'm too stubborn to let a meer machine do the job I did over 2 day's
- in 5 seconds. (ah that pride of mine). I know that there have been two
- patchlevels release but I only added patch1 cos it's a hassle for me to get to
- the internet (me being on x25 prtocol based JANET). As /etc/hosts file's are
- amazingly easy to generate this is a handy tool to have and I hope to see it
- included in the next tcp/ip util kit-bag.
-
- *** RESUME PRESS ***
-
- named.boot
- ----------
- the named.boot file points to sources of DNS information. Some of these
- sources are local files; others are remote servers. You only need to create the
- files referanced in the primary and the cache statements.
-
- commands | functions
- ----------------+--------------------------------------------------------------
- directory | Defines a directory for all subsequent file referances
- primary | Declares this server as primary for the specified zone
- secondary | Declares this server as secondary for the specified zone
- cache | Points to the cashe file
- forwarders | Lists servers to which queries are forwarded
- slave | Forces the server to only use the Forwarders
- ----------------^--------------------------------------------------------------
-
- example setups
-
- named.boot:
- ; cache only server
- ;
- primary 0.0.127.IN-ADDR.ARPA /usr/etc/inet/named.local
- cache . /usr/etc/inet/named.ca
-
- The loopback domain is an in-addr.arpa domain that maps the address 127.0.0.1
- to the name localhost. The idea of resolving your own loopback address makes
- sense to most people, so most named.boot files contain this entry.
-
- named.boot:
- ; Primary name server boot
- ;
- directory /usr/etc/inet
- primary big.cty.com named.hosts
- primary 54.152.IN-ADDR.ARPA named.rev
- primary 0.0.127.IN-ADDR-ARPA named.local
- cache . named.ca
-
- the directory statement tells named that all subsequent filenames are relative
- to the /usr/etc/inet directory. The first primary statement declares that this
- is the primary server for the big.cty.com domain and that the data for that
- domain is loaded from the file named.hosts. The second primary statement points
- to the file that maps IP addresses from 152.54.xxx.xxx to hostnames. This
- statement says that the local server is the primary server for the reverse
- domain 54.152.in-addr.arpa and that the data for the domain can be loaded from
- the file named.rev
-
- Standard Resource Records
- -------------------------
-
-
- Resource Record Record type function
- -----------------------------------------------------------------------------
- Start of authority SOA Mark the beginning of a zone's data,
- and define parameters that affect the
- entire zone
- Name server NS Identifies a domain's name server
- Address A Converts a host name to an address
- Pointer PT Converts an address to a hostname
- Mail Exchange MX Identifies where to deliver mail for a
- given domain name
- Canonical name CNAME Defines an alias host name
- Host information HINFO describes a hosts hardware and OS
- Well Known Service WKS Advertises network services
- ------------------------------------------------------------------------------
-
- These resourse records are defined in RFC 1033.
- The format of DNS resourse records is:
- [name] [ttl] IN type data
-
- name: This is the name of the domain object the resource record
- references. It can be an individual host or an entire domain
- ttl: time-to-live defines the length of time in seconds that the
- information in this resource record should be kept in the
- cache. Usually this field is left blank and the default ttl
- set in the SOA is used.
- IN: Identifies the record as an internet DNS resource record. There
- are other classes of records, but they are not used by the DNS
- type: Identifies what kind of resourse record this is
- data: the information specific to this type of resourse record
-
-
- The cache Initialization file
- -----------------------------
-
- The basic named.ca file contains NS records that name the root servers and
- 'A' records tha provide the addresses of the root servers. A basic named.ca
- is shown here
-
- named.ca:
- ; named.ca - typical setup
- ;
- ; Servers for the root domain
- ;
- 99999999 IN NS tsx-11.mit.edu.
- 99999999 IN NS nic.funet.fi.
- ;
- ; Root servers by addresses
- ;
- tsx-11.mit.edu. 99999999 IN A 231.232.21.12
- nic.funet.fi. 99999999 IN A 123.45.67.32
-
- note that the ttl is 99999999 the largest possible size so that the root
- servers are never removed from the cache
-
-
- The named.local file
- --------------------
-
- The named.local file is used to convert the address 127.0.0.1 (the loopback
- address) into the name localhost. It's the zone file for the reverse domain
- 0.0.127.in-addr.arpa. because ALL systems use 127.0.0.1 as the loopback
- address, this file is virtually identical on every server.
-
- named.local:
- @ IN SOA slave.uwe.ac.uk. root.slave.uwe.ac.uk. (
- 1 ; serial
- 36000 ; refresh every 10 hrs
- 3600 ; retry after 1 hr
- 3600000 ; expire after 1000 hrs
- 36000 ; default ttl is 10 hrs
- )
- IN NS slave.uwe.ac.uk.
- 1 IN PTR localhost.
-
-
-
- The named.hosts file
- --------------------
-
- The named.hosts file contains most of the domain information. This file
- converts
- host names to IP addresses, so 'A' records predominate, but it also contains
- 'MX', CNAME and other records.
-
- ; named.hosts file example
- ;
- @ IN SOA slave.uwe.ac.uk. probs.slave.uwe.ac.uk. (
- 1 ; serial
- 36000 ; refresh every X seconds
- 3600 ; retry every X seconds
- 3600000 ; expire after X seconds
- 36000 ; default time to live X seconds
- )
- ; define nameservers and mailservers
- IN NS slave.uwe.ac.uk.
- IN MX csd.uwe.ac.uk.
- ;
- ; define localhost
- ;
- localhost IN A 127.0.0.1
- ;
- ;hosts in this zone
- ;
- loghost IN A 192.35.173.1
- hal IN A 192.35.173.1
- zen IN A 192.35.173.30
- thing IN A 192.35.173.35
- slave IN A 192.35.173.2
- IN MX 2 192.35.173.2
- servent IN CNAME slave.uwe.ac.uk.
- mother IN A 192.35.173.69
- ;
- ; outside domains now follow
- ;
- csd IN A 192.35.175.1
- IN MX 5 192.35.175.1
- csdsun IN CNAME csd.uwe.ac.uk.
- chef IN A 192.35.176.1
- ;
- ;fictional outside gateway
- midway IN A 166.23.44.2
- ;
- ; etc until you have built a reasonable host table
- ; that you feel will be adaquate for your network
-
-
-
- vii) NFS - the network filing system
- -------------------------------
-
- Network filing systems are convenient mechinisms which allow your machine
- axcess to more disk space that it actually has by 'borrowing' disk space
- from another networked machine for either sharing of common data or if allowed,
- the storing of data generated by your machine.
- NFS is still in alpha testing and has the unfortunate handicap of not
- being able to run binaries over the interface due to mmap support not being
- available at the moment but shell scripts can be run.
- NFS has several benifits,
-
- 1) it reduces local disk storage requirements because
- a network can store a single copy of a directory, while
- the directory continues to be fully axcessible to everyone
- on the network.
- 2) NFS simplifies central support tasks, becaue files can be
- updated centrally, yet be available throughout the network
- 3) NFS allows users to use familiar UNiX commands to manipulate
- files with rather than learning new ones. There is no need
- to use rcp/tftp/ftp to copy files, just 'cp' will do
-
- NFS is controlled by several files
-
- /etc/exports
- /usr/etc/inet/rc.net
-
-
- The /etc/exports file
- ---------------------
-
- /etc/exports allows your machine to decide what local filesystems it will
- allow remote clients to NFS mount and decide what access those clients
- should have to your filespace.
- Example (I just love examples):
- /etc/exports allows your machine to decide what local filesystems it will allow
- remote clients to NFS mount and decide what access those clients
- should have to your filespace.
- Example (I just love examples):
-
- / -access=slave:moonbeam
- /usr -ro
- /home -root=slave:csdsun,-access=slave,csdsun
-
- --------v---------------------------------------------------------------
- flag | function
- --------+---------------------------------------------------------------
- ro | read only, if this is not specified, the directory is mounted
- | as read/write.
- rw | read and write, used to explicitly show that the FS is read
- | and write
- root | normally root cannot use root privillages on an NFS FS as that
- | id is untrusted, :. you would not be able to make a root owned
- | shell. Unless the root option is used, a UID of 0 translates
- | to 65536
- access | list of hosts who may mount the specified filesystem
- --------^---------------------------------------------------------------
-
-
- The /usr/etc/inet/rc.net file
- -----------------------------
-
- This rc file is used to start the named services and nfs
- the suggested setup is as follows:
-
- .
- .
- .
- if [ -f /etc/portmap ]
- then
- echo "Starting portmapper..."
- /etc/portmap
- echo "Starting nfsd..."
- /etc/nfsd
- echo "Starting mountd...."
- /etc/mountd
- echo
- mount -vt nfs fish:/pub /pub &
- mount -vt nfs sparky:/mnt/a /test &
- fi
-
- Here if the portmapper isn't running it is started. Once started, it is now
- possible to hang the nfsd daemon on it as well as the mountd daemon.
- The two mount commands are from the modified mount command that come
- with the NFS package and both are run in the background so that if one
- of the servers were unreachable the system would continue to try while
- going on to finish the system setup and allow root/users to login.
- The '-vt nfs' bit isn't nessessary as the mount program understands the nfs
- syntax and mounts it as an nfs system but I include it anyway.
-
-
- ==============================================================================
-
- Touble shooting
- ---------------
-
-
- One of the most common complaints requards the config command
- what isn't often noted is that this has to be recompiled from the 0.8.1
- sources (available currently on tsx-11.mit.edu: as
- /pub/linux/ALPHA/tcpip/tcpip-0.8.1.tar.Z). Another problem that crops up is
- that some binaries that are distributed requires libc.2.2.2 to be present
- (mine I've no idea what version/wher it came from but it's 173060 bytes long if
- it helps!)
- Other people think that it's their version of libraries that casue the
- problem but can't find the source code for the various utils to recompile.
- Well sorry folks you are out of luck, the source code for those utils like ftpd
- and inetd are jealously held back because they are buggy and full of ugly hacks
- so rather than have the net flooded with complaints, they have been compiled
- into binary form and shoved out the door with innocent looks about them. Of
- note are inetd and named from the BSD sources, someone needs to port them as
- the current ones are erm.. well not really inetd/named. A new telnetd will
- probably be available after the kernel pty's are fixed which looks as though
- it'll break a lot of ioctl code.
-
-
- Several things that can help
-
- 1) upgrade your kernel to the latest one that you can grab
- a copy of (currently at time of writting 0.98.4)
- 2) join the NET mail channel, you can learn an awful lot
- from the guys on this channel (like the various new
- copyrighted techniques for tearing out your hair)
- 3) try and upgrade your C compiler and libraries to at least
- version 2.2.2d7
- 4) binary distributions of various network probrams can be
- found on sunsite.unc.edu,.. always read the README files
- they are there for a reason! (personal show/contacts/etc..)
- 5) Depending on your type of problem, contacting the author
- of the software or the person who ported the software would
- be a better choice.
- 6) Complain bitterly to me if I haven't covered your problem
- and I'll get it sorted for the next FAQ
-
-
- Cast of this production
- -----------------------
-
- Ross Biro - Without whom all this wouldn't be possible
- and who pointed out holes in my documentation.
- Also contributed the history of tcp/ip on linux
- after he saw my rather perverted view of it.
-
- Mitch DSouza - Constant alpha tester. Also pointed out mistakes
- and made critical and helpfull suggestions (like
- getting a spell checker). Also gave me his Tel No.
- which I used to annoy him with.
-
- Rick Sladkey - The current Author of the NFS client server code
- who with the help of Doug Quale repatched the
- kernel to support networking filesystems.
-
- The pioneers - Mentioned in the history of TCP/IP 0.8.[01] by
- Ross earlier in this FAQ
-
- The supporting - You know who you are (probably, depending on how
- extras much virtual beer you had last night) for contributing
- to the network code.
-
- Linus Torvolds - The elusive ecentric UNiX kernel coder who probably
- burns more CPU time on compiling than anyone else
- Here's to a long and healthy kernel development
- program and a Nobel equiv award for his efforts.
-
- Myself - The only sad person to take on the FAQ because I was
- getting annoyed at the number of 'petty' tcp/ip code
- problems being asked on the net. Besides of which I
- wanted to give something useful towards Linux which
- I've used since 0.10 (does this make me a vetrian?)
-
-
- Phil (The non spell checking insomniacial/palagerist who never learnt
- =--= english grammer)
-
-
- p_copela@uk.ac.uwe.csd on JANET in the UK and p_copela@csd.uwe.ac.uk elsewhere
-
-
-
-
-
-
-
- --
-
- ===============================================================================
- (c) 1992 Philip Copeland - alias 'Bryce' (SysAdmin)
- JANET : p_copela@uk.ac.bristol-poly.csd
-
- "... I can resist anything but temptation..."
- -------------------------------------------------------------------------------
-