PPPoverEthernet IP-Routing Interface for Windows 9x/NT 4.0/2000
(POETRI)
Version 1.5, May 2000
Copyright 1999-2000, Herbert Hanewinkel, Neuried
Chapters:
Overview
Registration
Disclaimer
Installation
Users Guide
Support
Warranty
Overview
POETRI was developed for Internet access via xDSL with PPPoverEthernet
(RFC2516) protocol from Windows NT/2000 and Windows 9x.
POETRI also provides a software solution for connecting multiple
computers in any small office/home local area network environment or
educational network to the Internet via a single xDSL connection.
POETRI makes use of the Internet routing capabilities of the Microsoft
TCP/IP stack, there is no need to replace the Microsoft TCP/IP stack by
a third party TCP/IP stack. Developed for computing environments with one
IP address, POETRI forwards packets between the xDSL and the IP kernel
with address/port translation. In work groups with several real IP
addresses POETRI can forward all packets unchanged to the IP kernel.
The number of users supported is only limited by the bandwidth of the
connection. POETRI can provide standalone or work group users with
full access to Internet applications and resources, e.g. WWW, e-mail, telnet,
ftp. Hosts in the LAN can accommodate almost any client node, including
PC's Mac's, and Unix machines, as long as they are running a TCP/IP stack.
POETRI is installed as a standard LAN interface NDIS driver under Windows
.
POETRI communicates with the xDSL device using the PPPoverEthernet standard.
Because of this, POETRI is completely hardware independent. POETRI can be
installed and used in parallel to NT RAS.
POETRI supports IP-Masquerading (Network IP Address Translation
+ Port Mapping ), a technique which allows multiple hosts on
a private LAN to share a single IP address.
Private LAN addresses must be mapped to registered IP addresses supplied
by your Internet Service Provider. This is known as Network Address
Translation.
POETRI supports NAT (Network IP Address Translation) as described
in RFC 1631.
Port Mapping works by keeping track of source port numbers used
by TCP and UDP applications, and mapping each port number to a new number
prior to transmission of the packet onto the Internet. A packet received
from the Internet will have a destination port number equal to the mapped
source port number, and so the original port number and IP addressee can
be restored after a table lookup.
POETRI supports DNS Interception for local name lookups.
DNS address queries from all LAN clients can be intercepted and answered
from a local name table. Optionally DNS queries to pre configured DNS server
addresses can be redirected on the fly to dynamic assigned name server
addresses.
POETRI comes with an build-in packet filtering Firewall.
Extended packet filtering helps you to protect your LAN from attacks from
the Internet. Packets can be filtered on host, protocol and port (service)
basis. To simplify configuration a learning mode is provided.
POETRI comes with a DHCP/BOOTP Server for automatic Client configuration.
To simplify the configuration of LAN Clients for Internet access POETRI
is delivered with a combined DHCP/BOOTP server for configuring IP address,
DNS nameserver and gateway IP address of the clients.
Registration
POETRI is Shareware
POETRI, as it is provided, is a demo version. To make use of the
full capabilities of POETRI you have to register the software. The
registration fee does not depend on the number of clients that will gain
access to the Internet by POETRI. Please read the file
poetri.txt
(German version: poetri-d.txt)
for registration details.
You may test the POETRI software for 30 days without a registration code.
If you continue to use the software after this evaluation period you
have to register the software, otherwise you are violating the
copyright.
Disclaimer
The software and this documentation is
Copyright (C) 1999-2000 by Herbert Hanewinkel, Neuried
All Rights Reserved.
It is provided as shareware with the following limitations:
This program is copyrighted and it is not in the public domain.
The unregistered shareware version of POETRI may be freely
copied and distributed under the condition that the software must
be copied or distributed in the original and unmodified zip file
containing the complete package of files (original archive with
no files added, modified or removed).
The distribution must be free of charge, except charging for the
distribution media itself.
You are prohibited from defeating shareware limits or using an
unauthorized password, distributing/including the POETRI software
in commercial products, modifying or reverse engineering the
POETRI software.
Installation
Installation on Windows NT and Windows 9x
Installation and Configuration of POETRI
- Unpack the POETRI software into a directory, e.g.: C:\POETRI
- The installation of the network components require Administrator
privilege on Windows NT.
- Windows 2000:
Use the Hardware wizard to install the Network adapter
PPPoEthernet Adapter. The driver is supplied in the
main POETRI directory. A new LAN connection will be created.
Use the properties tab of the new LAN connection to install the
network protocol Packet Service Protocol.
The driver is supplied in main directory.
- Windows NT:
Use the Control Panel to install the Network adapter
PPPoEthernet Adapter.
The driver is supplied in sub directory INSMAC.
Use the Network Control Panel again to install the Network Service
NDIS Packet Service from sub directory INSPKT.
- Windows 9x:
Use the Control Panel to install the Network adapter
PPPoEthernet Adapter.
The driver is supplied in sub directory WIN95.
- Bind the TCP/IP protocol to the "PPPoEthernet Adapter".
- Configure the TCP/IP parameters as specified in the following chapter.
- If you want to give clients on your LAN access to the Internet through
POETRI:
(Windows 2000 WS only) With the provided rout2000.bat script you can
enable or disable IP-Routing on Windows 2000 WS.
Activate IP-Routing with rout2000 on.
(Windows NT only) Activate the IP-Forwarding Option
under the TCP/IP protocol settings.
(Windows 9x only) With the provided routing.bat script you can
enable or disable IP-Routing on Windows 9x.
Activate IP-Routing with routing on.
- Reboot Windows.
- Use ipconfig /all (on Windows NT/2000) or winipcfg (on Windows 9x)
to check your network setup and IP parameters.
Configuring the TCP/IP parameters for xDSL Ethernet IP routing:
IP-routing connects different IP-networks. An IP-router has at least two
interfaces, a LAN interface and a WAN interface, and therefore requires
two IP addresses in different networks. There are two modes of operation:
-
You use an official assigned network or sub network of IP addresses for
your Ethernet LAN. In this case you you don't need IP-Masquerading.
-
You have only one static or dynamically assigned IP address, you must use
IP-Masquerading and use IP addresses from a private network number range
(e.g. 10.0.0.0, 192.168.0.0,..) for the hosts on your LAN. In this case
you have to use an software that supports NAT and Port Mapping. POETRI
was developed to support this type of internet access.
xDSL-LAN IP Routing with one official IP address:
-
For the xDSL Interface you need two IP addresses of an IP-network. If your
provider uses fixed IP addresses you can configure these official IP
addresses here. Otherwise use the addresses as given below:
PPPoEthernet interface
IP address: 192.168.2.1
Net mask: 255.255.255.0
Gateway: 192.168.2.2
Nameserver: 192.168.2.2 with redirection in POETRI enabled or as
specified by your provider
-
Client configuration:
Choose a block of IP addresses from a private IP-network for
all hosts on your LAN (all LAN hosts and the router PC). On all hosts,
except the router itself, set the default gateway to point to the LAN interface
IP address of the router PC.
Router-PC with POETRI, Ethernet interface:
IP address: 192.168.1.1
Net mask: 255.255.255.0
Nameserver: 192.168.2.2 with redirection in POETRI enabled or as
specified by your provider
Host 1, Ethernet interface:
IP address: 192.168.1.2
Net mask: 255.255.255.0
Gateway: 192.168.1.1
Nameserver: 192.168.2.2 with redirection in POETRI enabled or as
specified by your provider
Host 2, Ethernet interface:
IP address: 192.168.1.3
Net mask: 255.255.255.0
Gateway: 192.168.1.1
Nameserver: 192.168.2.2 with redirection in POETRI enabled or as
specified by your provider
.....
Configuration of POETRI
-
Run POETRI.EXE. Be sure the PPPoEthernet Driver and NDIS Packet Service
(on Windows NT) are installed.
-
Open the PPPoE Setup menu and configure your ISP specific parameters.
In case of PPP with dynamic IP address assignment select NAT with dynamic
address, in all other cases select NAT with static address and enter the
ISP assigned IP address.
-
Restart POETRI.EXE
-
Open a connection to your ISP to check your set up.
-
Check the configuration with ping from any host in your LAN to an external
IP address.
Users Guide
IP-Masquerading (NAT + Port Mapping) and DNS Interception
POETRI supports IP address translation (translation of a private IP address
to the official IP address), and Port-mapping (translation of a private
IP address:portnumber to a free port number of the official IP address).
-
Port Mapping gives more than one host outgoing internet access at
a time through one official IP address. Enable Port Mapping by checking
the option. POETRI maps client port numbers to port numbers in the
range 61441-62464 of the official IP address. Port Mapping works fine with
all "well behaved" TCP/IP applications. Some programs require an additional
port for downloading data (VDOlive, RealAudioPlayer,...). For these
applications you can define static mapping entries for port number ranges
to the assigned local IP address.e.g.
10000-10010,192.168.1.2
will forward incoming TCP/UDP packets with port numbers in the range
10000 to 10010 to host 192.168.1.2. On the client set the UDP port number
for the application to a port in this range. Note that in most cases
you have to configure the requesting TCP/IP application to use a fixed
port number.
Port Mapping entries can be added or modified on the fly without closing
and opening a new connection.
Port Mapping only works with protocols which use ports i.e. TCP and
UDP. For all other protocols (except ICMP) and incoming connections without
an mapping entry an address translation is performed. You can set up up
to eight IP addresses in a destination IP address list. The default host
is selected by checking the IP address in the Control menu. By simply choosing
another host, you can switch between hosts on the fly without closing and
opening a new connection. In general an IP address of a local host
in the destination IP address list is only required if you want to be able
to make this host the default host for incoming connections, e.g. if the
host runs a WWW or ftp server.
Port Mapping can not be used for ping and traceroute,
because ICMP Echo Requests don't use port numbers. Due to the importance
of ICMP a special mapping technique is implemented.
A main problem with the concept of NAT is that some applications (FTP
is the most notable example) put IP addresses into application layer messages
which are transferred between Client and Server. This is a protocol layering
violation, that in the case of FTP can be overcome by using PASV
commands rather than PORT commands. (Use of PASV can be selected as an
option in almost all FTP Clients including WS_FTP, WAR_FTP and Fetch on
the Mac). Anyway POETRI supports PORT sequence number patching in case
of FTP, but I recommend using PASV mode. Other applications with protocol
layering violation, mainly video conferencing programs, may break.
-
With DNS interception all clients on the LAN can resolve Domain
names from a common name table without accessing an external name server.
DNS IP address record requests are trapped and the IP addresses are looked
up in a local name table. If a matching entry is found a reply is generated
and the request dropped. If no match was found the query is forwarded in
the standard way.
Menus
To control and monitor the PPPoverEthernet connection the program offers
the following menus:
- File
- PPPoE Setup
-
dialog box for defining ISP specific parameters. You have to restart
the program for modifications to take effect.
Name:
Assigns a reference name to the entry.
PPPoE service:
Service name to select a specific xDSL provider on your LAN. Normalley not
required if only one provider is available.
Mode: Defines the mode of operation.
Out: only outgoing calls are currently allowed
Protocol: Defines the framing protocol for the packets.
Only PPP is currently supported.
Protocol options: To define protocol specific parameters.
Unit Adaptive Disconnect with Shorthold of: Adaptive
disconnect requires the definition and selection of units through
unit emulation or support of unit messages during the connection.
On expiration of the short hold idle timer, POETRI calculates the
remaining time of the current unit. If no further activity occurs the connection
will close down a few seconds before the end of the unit was estimated.
Disconnect, if idle for: Defines the idle time-out for
this connection. The value is used if a unit depended time-out is not defined.
Idle Timer ignores Received Packets:
If a peer sends packets on a regular basis to test the line, a idle
time-out would never occur. The options will force POETRI not to reset
the idle timer on incoming packets.
Idle Timer ignores Bcasts & Netbios requests: Broadcast
messages and NetBIOS name lookup messages will not reset the idle timer
and not open a new connection. They are only transmitted, if a connection
is already established.
Peer IP: PPP can assign an IP address to the peer. This
IP address can be defined here.
TCP-header compression: PPP will match TCP-header compression
with the configuration of the peer. For all other protocols be sure to
use the same setting of this option as the peer.
Nameserver-IP: determined automatically from the Windows
configuration. Change these addresses only if required.
DNS redirect: enables redirection of DNS request to a
dynamically assigned name server.
Units options:
An entry consists of up to 5 pairs of
Starting-hour,length-of-unit-in-seconds
Separate entries for week days and weekend/holidays can be created.
ATTENTION: A length of 0 disables outgoing calls to the peer during
the specified hours.
Timer:
Call-Setup: maximum PPPoE Call Setup time.
Pause: pause between call setups and successful connections.
dyn. Timeout: In Shorthold mode a connection is released
a few seconds before a unit ends. This
value defines how many seconds before the end of a unit a disconnect will
be triggered.
NAT: Network address translation is used to translate
between private and official IP addresses.
NAT with dynamic IP assignment should be used if your provider uses
PPP with dynamic IP addresses
NAT with static IP has to be used for providers that use fixed official
addresses.
Nat can be disabled in case of a fixed official IP address. In this
case the official IP address must be configured in the TCP/IP set up of
Windows and you can not share your connection with clients on your LAN.
- Exit
- terminates the program.
- View
- Status
- selects the full status page for display.
- Brief status
- selects the short status page for display.
- Configuration
- displays the active configuration.
- Log
- displays a connection and optionally trace log.
- Mapping
- displays the active mapping entries.
- Trace
- PPPoE Setup
- logs all messages exchanged with the CAPI software.
- PPP Setup
- allows to trace the setup of a PPP connection. PPP data packets
are not logged.
- Application Interface
- logs information related to the upper layer interface and additionally
DNS queries.
- TCP/IP
-
logs TCP/IP information of all packets. source IP, destination IP
and protocol are logged for all IP protocols. Further values
depend on the protocol, e.g. source and destination ports are logged for
TCP and UDP.
Attention: Use the trace option only for debugging NOT during
normal operation.
- Control
- Connect
-
manually connects to an IP destination. The initial setting of the
repeat dial request option depends on the Preferences configuration.
- Disconnect
- disconnects an active connection or terminates a repeated dial request.
- Reset Statistics
- resets all counters.
- Auto Dial
- enable or disables the auto dial feature.
- Preferences
-
to configure global program options. Selectable are the language
of menus and the initial setting of the repeated dial option.
Play Sound: The program beeps on connect and disconnect.
If the this option is checked, the program will play the .WAV files assigned
to "xDSLup" on connect and "xDSLdown" on disconnect.
Execute on connect/disconnect: A program executed after
connection set up can be defined, %i inserts the assigned IP address, %n
%s inserts assigned primary and secondary name server addresses.
A program can be executed after disconnect.
Save Log: With this option the log pages are automatically
saved on program exit. If a log file exists the new entries are appended.
- Port Mapping
-
To forward packets with known port numbers to a defined client you can
configure entries here.
The dialog box allows you add static port mapping entries and the IP address
of the client in your that should receive the packets.
The static port mapping table must be scanned for every IP packet,
therefore you should avoid a long table and make use of port number ranges
as far as possible.
- Firewall
- The dialog box allows you to configure the packet filtering firewall.
A trusted host is allowed to communicate using any protocol or service (port).
Protocols and services (ports) can be enabled or disabled on a network
address basis. Address rules for a certain protocol or port are scanned
sequentially for a match. A match may exclude or include a host or network
from communication over this protocol or service.
TCP or UDP protocol can be enabled completly or based on selected services
(ports) only.
In learing mode the user will be prompted to allow or deny a service.
- Name Resolution
- The dialog box configures DNS interception. Set the check mark
to enable local name resolution through the name table. Add the IP addresses
and the full Internet Domain Name of those hosts you want to resolve locally.
- Help
- Contents
- starts a HTML browser with the manual.
- Register
- prompts for the license key and your name, company. To activate
a license key you have to restart the program. After restart check the
Info menu to find out if the license information was accepted.
- Info
- displays program version information.
Connection state
The state of a connection is displayed on the status page and in
place of an icons title by the following codes:
_ = free,
A = active, PPPoE connection up,
L = PPP LCP configuration up,
I = PPP PAP/CHAP configuration up, IPCP configuration started,
P = PPP connection up
Program Startup
POETRI.EXE can be started with the following optional command
line arguments:
(You can enter arguments for a Windows program via the Properties entry
of Aliases.)
POETRI [Flags] [ConfigFile]
Flags
- -iconic starts POETRI iconified
- -unload unload running copy of POETRI. Prompts the user
if a connection is active.
- -terminate disconnect and unload a running copy of POETRI.
ConfigFile specifies the name of the configuration file for POETRI.
If the name is not given, it defaults to "POETRI.INI". The configuration
file is a readable text file.
Running POETRI as Service
To run POETRI as a service the following files have to be in the same
directory:
POETSRV.EXE, POETRI.EXE, POETRI.INI
poetsrv -install
will install POETRI as a service under Windows NT.
The service "PPPoE xDSL Service" can than be started and stopped via
the control panel service.
poetsrv -remove
will remove the service "PPPoE xDSL Service" from the system.
Support
The latest version of POETRI is available on
www.heha.cjb.net.
Please mail comments, questions, problems to
heha@altavista.net.
I can not guarantee any level of technical support, or for any length of time.
Warranty
There is absolutely NO WARRANTY or claim of fitness or reliability, expressed or implied with
this software. The program is distributed AS IS, and as such the author
shall NOT be held liable for any loss of data, down time, loss of revenue
or any other direct or indirect damage or claims caused by this program.
If you choose to use this software, you assume all risk.