Figure 5-5 shows a large number of clients connected to a server using asynchronous links. Clients initiate calls to the server, and request an IP address for the connection. The server has a pool of IP addresses, and a pool of modems, which it allocates to clients as required. In this example, the server requires authentication using the Password Authentication Protocol (PAP).
This configuration is typical of connections between clients and a generic Internet server.
The server has a pool of IP addresses equal to the number of modems it has connected to it. It assigns these addresses to remote clients on request, for as long as there are modems available. Clients use pppconn(1M) to establish a PPP link to the server, and to recover an IP address for the IP connection.
prompt# /usr/bin/pppconn server |
In the following example, a total of n clients can make connections to a server with a pool of eight modems; therefore, eight clients can be connected simultaneously.
PPP Configuration File (ppp.conf) for client_0:
ifconfig ipdptp0 plumb ifconfig ipdptp0 netmask 255.255.255.0 down dialup_path ip_interface ipdptp0 request_ip_addr on remote_host server send_authentication pap send_pap_id pap_id0 send_pap_passwd pap_passwd0 |
Link Configuration File (link.conf) for client_0:
dialup_device pppdev0 unix_device ttya line_speed 38400 modem BocaModem V.34 DataFax call_setup dial remote_host server phone 1234561000 chat_script server.script |
CHAT script (server.script) used by client_0 to call server:
# Set the line regarding the remote site configuration # Due to UUCP limitations some systems only accept cs7 # # setline cs7 parodd send RETURN expect "ogin:" 10 onerror send BREAK repeat 3 send "clnt_0" expect "word: " 40 # # Set the ppp password of the remote host here # send "clnt_0-pass" |
PPP Configuration File (ppp.conf) for server:
ifconfig ipdptp0 plumb ifconfig ipdptp0 local remote0 netmask 255.255.255.0 down ifconfig ipdptp1 plumb ifconfig ipdptp1 local remote1 netmask 255.255.255.0 down ifconfig ipdptp2 plumb ifconfig ipdptp2 local remote2 netmask 255.255.255.0 down . . ifconfig ipdptp8 plumb ifconfig ipdptp8 local remote8 netmask 255.255.255.0 down dialup_path ip_interface ipdptp* expect_login_id clnt_0 expect_authentication pap expect_pap_id pap-id0 expect_pap_passwd pap_passwd0 dialup_path ip_interface ipdptp* expect_login_id clnt_1 expect_authentication pap expect_pap_id pap-id1 expect_pap_passwd pap_passwd1 dialup_path ip_interface ipdptp* expect_login_id clnt_2 expect_authentication pap expect_pap_id pap-id2 expect_pap_passwd pap_passwd2 . . dialup_path ip_interface ipdptp* expect_login_id clnt_n expect_authentication pap expect_pap_id pap-idn expect_pap_passwd pap_passwdn |
Link Configuration File (link.conf) for server:
dialup_device pppdev0 unix_device tty0 line_speed 38400 modem Cardinal V.34/V.FC 28.8 data/fax call_setup answer dialup_device pppdev1 unix_device tty1 line_speed 38400 modem Cardinal V.34/V.FC 28.8 data/fax call_setup answer dialup_device pppdev2 unix_device tty2 line_speed 38400 modem Cardinal V.34/V.FC 28.8 data/fax call_setup answer . . . . dialup_device pppdev10 unix_device tty8 line_speed 38400 modem Cardinal V.34/V.FC 28.8 data/fax call_setup answer |
User account on server used to accept calls from client_0: