ftp.nice.ch/pub/next/unix/communication/ps_if.README

This is the README for ps_if.NIHS.bs.tar.gz [Download] [Browse] [Up]

README.English for ps_if: loadable kernel driver for multiple virtual IP hosting

This is a NeXT Mach loadable device driver for virtual hosting multiple IP
addresses on a single NEXTSTEP host.

The driver allows you to use Web server software such as NCSA httpd 1.5
(and later), and Apache httpd with the virtual hosting enabled.

The author is manmos@stellar.co.jp (Hideo "Sir MaNMOS" Morishita),
Stellar Craft Inc., Osaka, Japan.

The source and binary have been posted in fj.sources.
Here's the posting data for the article:

Newsgroups: fj.sources
From: manmos@stellar.co.jp (Hideo "Sir MaNMOS" Morishita)
Subject: Pseudo network interface driver(1/1)
Supersede: <MANMOS.96Jun25170440@antares.stellar.co.jp>
Message-ID: <MANMOS.96Jun25174855@antares.stellar.co.jp>
Organization: Stellar Craft Inc., Osaka, Japan
Distribution: fj
Date: Tue, 25 Jun 1996 08:48:55 GMT
Lines: 428


This is a rough English translation by an anonymous translator.

---

If you've been wondering why NEXTSTEP does not support virtual IP hosting
(multi-homing) with NCSA or Apache httpd, your wait is over!

I have written a loadable device driver that assigns additional IP addresses
to a NEXTSTEP host.

First, do in this directory,

# make install

This creates the following three files:

/usr/local/etc/ps/ps_reloc
/usr/local/etc/ps/ps_load
/usr/local/etc/ps/ps_unload

[If User-only environent does not have make, precompiled binary and scripts
may be copied to respective files as shown above as user root.
You must execute the scripts as root, or the scripts must have the mode 755,
which makes them SUID root.]

/usr/local/etc/ps/ps_reloc is the device driver binary.
/usr/local/etc/ps/ps_load is a script that loads the driver and assigns IP addresses.
/usr/local/etc/ps/ps_unload is a script that unloads the driver.

Usages for ps_load, and ps_unload are described below

-----
NAME
	ps_load

SYNOPSIS
	/usr/local/etc/ps/ps_load [ethernet address] [ip address] .....

DESCRIPTION
	The first argument is the Ethernet address of the (real) host.
	The Ethernet address may be found in /usr/adm/messages immediately
	after the machine is booted.  It is on a line which looks like:

	Feb 29 04:15:21 antares mach: en0: Ethernet address 

	The portion in the format XX:XX:XX:XX:XX:XX is the Ethernet address.
	Alternatively, you can find it from another machine on the same LAN by
	doing (after rlogin to another host):

	# /usr/etc/arp -a

	The second and (optional) additional arguments are virtual IP addresses
	to be assigned.  These may be virtual hostnames (DNS registered).
	Any number of virtual IP addresses may be assigned up to a limit that is
	compiled in.  As distributed, the limit is two, which may be increased
	by modifying DEVICE_NUM= in Makefile.

	Specify IP addresses that belong to the same subnet as that of the real host.

	If this is not the case, routing information must be entered into the
	routing table of the default router.


-----
NAME
	ps_unload
SYNOPSIS
	/usr/local/etc/ps/ps_unload
DESCRIPTION
	This unloads the virtual interface driver that has been loaded previously.


-----
Note
Virtual Host usage with Apache httpd

Uncomment and enable "BindAddress" line that is commented out in httpd.conf.

BindAddress	*

Then,

<VirtualHost hoge.foo.bar>
ServerAdmin webmaster@hoge.foo.bar
DocumentRoot /www/apache_1.0.5/hoge.doc
ServerName hoge.fuu.bar
ErrorLog hoge.logs/error_log
TransferLog hoge.logs/access_log
</VirtualHost>

In the above example, "hoge.foo.bar" is one of the virtual addresses assigned.
It is also possible to list, between <VirtualHost> and </VirtualHost>, any
directives that are allowd in access.conf and srm.conf.



These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.