SLIP�� ����������, PPP�� �ø��� ������ ���� ����Ÿ�� ������ �������������� ������ �������� �����Ѵ�. �װ��� �����Ҷ��� �ִ� datagram�� ũ��� IP �ּҿ� ���� �͵��� ������ �� �ֵ��� ���ָ� Ŭ���̾�Ʈ�� Ȯ���� ���ش�. �̷� ������ �ɷ¶�����, PPP�� ������ ���������� ������. �Ʒ����� �츮�� �����ϰ� �̿� ���� �������� PPP�� ���ϵ��� �˾ƺ� ���̴�. �̰��� ���� �Ϻ������� �ʴ�. ; ���� ����� PPP�� ���� �� �˰��� �Ѵٸ� ����� RFC-1548�� �ִ� ������� �о�� �ϸ� ���� RFC�� ���� ����� ���� �о�ƾ� �� ���̴�.
PPP�� ���� ���� �κ��� 16-bit checksum�� ���� PP �����ӵ��� ��踦 �����ϴ� High-Level Data Link Control ���������̴�. �� �� �������� SLIP encapsylation���� �ݴ��, PPP �������� IP�� �ƴ� Novell�� IPX�� Appletalk�� ���� �������ݵ� ��Ŷ���� ��Ƶ� �� �ִ�. �̴� PPP�� �����ӿ� ���� ���Ǵ� ��Ŷ�� �������� Ȯ���ϴ� �⺻ HDLC �����ӿ� �������� ������ �߰������ν� �̷������. LCP, Link Control Protocol,�� ���ʿ��� �Ƶ��ϼ� �ִ� �ִ� ����Ÿ�� ũ���� datagram�� ũ�⸦ �����ִ� Maximum Receive Unit(MRU)�� ���� ����Ÿ��ũ�� �����ִ� ���ſɼ��� ���� HDLC�� �� ���κп� ���ȴ�.
PPP ��ũ�� ������������ �߿��� �ܰ�� Ŭ���̾�Ʈ���� �㰡�̴�. ��� �װ��� ���ӵ� ���̱�� �ƴϱ�� ������ ���̾�� ���ε鿡���� �ݵ�� �ʿ��ϴ�. �Ϲ������� ȣ��Ʈ�� �Ҹ��� �ʿ����� � Ư���� ��ȣ�� �ƴ°��� ���ؼ� Ŭ���̾�Ʈ �ڽ��� �����ϵ��� ���´�. ���� ��ȭ�� �� ���� ��Ȯ�� ��ȣ�� ��µ� �����ϸ� ������ ��������. PPP���� ������ ����� �� �����̴� ; ��, ��ȭ�� �� �� ���� ������ �� �ڽ��� �����ϵ��� �Ѵ�. �� ������������ ���μ��ο��� ���� �����ϴ�. ����� �ΰ��� ���� �ٸ� ���� ���������� �ִµ�, ������ �� �ڼ��ϰ� �ٷ� ���̴�. �̰͵��� Password Authentication Protocol, Ȥ�� PAP, ���� Challenge Handshake Authentication Protocol, Ȥ�� CHAP�� �̸� �ٿ��� �ִ�.
IP�� AppleTalk ��� ���� ����Ÿ ��ũ�� ��ġ�� ������ ��Ʈ��ũ �������ݵ��� Network Control Protocol(NCP)�� ����Ͽ� ���������� �����ȴ�. �� ���� ��ũ�� ���� IP datagram�� ������ ����, PPP�� IP-datagram���� Van-jacobson ��� ������ �����Ѵ�. �̰��� TCP��Ŷ���� ������� 3����Ʈ ������ �۰� �ϱ� ���� ����̴�. �̰��� CSLIP������ ���� ���Ǹ� ���� �� ���� VJ-�������� ��� �� �ִ�. ������ ����� IPCP�� ���� start up �� �� ������ �̷������.
PPP�� ����� ũ�� �� �κ����� ������. ù��°�� Ŀ�� ���� ��ġ�ϴ� ���� ������ HDLC driver�̰�, �ι�°�� �������� control protocol�� �����ϴ� ����ڿ����� pppd deamon�̴�. ���� release�� PPP�� linux-ppp-1.0.0�̸� Ŀ�� PPP ���, pppd, ���� �ý��ۿ� ��ȭ�� �Ŵµ� ���̴� chat�̶� ���α��� �����ϰ� �ִ�.
PPP Ŀ�� ����̹��� Michael Callanhan�� ���� ��������. pppd�� Drew Perkins�� �ٸ� ����鿡 ���� ������ SUN�� 386BSD�� ���� �����ο� PPP implementation���� derived �� Paul Mackerras�� ���� �����ǰ� �ִ�. �̰��� Al Longyear�� ���� ���õǾ���. SLIP�� ����, PPP�� Ư���� line discipline�� ���� implemented�Ǿ���. � serial line�� PPP link�� ���� ���ؼ���, ����� ���� �Ϲ������� ����� ���� ���� ������ �����ؾ� �ϸ�, �� ���� line�� PPP mode�� �ٲپ�� �Ѵ�. �� ��忡��, ��� ������ data�� ������ validity(������ HDLC frame�� 16-bit�� checksum�� ����Ѵ�)�� ���� HDLC frames���� �˻��ϰ�, �װ��� �ٽ� Ǯ�� diapatche�ϴ� PPP ����̹��� ���ľ� �Ѵ�. ����, �װ��� IP datagram���� ������ �� �ְ�, ���������� Van-Jacobson header compression�� ����� �� �ִ�. IPX�� �������� ����, PPP ����̹��� IPX ��Ŷ�� ������ �� ���� ���̴�.
Ŀ�� ����̹��� ��ũ�� ���� ���� ��Ʈ��ũ Ʈ���� ������ �ʿ��� ��ü���� �ʱ�ȭ�� authentication phase�� �����ϴ� PPP daemon, pppd�� ���� aid�ȴ�. pppd�� �ൿ�� �� ������ ���� �ɼǵ��� ����ϴ� �Ͱ� ���� ���̴�. PPP�� �ټ� �����ϱ� ������, �װ��� �ϳ��� �忡�� ��� �͵��� �����ϴ� ���� �Ұ����ϴ�. �� å�� pppd�� ��� �͵��� ������ ���� ���� �����̴�. ���� ���� ��ſ��� �Ұ��ϴ� ������ �� �� ���� ���̴�. �� ���� ������ ���ؼ��� �Ŵ��� �������� pppd �ҽ��ǿ� �ִ� README���� �����϶�. ���� �� �忡�� �� ���ǵ��� ���߱� ������ ����� �ñ��� �� �� �ִ� ���� ���ؼ� ������ ���� �� ���� ���̴�. ���� ����� ������ ��� ������ �о������� ����ȴٸ�, pppd�� ������ ���õ� ���� ������� �����ִ� ������ comp.protocols.ppp�� �����϶�.
����� PPP link�� ���� ���ͳݿ� �����ϰ� �ʹٸ�, loopback device�� resolve�� ���� �͵��� �̿��ؼ� �⺻���� ��Ʈ��ŷ capabillity���� �¾��ؾ� �Ѵ�. ���ʴ� ���忡�� �����Ǿ�����. Serial link�� �̿��� DNS�� ��뿡 ���ؼ� �̾߱��Ͽ��� �� �͵��� �ִ�. ; �̰Ϳ� ���ؼ��� SLIP�� ���� ���ǵ� ���� �����϶�. pppd�� �̿��� PPP ���ӿ� ���� ������ ���� ��� ���� �ٽ� ����� vlager�� �ִٰ� ����. ����� �̹� PPP ������ c3op�� �����߰� ppp ������ �α��Ͽ���. c3po�� ���� �װ��� PPP ����̹��� �����Ͽ���. ���̾��� ���� ������α��� �������� �� ����� ���� ������ �����ؾ� �Ѵ�.
# pppd /dev/cua3 38400 crtscts defaultroute
�̰��� serial line cua3�� PPP���� flip�ϰ� c3po���� IP-link�� �����. Serial port�� ���� ���ۼӵ��� 38400bps�� �� ���̴�. Crtscts �ɼ��� 9600bps �̻��� �ӵ����� Ȯ���� port�� �ϵ���� handshake�� �Ҵ�. Pppd�� ������ �� ù��°�� �ϴ� ���� LCP�� ����ϴ� ������ ���� ���� link Ư����� �����ϴ� ���̴�. �Ϲ�������, �⺻���� �ɼ��� �������� �� �����ϹǷ� ���⼭�� �� �������� �ʴ´�. ������ ���ǿ� �� �� �ڼ��� LCP�� ���ư� ���̴�. ���� pppd�� IP control protocol�� IPCP�� ����ϴ� IP parameter�� ������ ���̴�. ������ pppd�� Ư���� IP-�ּҸ� �������� �ʾұ� ������, �װ��� resolver�� ����Ͽ� local hostname���� ����� �ּҸ� ����Ϸ��� �� ���̴�. ���ʴ� ���� �ּҸ� ���ο��� �˷��� ���̴�.
�Ϲ������� �̷��� �⺻���� ���ؼ� �߸��� ���� ����. ������ ����� ��ǻ�Ϳ� �̴��ݿ� �ִ��ϴ��� �̴��ݰ� PPP interface ��ο� ���� IP-�ּҸ� ����� �� �ִ�. ������ �ұ��ϰ� pppd�� ��ſ��� �ٸ� �ּҸ� ����ϵ��� ����ϰų�, �ٸ� �ּҸ� ����� �������� ����´�. �̷��� �ɼǵ��� ���� �忡�� ���ǵ� ���̴�.
IPCP �¾����� ����� �Ŀ�, pppd�� ����� ��Ʈ��ŷ���� PPP ��ũ�� ����ϱ� ���� �غ��� ���̴�. ù��°�� PPP ��Ʈ��ũ �������̽��� point-to-point ��ũ�� �����ϰ�, ppp0�� ù��° PPP ��ũ��, ppp1�� �� ��°��, �̷� ������ ����� ������. �������� ��ũ�� �ٸ� �� �� ���� ȣ��Ʈ�� ����Ű�� routing table entry�� �¾��� ���̴�. ������ ������ ������ pppd�� c3po�� �⺻ ��Ʈ��ũ ���Ʈ ����Ʈ�� ���� ���̴�. �ֳ��ϸ� �װ��� defaultroute �ɼ����� �־����� �����̴�. �̰��� ����� local network�� ���� �ʴ� ȣ��Ʈ�� ���� ��� datagram���� c3po�� ������ �Ѵ�. �Ǵٸ� ���� routing scheme���� pppd�� �����ϸ�, �װ��� ���� �忡�� �ڼ��ϰ� ������ ���̴�.
pppd�� command line argument���� �����ϱ�����, pppd�� �⺻ �ɼ����� �Ǿ� �ִ� ��� ȭ�ϵ��� ã�ƺ���. �� ȭ�ϵ��� ��� Ȯ���� command line argument���� �����ϰ� �ְ�, �� ���� �� ���� �ɷ��� �� �� ����. �Ұ��Ǵ� comment���� Ư���� ��ȣ�� ������ �ִ�. ù��° �ɼ� ������ pppd�� ������ �� ������ ã�� /etc/ppp/options�̴�. �� ȭ���� ��ſ��� ����� ����ڵ��� ���ȿ� ���� Ÿ���� �ϵ��� ���ֱ� ������ �� ȭ�Ͽ� �������� �⺻ ������ ���߾� ���� ���� ����. �� ����, pppd�� peer�� ���� � ������ ����(PAP�� CHAP)�� �ϵ��� �ϱ� ���� �� ȭ�Ͽ� auth�� ���� �ɼ��� �߰��� �� �ִ�. �� �ɼ��� ����ڵ鿡 ���� ��������� �ʱ� ������ database�鿡 �����Ǿ� ���� ���� � system���� PPP������ �ϴ� ���� �Ұ����ϴ�. /etc/ppp/options�� �������� �� �Ŀ� ã�� �ٸ� �ɼ� ȭ���� ������� Ȩ���丮�� �ִ� .ppprcȭ���̴�. �װ��� �� ����ڵ鿡�� �鸸�� �⺻�ɼǵ��� ������ �� �ֵ��� ���ش�. /etc/ppp/options�� ����ȭ���� ������ ���� ���ϰ��̴�:
# Global options for pppd running on vlager.vbrew.com auth # ������ �䱸�� usehostname # CHAP�� ���� local hostname�� ����� lock # UUCP-style ����̽��� ��ױ� ���� ����� domain.vbrew.com # �츮�� ������ ����
�̵� �ɼ��� ù��°�� �ִ� �ΰ��� �ɼǵ��� ������ ���� ���Ǹ� �Ʒ����� �����Ǿ���. lock Ű����� pppd�� device�� ��״� ǥ�� UUCP�� ����� ����ϵ��� �Ѵ�. �̰Ϳ� ���� ������ serial device�� �̿��ϴ� ���μ�������, /dev/cua3�� ����, LCK..cua3�� ���� lock ������ device�� ������� UUCP spool directory�� �����Ѵ�. �̰��� minicom�̳� uucico�� ���� �ٸ� ���α����� PPP�� ���Ǵ� ���� serial device�� ����ϴ� ���� �����ϴµ� �ʿ��ϴ�. �̷��� �ɼǵ��� ��ü ���� ȭ�Ͽ� ������ ������ ������ ������ �Ͱ� ���� �ɼǵ��� �ٽ� ������� �� ���� �����̰�, ���� ������ ������ ������ ������ �� �ִ�. ���� ���� ������ ���ӿ� ���� ���ڿ��� ���� � �ɼǵ��� ���߿� �ٽ� ����� ���� �ִٴ� �Ϳ� �ָ��϶�.
������ ������ ������ ����� �����ϰ� �������� �� �� ���� �ϳ��� ����� pppd�� �����ϱ� ���� ������ ������ �ؾ��� �ٴ� ���̴�. dip�ʹ� �ٸ���, pppd�� ������ �ý��ۿ� ��ȭ�� �ɰ� �����ϴ� pppd �ڽ��� ��ũ��Ʈ �� ���� �����ʴ�. ���� �� ���� �ϱ� ���� pppd�� �ܺ� ���α��̳� shell ��ũ��Ʈ�� �����Ѵ�. ������ ���� ����Ǿ�� �� ������ command line �ɼ����� pppd�� �־��� �� �ִ�. pppd�� ������ ǥ�� �Է°� ����� �ø��� �������� ������. �̸� ���� ������ ���α����δ� Don Libes�� ���� ������ expect�� �ִ�. expect�� �ٷ� �̷� ������ ���α��� ���� ���ȵ� �ſ� ������ ����� Tcl�� ����� �ΰ� �ִ�. Pppd ��Ű���� ��ſ��� UUCP ��Ÿ���� chat ��ũ��Ʈ�� ������ �� �ְ� ���ִ� chat��� ������ ���α��� �Բ� �����´�. �⺻������, chat ��ũ��Ʈ�� ���� �ý��ۿ��� ���ƿ��� ���ڿ��� �츮�� �� ����ؾ� �ϴ� ���ڿ��� �����Ǵ� ������ ���� �����Ǿ��ִ�. �츮�� ��������� �̰͵��� expect�� send ���ڿ��̶�� �Ѵ�. ������ chat��ũ��Ʈ�� �������� �����̴�.
ogin: b1ff ssword: s3kr3t
�̰��� chat�� ���� �ý��ۿ��� �α��� ������Ʈ�� �������⸦ ��ٷȴٰ� �α��� ������ b1ff�� ���ϴ� ���� �����ش�. �츮�� ���� ogin: ���� ��ٸ��µ� �̷� ���� �α��� ������Ʈ�� �빮�� L���� �ҹ��� l���� �Ű澲�� �ʾƵ� �Ǹ�, Ȥ �߸� ���ƿ��� ��쵵 �������. �� ���� ���ڿ��� chat�� �н����� ������Ʈ�� ��ٷȴٰ� �츮�� ������ ������ ���ڿ��̴�. �̰��� �⺻������ chat ��ũ��Ʈ�� �ϴ� ���̴�. ���� PPP ������ ���̾���� ���� ������ ��ũ��Ʈ�� ������ ������ �����ؾ� �Ѵ�. ����� ���� Hayes command set�� �����Ѵٰ� �ϰ�, ������ ��ȭ��ȣ�� 318714��� ����. ������ c3po���� ������ ����� ���� ������ chat ��ũ��Ʈ�� ������ ���� ���̴�.
$ chat -v '' ATZ OK ATDT318714 CONNECT '' ogin: ppp word: GaGariN
���ǿ� ����, ó�� ���ڿ��� expect ���ڿ��� �Ǿ�� �� �������� ���� �츮�� �װ��� kick(?)�ϱ����� ���� �ƹ��� ���䵵 ���� ���̹Ƿ� �츮�� ó���� �� ���ڿ��� �����ν� chat�� ó�� expect ���ڿ��� �dzʶٰ� �ؾ��Ѵ�. �� ���� �츮�� ATZ�� ����, Hayes-compatible ���� ���� ���� ������ �ְ�, (OK) ������ ��ٸ���. ���� chat�� ���� ��ȭ��ȣ�� ���̾�������� ������, CONNECT ������ ��ٸ���. ���⼭ �ٽ� �� ���ڿ��� �ް� �Ǵµ�, �츮�� ���� �ƹ��͵� ������ �ʾұ� �����̴�. ���� �ٽ� �α��� ������Ʈ�� ��ٸ��� �ȴ�. Chat ��ũ��Ʈ�� ������ ����� �״�� �����Ѵٴ� ���� �����϶�. -v �ɼ��� syslog ����� local2 facility�� ���� ��� Ȱ���� ���� chat log�� �����. (facility : ���� ����� �̵� log ������ �����̷�Ʈ�ϵ��� syslog.conf�� �����ߴٸ�, �� ȭ���� ���� �� ������� chat�� �α��� ��ȣ�� ��� ���� ������ ��ü chat ��ũ��Ʈ�� ����Ʈ�� �����.)
����ڵ��� ps ������ �̿��� process command�� �� �� �ֱ� ������ chat ��ũ��Ʈ�� command line���� �����ϴ� ���� �ټ� �����ϴ�. ���Ƿ� ����� chat script�� dial-c3po�� �Ҹ��� �ϳ��� ȭ�Ͽ� �������μ� �̷� ������ ���� �� �ִ�. ����� -f 'ȭ�ϸ�' �ɼ��� ������ ���� command line���� ������ �����ϴ� ��� ȭ�Ϸκ��� ��ũ��Ʈ�� �о���� �� �ִ�. ���� ������ pppd '�ֹ�'�� ������ ���� ���̴�.
# pppd connect "chat -f dial-c3po" /dev/cua3 38400 -detach \ crtscts modem defaultroute
���̾� �� ��ũ��Ʈ�� ������ ���� ���� �ɼ� �̿ܿ���, �츮�� command line�� �� ���� �ɼ��� �߰��Ͽ���: pppd���� �ֿܼ� ����� ���� ����� ���μ����� �ǵ��� �����ִ� -detach�̴�. ��, modem Ű����� �� � ����-��ȭ�� �ɱ����̳� �� �� ���� ���� �ø��� ��ġ�� Ư���� ����-�� �����Ѵ�. ���� ����� �� Ű���带 ������� �ʴ´ٸ�, pppd�� ��Ʈ�� DCD ������ ��������� ���� ���̸� ���� ���� ���� �ý����� ���ڱ� �������ٵ簡 �ϴ� ��츦 ���� �˾������� ���Ѵ�. ������ ������ ������ �ټ� ������ ���̴�; chat�� �ξ� �� ������ ��ũ��Ʈ�� ������ �� �ִ�. ���� ������ �� ���� ���� chat�� ������ ���� ��� �̸� ����ϴ� ���ڿ��� ���� �� �ִ�. �������� ��� ���ڿ����� ����� �� ��ȭ�� ��ȭ���̰ų�, ��ȭ�⸦ ���� �ʾ��� ��쿡 �������� BUSY, NO CARIIER�� ���� �������̴�. chat�� �̸� �ٷ� �˾������� �ϱ� ���ؼ� time out�� ��ٸ��⺸�ٴ� ����� chat ��ũ��Ʈ�� ���ۿ� ABORT Ű���带 ���� ���� �� ����.
$ chat -v ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ...
�̿� ������ ����ε�, ����� TIMEOUT �ɼ��� chat ��ũ��Ʈ�� �߰������ν� timeout ���� ������ �� �ִ�. �� �ڼ��� ������ chat(8) �Ŵ��� �������� �о�ƶ�. ������, ����� ���� � ������ �������� chat ��ũ��Ʈ�� ������ �ʿ�� �� ���̴�. �� ����, ���� �ý����� �α� ������Ʈ�� ���� �ʾ��� ���, BREAK�� �����ų� ij���� ������ ������ �� ���̴�. ����� expect ���ڿ��� sub-��ũ��Ʈ�� �߰������ν� �̸� �ذ��� �� �ִ�. �װ��� ���������� ���еǾ� �ִ� ��ũ��Ʈ ��ü �� ��ü�� ���� send-�� expect-���ڿ����� ������ �����Ǿ��ִ�. sub-��ũ��Ʈ�� ����ߴ� ���ڿ��� ������ ������ �ʾ��� ���� ����ȴ�. ���� ������ �츮�� chat ��ũ��Ʈ�� ������ ���� ������ �� �ִ�.
ogin:-BREAK-ogin: ppp ssword: GaGariN
����, chat�� ���� �ý����� �α��� ������Ʈ�� ������ ������, sub-��ũ��Ʈ�� ù BREAK�� ������, �ٽ� �α��� ������Ʈ�� ��ٸ��� �ȴ�. ������Ʈ�� ��Ÿ������, ��ũ��Ʈ�� ��ҿ� ���� ��ӵǰ�, ���� ���� ���ϸ� ������ �Բ� ���� ����.
�⺻������, pppd�� ��� ������ ���� �������� syslog�� daemon facility�� �α��Ѵ�. �ֿܼ����� syslog�� �̷��� ������� �׳� ���������� ������ ����� syslog.conf�� ù�Ӹ��� �̰��� ���Ϸ� �����̷�Ʈ�ϵ��� �ϴ� ������ ���ؾ��Ѵ�.
daemon.* /var/log/ppp-log
���� ����� PPP �¾��� �� ���� �������� �ʴ´ٸ� �� �α�ȭ���� ��ߴٺ����ν� ������ �߸��ǰ� �ִ°��� �� �� �ִ�. �̰��� ���� ������ ���� �ʴ´ٸ� ����� �ɼ��� �̿��� �ܺ� ����� output�� �����ϰ� �� �� �ִ�. �̰��� syslog�� �������ų� ���� ��� control packet�� ������ pppd log�� �����. ��� ������ deamon facility�� ����.
����������, ���� ������ ������ kdebug �ɼǿ� �����ϴ� pppd�� ���� Ŀ��-������ ���� ������� �����ϰ� �ϴ� ���̴�. �̰��� ���� ������ bitwise OR ������ ���������� ������.: 1�� �Ϲ����� ����� ����, 2�� HDLC ���������� ������ ������ ������, ���� 4�� HDLC �������� ���� ������ ����̹��� ����Ʈ�̴�. �̷��� Ŀ�� ����� �������� �������ϱ� ���Ͽ�, ����� /proc/kmsg ȭ���� �е��� syslog ������ �����Ű�ų� klogd������ ������Ѿ� �Ѵ�. ��� Ŀ�� ������� syslog�� Ŀ�� facility�� ������ �����Ѵ�.
IPCP�� ��ũ �����ð��� �ִ� �ξ�� IP parameter�� �����ϱ� ���Ͽ� ���ȴ�. �Ϲ������� ������ peer�� � ������ �⺻�����κ��� �ٲٷ��� �ϰų�, � ���� ����Ű�� IPCP Configuration Request packet�� �������� ��. �̵��� ���ſ� ����, ���� ȣ��Ʈ �˻���� � ������ �����Ǿ� �ִ³Ŀ� ���� �װ��� �����ϰų� �ź��ϰ� �ȴ�. pppd�� ������ ���� ���� IPCP �ɼǵ��� ��ſ��� �ش�. �̵��� command line �ɼǿ� ���� ������ ���� ���ؼ��� ������ �����Ѵ�.
���� ������ �츮�� c3po�� ��ȭ�� �ɰ� IP ��ũ�� ���������. ��ũ�� ��� ���ʿ��� Ư���� IP-�ּҸ� �����ϵ��� �ϴ� �غ� ������. �� ��� local IP-�ּҷ� �츮�� vlager�� �ּҸ� �����߰�, c3po�� �� �ڽ��� ���� �ֵ��� �ߴ�. ���� ������ ��ũ�� �����̳� �Ǵٸ� ���ʿ� � �ּҸ� ����� ������ �����ϴ� ���� �ſ� �����ϴ�. pppd�� �̿� �ش��ϴ� �������� ��ȭ�� �� �� �ִ�. Ư���� �ּҵ��� �������Ͽ�, ����� �Ϲ������� pppd�� ���� �ɼ��� �� �� �ִ�.
local addr:remote addr���⼭ local_addr�� remote_addr�� 4�κ����� �̷���� �ּ� ǥ����̰ų� ȣ��Ʈ���ӵ�� �־������Ѵ�. �̰��� pppd�� ù��° �ּҸ� �ڽ��� IP-�ּҷ�, �ι�°�� peer�� �ּҷ� �ϵ��� �����. ���� peer�� ���� ��� �͵� IPCP ���� �� �ź��Ѵٸ� IP-��ũ�� �������� ���� ���̴�.
���� ����� peer ����ڵ��� ��� �ּҵ� �Ƶ����� �ʰ� ���� local address���� ���Ѵٸ� remote_addr �κ��� ����θ� �ȴ�. ����, 130.83.4.27�̶�� IP�ּҸ� ��J�� vlager�� ����ϰ� �ʹٸ� ���� command line���� 130.83.4.27:��� �ϸ� �ȴ�. �����ϰ�, remote_addr���� ����ϱ� ���ؼ��� local_addr �κ��� ����θ� �ȴ�. �⺻������, pppd�� ����� ȣ��Ʈ���Ӱ� ������ �ּҸ� ����Ѵ�.
� PPP�������� ���� ���� Ŭ���̾�Ʈ ����Ʋ�鿡�� �ּҸ� ���������� �����Ѵ�: �ּҵ��� ���� ��ȭ�� �ɷ��������� �����ǰ�, �ٽ� �α����� �� �����Ѵ�. �� ���̾�� ����������, ����� ������ ��ſ��� ����� �ּҸ� ������� ���ٴ� pppd�� �����κ��� Ư���� IP-�ּҸ� �䱸�ϴ� �� �ʴ´ٴ� ���� �����ؾ� �Ѵ�. �̰��� ����� local_addr ������ �������� ���ƾ� �Ѵٴ� ���� �ǹ��Ѵ�. ���ٿ�, ����� local host�� �ּҸ� ����ϴ� ��� peer�� �����ϴ� IP-�ּҸ� ����ϵ��� �ϴ� noipdefault �ɼ��� ����ؾ� �Ѵ�.
��Ʈ��ũ �������̽��� ������ �Ŀ�, pppd�� �Ϲ������� ȣ��Ʈ ��θ� peer���Ը� �¾��� ���̴�. ���� �� ����ȣ��Ʈ�� ���� �ִٸ�, ����� '��'�� �ִ� peer ���� ȣ��Ʈ�� ����DZ⸦ ���� ���̴�. ; �ٽø��� ��Ʈ��ũ ��ΰ� �����Ǿ�� �Ѵ�.
�츮�� �̹� �⺻�ɼ����� ����� �� �⺻ ��η� �����Ѵٴ� ���� ���캸�Ҵ�. �� �ɼ��� ����� ��ȭ�� �� PPP ������ ����� ���ͳ� ����Ʈ���̷� ����� �� �ſ� �����ϴ�.
�� �ݴ��� ���, ����� �ý����� �ϳ��� ȣ��Ʈ�� ���� ����Ʈ���̷� ���ɶ�, ���� ���� ������� �����ϴ�. �� ����, loner��� ������ ��ǻ���� ������� ���� �������� �ϲ��� ��츦 ������ �� �� �ִ�. PPP�� ���� vlager�� �����ϴ� ���, �״� ������ subnet�� �ּҸ� ����� �� �ִ�. vlager������, pppd�� ������ loner�� proxy ARP�� ����� �� �ִ� �ɼ��� �ν����ϴ� proxyarp �ɼ��� �� �� �ִ�. �̰��� �ڵ������� loner�� ������� ���ξ����忡 �ִ� ��� ȣ��Ʈ�� ������ �� �ֵ��� �����.
���� ��� ��찡 ����ó�� ������ �ʴ�. ����, �� ���� ���ÿ��� ��Ʈ��ũ�� ��ũ�ϴ� �Ͱ� ���� ����� ���̴�. �̴� ��Ȯ�� ��Ʈ��ũ ��θ� �߰����־�߸� �Ѵ�. �ֳ��ϸ� �̵� ��Ʈ��ũ���� �� �ڽŸ��� �⺻ ��ε��� ������ �ֱ� �����̴�. �� �ܿ���, PPP ��ũ�� �⺻ ��η� ����Ͽ� loop�� �����ϰ� �Ǵ� ��쿡 ������ peer�� ������ �Ǵ� ���, peer���� ����Ǿ� �ִ� �ð��� ���� ������ ��ġ Ź���� �ϴ� ��ó�� ���� ������ ���� �� �ȴ�.
�� ����, ���� �������� �� ������ � ���ÿ� ���� ���Ҵٰ� ����. �������� B Ŭ���� ��Ʈ��ũ subnet3�� ������ �� �ڽ��� IP ��Ʈ��ũ �ѹ� 191.72.3.0�� �̿��Ͽ� �̴����� ��Ѵ�. ���� ������ ����Ÿ���̽� ����� ������Ʈ�ϱ� ���� PPP�� ���� �������� �� �̴��ݿ� �����ϱ⸦ ���� ���̴�. �ٽ�, vlager�� ����Ʈ����ó�� �ൿ�ϰ�, ���� peer�� sub-etha�� �Ҹ��� 191.72.3.1..�� IP�ּҸ� ������ �ȴ�.
Sub-etha�� vlager�� ������ ��, �װ��� �Ϲ������� vlager�� ���ϴ� �⺻ ��� ����Ʈ�� ���� ���̴�. vlager���� �츮�� sub-etha�� ��ġ�� subnet-3�� ���� ��Ʈ��ũ ��θ� ��ġ�ؾ� �Ѵ�. �̸� ����, �츮�� ���Ա��� ����� ���� pppd�� ����-ip-up����-�� ����� �� �ִ�. �̰��� ������ �� ��ũ��Ʈ�̰ų� PPP �������̽��� ����� �����ǰ� �� �Ŀ� ����Ǵ� /etc/ppp�� ��ġ�ϴ� ���α��̴�. �װ��� ������, �װ��� ������ ���� �Ķ���Ϳ� ���� ����ȴ�.
ip-up iface device speed local addr remote addr
���⼭ ifcae�� ���ǰ� �ִ� ��Ʈ��ũ �������̽��� �����ϰ�, device�� ���ǰ� �ִ� �ø��� ��ġ�� ��θ�(stdin/stdout�� ���ȴٸ� /dev/tty)�̸�, speed�� ��ġ�� �ӵ��̴�. local_addr�� remote_addr�� ��ũ�� ���� ���� :�� �������� 4�� �κ����� �� IP-�ּҵ��� �ش�. �츮�� ���, ip-up ��ũ��Ʈ�� �Ƹ��� ������ ���� ������ �����ϰ� ���� ���̴�.
#!/bin/sh case $5 in 191.72.3.1) # this is sub-etha route add -net 191.72.3.0 gw 191.72.3.1;; esac exit 0
�̿� ����� ����, /etc/ppp/ip-down�� PPP ��ũ�� �װ� �� �� ip-up�� �� ��� �ൿ�� ����ϱ� ���� ���ȴ�.
���� ����� ��ȹ�� ���� �Ϻ��� ���� �ƴϴ�. �츮�� ���� PPP ȣ��Ʈ�鿡 ����� ���̺��� ������ ����������, ���� ������ ȣ��Ʈ���� �ٸ� ��� ��Ʈ��ũ���� PPP ��ũ�� ���ؼ��� �ƹ��͵� ���� ���Ѵ�. ���� ���� ������ ��� ȣ��Ʈ���� sub-etha�� �ִ� ���� �⺻ ���Ʈ ������ ������ �ְ�, ��� �������� ȣ��Ʈ���� vlager�� ���ϴ� �⺻ ��θ� �������ϴ��� �̰��� �״��� ū ������ �ƴϴ�. ���� �̰��� �ٷ� �� ��찡 �ƴ϶�� ����� gated�� ���� ����� ������ ����ϸ� �ȴ�. vlager�� ���� ��Ʈ��ũ ��θ� �����ϰ� �� �Ŀ�, ����� ������ ����ݿ� �پ��ִ� ��� ȣ��Ʈ�鿡 ���ο� ��θ� �˷��� ���̱� �����̴�.
�տ��� �츮�� �̹� ��ũ�� Ư������ �����ϱ� ���� Link Control Protocol,LCP�� �ٷ������.
LCP�� ���� �����Ǵ� �ΰ��� ���� �߿��� �ɼǵ��� maximun receive unit�� Asynchoronous Control Character Map�̴�. ���� LCP�ɼǵ��� �ֱ�� ������, ���⼭ �����ϱ�� �ʹ� ����ȭ�� �Ǿ� �ִ� ���� ����̴�. �װ͵��� �� �ڼ��� �˾ƺ����� RFC-1548�� �����ϱ� �ٶ���.
����, async map���� �Ҹ��� Asynchoronous Control Character Map�� �ݵ�� ���� �־�� �ϴ� control character���� �����ؾ� �ϴ� ��ȭ���� ���� ������ ��ũ���� ���� ���ȴ�. ���� ��� � �߸��� ������ ���� ���� XOFF�� ���� �� �������� �� ������ ����Ʈ���� handshake�� ���� XON�� XOFF character���� �Ƹ� ����� ���� ���� ��. �ٸ� �ĺ��ڵ��� Ctrl-](�ڳ� escape character)�� �����Ѵ�. PPP�� ASCII �ڵ� 0���� 31�� ��� ���̶� async map�� �����ϸ� ������������ ���ش�.
async map�� �� ASCII �ι���(ASCII 31)�� �ش��ϴ� �ּ����� �� ���ڸ� ���� 32-��Ʈ ���� ��Ʈ���̴�. ���� ��Ʈ�� �����Ǹ�, ��ũ�� ���� �װ��� ������ ���� �����ϴ� ���ڴ� �ݵ�� escape�Ǿ����� ��ȣ�� ������. �����ϸ鼭 async map�� ��� control character���� escape�Ǵ� 0xffffffff�� ���߾�����.
����� peer���� � �͵� �� Ư���� ���� �����ϰ��� ��� control character���� escape�� �ʿ䰡 ���ٰ� ���ϱ� ����, asyncmap �ɼ��� ����Ͽ� ���ο� asyncmap�� pppd�� ������ �� �ִ�. ����, ���� ^s�� ^Q(ASCII 17�� 19, �Ϲ������� XON�� XOFF)�� escape �Ǿ�� �Ѵٰ� �� ��, ������ ���� �ɼ��� ����� �� �ִ�.
asyncmap 0x000A0000
�ִ� ���� ����(Maximum Receive Unit), Ȥ�� MRU�� peer���� �츮�� �ް��� �ϴ� �ִ�HDLC �����ӵ��� ũ�⸦ ������. �� �κп��� MTU(Maximum Transfre Unit:�ִ� ���� ����)�� ���ø� ���� �ְ�����, �� ���� ���� �������� ����. MTU�� Ŀ�� ��Ʈ��ŷ ����̽��� �Ķ�����̰�, �� �������̽��� ������ �� �ִ� �ִ� �������� ũ�⸦ ��Ÿ����. MRU�� MRU���� �� ū ��� �����ӵ� �������� �ʵ��� ������ ���̿� �ִ� �ܼ��� ��� �����̴�.; ������ �ұ��ϰ� �������̽��� �ּ��� 1500�����ӱ����� ������ �� �־�� �Ѵ�.
���Ƿ� MRU�� �����ϴ� ���� � ��ũ�� ������ �� �� �ִ����� ������ �ƴ϶� ����� � �ִ��� ó������ �ִ� ���ΰ� �ϴ� ���̴�. ���� ��ũ�� ���� ���;�Ƽ���� ���α��� ����ϱ⸦ ���Ѵٸ�, MRU�� ���� ���� 296���� �ִ� ���� ������ �̷� ���� �̵��ݾ� ū ��Ŷ(��, FTP ����)�� ����� Ŀ���� "����"�ϰ� ���� ���� ���̴�. pppd�� MRU�� 296���� ���߶�� �ϱ� ����, ����� mru 296�̶�� �ɼ��� �ָ� �ȴ�. ���� ���� MRU���� ����� VJ ��� ������ ������� �ʵ��� ���� �ʾ��� �� (�Ϲ������δ� ����) ����� �˾ƸԴ´�.
pppd�� ��ũ�� ����DZ� ���� ��ȯ�Ǵ� ���� ��û���� �ִ� ���ڵ�� ���� ���� ���μ����� ��ü���� ������ �����ϴ� �ξ�� LCP�ɼ��� �����Ѵ�. ���� ����� ������ �ϴ��� ��Ȯ�ϰ� �˰� ���� �ʴٸ�, �׳� ���δ� ���� �� ����.
����������, LCP ���� �����鿡 ����Ǵ� �� ���� �ɼ��� �ִ�. PPP�� �ΰ��� ������, Echo ��û�� Echo ����, �� �����Ѵ�. pppd�� �� ����� � ��ũ�� ��� ���������� �����ϱ� ���� ����Ѵ�. ����� �̰͵��� �ʷ� ǥ���ϴ� �ð��� �Բ� lcp-echo-interval �ɼ��� ���� �����ϰ� �� �� �ִ�. �� �ð� ���� ���� ���� ȣ��Ʈ�κ��� ��� ���ŵ� ���ٸ� pppd�� Echo ��û�� ����Ű��, peer�� Echo ������ �������⸦ ��ٸ���. ���� peer�� ������ �ؿ��� �ʴ´ٸ�, ��ũ�� �� ���� ��û�� ���� �Ŀ� ��������. �� ���ڴ� lcp-echo-failure �ɼ��� ����Ͽ� ������ �� �ִ�. �⺻������ �� ������� �� ���� ��� �������� �ʵ��� �Ǿ� �ִ�.
�߸� ������ PPP ������ ���ȱ������� ���� ū ����� �ʷ��Ѵ�. �̰��� �ƹ� ����ڳ� ����� �̴������� �������� �ϴ� �־��� ����̴�. �� �忡���� ����� PPP ������ �����ϰ� �ϴ� ��� ������ �غ����� �ϰڴ�.
pppd�� ������ �� �ϳ��� ��Ʈ��ũ ����̽��� ����� ���̺��� �����ϴµ� root������ �䱸�ϴ� ���̴�. �Ϲ������� ����� �� ������ root�� ������Ѽ� Ǯ ���̴�. ���� pppd�� ����ڵ鿡�� �������� ���Ȱ� ���õ� �ɼǵ��� ����ϵ��� ����Ѵ�. �̷��� �ɼǵ��� �����ϰ� ����� ����ڵ��� �������κ��� ��ȣ�ϱ� ����, ���� �忡�� ������ ��ü���� �⺻ �ɼǵ��� /etc/ppp/options ȭ�Ͽ� �����ִ� ���� �����Ѵ�. ���� authentification �ɼǰ� ���� �͵��� ����ڵ鿡 ���� ���� ������ �� ���� ������ ������ ��å�� �������� ��ȣ�� �� �ش�.
����, ��� �ڽŵ� ���� �ý������κ��� PPP�� ���ϴ� ���� ��ȣ�ؾ� �Ѵ�. �ٸ� �����ó�� ��� ȣ��Ʈ���� �о�� ���Ͽ�, �� peer�� ���� � ������ ������ ���� �־�� �Ѵ�. �߰������� ����� �ܺ��� ȣ��Ʈ���� ���� �����ϴ� ��� IP-�ּҵ� ��� ���ϵ��� �ؾ� ������ �ּ��� �� ���� �����ؾ� �Ѵ�. ���� �忡�� �� ������ �ٷ��.
PPP�� ����� �� ������ �ý����� �Ƹ� �ý����� peer���� �� �ڽ��� �ΰ��� ���� �������� �� �ϳ��� ���� ������ �䱸�� ���� ��. �� ���� �ٷ� Password Authentication Protocol(PAP), ���� Challenge Handshake Authentication Protocol(CHAP)�̴�. ������ �Ǿ�����, ��ũ�� ���� ���� �ٸ� ���ʿ� �� �ڽ��� ������ ��ȭ�� �����̵� ��ȭ�� �� ���̵� �䱸�ϰ� �ȴ�. ���Ƿ� ���� �Ʒ����� �����ϴ� �ʰ� ������ ���� �����ϰ� �� �� 'Ŭ���̾�Ʈ'�� '����'�� ������ �ټ� �����ϰ� �����ص� �� ���̴�. PPP ������ �� peer���� �ٶ����� ���� ���������� Ȯ���ϴ� �Ǵٸ� LCP ���� ��û�� �������ν� ������ ���� �� �ִ�.
PAP�� �Ϲ����� �α��� ������ ���� ������ ������� �����Ѵ�. Ŭ���̾�Ʈ�� ����ڸ��� (�Ϲ������δ� ��ȣȭ��)��ȣ�� ������ �� �ڽ��� �����ϰ� ������ �� �ڽ��� ��� ����Ÿ���̽��� �װ��� ���� ����. �� ����� �ø��� ������ ���� ��ȣ�� �˾Ƴ��� �ϴ� ����� ����� �ݺ��Ǵ� '��������' ���ݿ� ����ϴ�.
CHAP�� �̷��� ������ ������ ���� �ʴ�. CHAP�� ������(��, ����)�� �������� ������� "challenge" ���ڿ��� ���� ȣ��Ʈ���� �Բ� Ŭ���̾�Ʈ�� ������. Ŭ���̾�Ʈ�� ȣ��Ʈ���� ������ ��ȣ, challenge�� �����ؼ�,ã������ ����ϰ�, �� ���ڿ��� �� �ϳ��� hashing �Լ��� �̿��ؼ� ��ȣȭ�Ѵ�. �� ����� Ŭ���̾�Ʈ�� ȣ��Ʈ���� �Բ� ������ �ǵ��ư���. �� ������ ���� ���� ����� �����ϰ�, ���� ����� �ǵ��ƿԴ� ���� Ȯ���ϰ� Ŭ���̾�Ʈ�� �����Ѵ�.
CHAP�� �ٸ� Ư¡��, ���� Ŭ���̾�Ʈ�� ������ �����Ҷ��� �������� ������ �ʰ�, Ŭ���̾�Ʈ�� �ٸ� ħ���ڿ� ���� �ٲ����� �ʾҴ���, ���� ��� ��ȭ���� �ٲ�ģ�ٵ����ϴ�, Ȯ���ϱ� ���� Ư���� �ð������� �ΰ� challenge���� Ŭ���̾�Ʈ�� ������.
pppd�� ��������� /etc/ppp/chap-secrets�� ppp-secrets��� �ٸ� ȭ�Ϸ� CHAP�� PAP�� ���� �ΰ��� ��� Ű�� �����Ѵ�. ���� �ϳ��� �ٸ� ȭ���� ���� �ٸ� ���� ������ ���� ����, ����� CHAP�� PAP�� ���� ���� �Ǹ��� ��Ʈ���� �ް� �ǰ� ������ �´�.
�⺻������, pppd�� ���ݼ����κ��� ������ �䱸���� ������ ���ݼ������� �����䱸�� �������� �ű �����Ͽ� ������ �ϰ� �ȴ�. CHAP�� PAP���ٴ� �ξ� �� �����ϱ� ������, pppd�� �����ϸ� CHAP�� ����Ϸ��Ѵ�. ���� peer�� �װ��� �������� �ʴ´ٰų� ���� pppd�� ���� �ý����� chap-secret ȭ�Ϸκ��� CHAP secret�� ã�� ���Ѵٸ�, PAP�� �ٲ��. ���� PAP ���� ������ ���� �ʴٸ� ������ �ź��ϰ� �ǰ�, ��������� ������ �������� �ȴ�.
�̷��� ����� ���������� �����ȴ�. ����, �־��� ���� Ű���忡 ����, pppd�� peer��peer �� �ڽ��� ������ �ϵ��� �䱸�ϰ� �ȴ�. pppd�� CHAP�� PAP ����Ÿ���̽��� peer�� ���� secret�� �����ϴ� �ϴ� �� CHAP�� PAP�� ����ϵ��� ������ ���̴�. Ư���� ���� ���������� �Ѱ� ���� �ٸ� �ɼǵ� �ִ�. ���⼭�� �� ������ �ٷ��� �ʰڴ�. pppd(8) ������ �����ϵ��� �϶�.
���� ����� PPP�� ���� ��� �ý��ۿ� ��Ű� �� �ڽ��� �����ϵ��� �Ϸ���, ������ݵ�� auth �ɼ��� ��ü���� /etc/ppp/options ȭ�Ͽ� �ֵ��� �ϰ�, ������ �ý��ۿ� �ش��ϴ� ��й�ȣ���� chap-secretȭ���� �־�� �Ѵ�. ���� �ý����� CHAP�� �������� �ʴ´ٸ�, �� ���� pap-secret ȭ���� ÷���϶�. �� ������� ����� ����� ȣ��Ʈ�� ������ ���� � �ý��۵� �������� ���ϰ� �� �� �ִ�.
���� �� ������ PPP�� �ΰ��� secret ȭ���� pap-secrets�� Chap-secretsȭ�Ͽ� ���ؼ� �ٷ� ���̴�. �̵��� /etc/ppp�� ��ġ�ϸ� Ŭ���̾�Ʈ��, ������, ��й�ȣ��, ���κ����� �̷���� ������ ��� ������ ���������� ���� IP-�ּҵ��� ����Ʈ�� �����Ѵ�. Ŭ���̾�Ʈ�� ���� �ʵ��� �ؼ��� CHAP�� PAP�� ���� �ٸ���, peer���� � ������� ������ �ϴ��Ŀ� �����ϰų� Ȥ�� ������ �츮�� �Բ� ������ �䱸�ϴ��Ŀ� ���ִ�.
CHAP�� ����� ������ �� �ڽ��� ������ �ϱ� ���ؼ�, pppd�� pap-secretsȭ�Ͽ��� ���� ȣ��Ʈ���� ���� Ŭ���̾�Ʈ �ʵ带 ã��, CHAP Challenge���� ������ ���� ȣ��Ʈ���� ���� ���� �ʵ带 ã�´�. peer���� �� �ڽ��� �����ϵ��� �ٽ� �����Ͽ�����, ������ �ܼ��� �ݴ�� �ٲ��:pppd�� ���� ȣ��Ʈ���� ���� Ŭ���̾�Ʈ �ʵ带 ã��,(Ŭ���̾�Ʈ�� CHAP ���信�� ������) ���� ȣ��Ʈ���� ���� �����ʵ带 ã�´�.
�Ʒ��� vlager�� ���� ������ chap-secrets ȭ���̴�.
# CHAP secrets for vlager.vbrew.com # # client server secret addrs #------------------------------------------------------------------- vlager.vbrew.com c3po.lucas.com "Use The Source Luke" vlager.vbr c3po.lucas.com vlager.vbrew.com "riverrun, pasteve" c3po.lucas * vlager.vbrew.com "VeryStupidPassword" pub.vbrew.
c3po���� PPP������ �̷�� ������ c3po�� vlager���� CHAP Challenge�� ������ CHAP�� ����� �� �ڽ��� �����ϵ��� �Ѵ�. pppd�� ���� vlager.vbrew.com�� ���� Ŭ���̾�Ʈ �ʵ带 ã�� chap-secrets ȭ���� �˻��ϰ� c3po.lucas.com�� ���� �����ʵ带 ã��, ������ ������ ù��° �ٿ��� ã�Ƴ���. ���� challenge ���ڿ��� secret(Use The Source Luke)�κ��� CHAP ������ ���ܳ���, �װ��� c3po�� ������.
���ÿ� pppd�� Ư���� challenge ���ڿ��� �����ϰ� �ְ� Ȯ���� ������ ȣ��Ʈ���� vlager.vbrew.com�� �����ϰ� �ִ� c3po�� ���� CHAP challenge�� �ۼ��Ѵ�. c3po�� ��� �츮�� �̾߱��ߴ� ������� CHAP ������ �����, �װ��� vlager�� �ǵ��� �ش�. ���� pppd�� CHAP �������κ��� Ŭ���̾�Ʈ ȣ��Ʈ��(c3po.vbrew.com)�� �̾Ƴ���, Ŭ���̾�Ʈ�μ� c3po�� �´� �κ��� �ִ����� chap-secret ȭ�Ϸκ��� ã��, �����μ� vlager�� �ִ����� ã�´�. �κ�° ���� �� ������ �ϰ�, ���� pppd�� CHAP challenge�� secert riverrun, pasteve�� ��ȣȭ �ϰ� �� ����� c3po�� CHAP ����� ���Ѵ�.
��° �������� �ʵ�� ù��° �ʵ忡�� ������ Ŭ���̾�Ʈ�鿡 �ش��ϴ� IP-�ּҵ��� �����Ѵ�. �� �ּҵ��� 4�� �κ��� �̷�����ų�, resolver�� ���� �νĵǴ� ȣ��Ʈ�����ϰ��̴�. ���� ���� c3po�� IPCP �����߿� ����Ʈ�� ���� �ʴ� IP �ּҸ� ����ϱ⸦ ���Ѵٸ�, �� �䱸�� �����ǰ�, IPCP�� �������� ���̴�. ������ ������ ����ȭ�Ͽ���, ���Ƿ� c3po�� �� �ڽ��� IP-�ּҸ� ����ϴ� ���� ���ѵȴ�. ���� �ּ� �ʵ尡 ����ִٸ� ��� �ּҵ鵵 ���ȴ�.; -���� Ŭ���̾�Ʈ ���� ������� ���ϵ��� �������ش�.
chap-secrets ȭ���� ����° ���� ��� ȣ��Ʈ���� Ŭ���̾�Ʈ, �����ʵ��� *�� �����ϱ� ������ � ȣ��Ʈ�� vlager�� PPP ��ũ�� ����� �ֵ��� ���ش�. ������ �䱸������ �װ��� secret�� �˰�, pub.vbrew.com�� ����ؾ� �Ѵٴ� ���̴�. pppd�� �� ����/Ŭ���̾�Ʈ�� ¦�� �̷絵�� ���� �ֱ� ������ ���ϵ�ī�� ȣ��Ʈ������ �����ϴ� entry���� �Ƹ� secrets ȭ�� ����� �������� ��.
���� pppd�� ��� secrets ȭ�Ϸκ��� ȣ��Ʈ���� �̸��� �Ǵ��� �˾ƺ���. ���� �����ߴ� ���, ���� ȣ��Ʈ���� �� CHAP Challenge�� ������Ŷ�ӿ� �ִ� peer�� ���ؼ� �����ȴ�. ���� ȣ��Ʈ���� �⺻������ gethostname(2) �Լ��� ���ؼ� ��������. ���� ����� �ý��۸��� ����� ���ѵ� ȣ��Ʈ������ �شٸ� ������ ���� domain �ɼ��� ����ؼ� pppd�� domain name�� �־�� �Ѵ�.
# pppd ...domain vbrew.com
�̰��� Brewery�� domain name�� ��� ������ ���õ� Ȱ����� �Բ� vlager�� �����δ�. ���� ȣ��Ʈ���� ���� progpppd�� ������ �ٸ� �ɼǵ��� usehostname�� name�̴�. ����� "local:varremote"��� command line ������ ���� ���� IP �ּҸ� �־��� ��, local�� 4���� :�� ���е� ���ڸ� ����ϴ� name�̰�, pppd�� �̸� ���� ȣ��Ʈ������ ����� ���̴�. �� �ڼ��� ���� pppd(8) �Ŵ��� �������� �����ϱ� �ٶ���.
PAP secerts ȭ���� CHAP�� �ſ� ����ϴ�. ó���� �� �ʵ�� �� ����ڸ��� �������� ��� �ִ�; ����°�� PAP secret�� ��� �ִ�. ������ ���� ��û�� �����ö�, pppd�� ���� ȣ��Ʈ���� �����ʵ尡 �������� ����ϸ�, ����� �ʵ�� ��û���� ������ ����ڸ��� ���� ���� �˻��Ѵ�. peer�� �ڽ��� ���� ������ �̷������, pppd�� ������ ���� ���� ����ڸ��� ���� ����� �ʵ�� �Բ� �� �� secret�� �����ϰ� �����ʵ�� ���� ���� ȣ��Ʈ���� ����Ѵ�.
���� PAP secrets ȭ���� �Ƹ� ������ ���� ���̴�.
# /etc/ppp/pap-secrets # # user server secret addrs vlager-pap c3po cresspahl vlager.vbrew.com c3po vlager DonaldGNUth c3po.lucas.com
ù��° ���� �츮 �ڽ��� c3po�� �����ϱ� ���� ���ȴ�. �ι�° ���� ��� c3po�� �̸������� ����ڰ� �� �ڽ��� �츮�� �Բ� �����Ǵ� ���� ��Ÿ�� �ش�.
ù��° �÷��� �ִ� vlager-pap��� �̸��� �츮�� c3po�� ������ ����ڸ��̴�. �⺻������ pppd�� ���� ȣ��Ʈ���� ����ڸ����� �����Ѵ�. ���� ����� name �ڿ� ������� user �ɼ��� ����Ͽ� �ٸ� �̸��� ������ �� �ִ�.
peer���� ������ ���� pap-secrets ȭ�Ͽ��� entry�� ���� �� ��, pppd�� ���� ȣ��Ʈ�� �̸��� �˾ƾ� �Ѵ�. �װ��� �˾Ƴ� ����� ���� ������ ����� �ݵ�� peer�� ȣ��Ʈ���ڿ� ������� remotename�̶�� Ű���带 ����ؼ� command line���� �����ؾ��Ѵ�. ���� ������ ������ ������ c3po���� ������ ����, �츮�� �ݵ�� ���� �ɼ��� pppd�� command line�� �����־�� �Ѵ�.
# pppd ...domain vbrew.com
��° �κп�(���� �� �ڿ� ���� ��� �κ���), CHAP���� ���� ��ó�� ����� � IP-�ּҵ��� Ư���� ȣ��Ʈ�� ����� �������� ������ �� �ִ�. peer�� ���� ����Ʈ�� �ִ� �ּҵ鸸�� ��û�� �� �ִ�. ����ȭ�Ͽ���, �츮�� c3po�� �װ��� ���� IP �ּҸ� ����ϵ��� �ϰ� �ִ�.
PAP�� ����������δ� �ټ� ���ϴٴ� ���� �����϶�. ���� �����ϴٸ� CHAP�� ����ϱ⸦ �����Ѵ�. ���� ������� PAP�� ���� ���а� �ٷ����� ���� ���̴�. PAP�� ����ϴµ� ������ �ִٸ� pppd(8) �Ŵ��� ���������� �� ���� PAP�� Ư¡�� ���ؼ� ã�ƺ����� �϶�.
pppd�� ������ ���� ���ؼ��� ���� command line���� ������ �ɼ��� �߰��� �ֱ⸸ �ϸ� �ȴ�. ���� �̻������δ�, ����� ppp��� Ư���� ������ �ϳ� ���� �� ������ �α��� ���� pppd �ɼ��� �ִ� ��ũ��Ʈ�� �ָ� �ȴ�. �� ���� ����� /etc/passwd�� ������ ���� �߰��ϸ� �ȴ�.
ppp:*:500:200:Public PPP Account:/tmp:/etc/ppp/ppplogin
����, ����� ���� ������ ������ �Ͱ��� �ٸ� uid�� gid�� �������� ��. �� passwd ������ �̿��ؼ� ���� ������ ��й�ȣ�� �ο��ؾ� �Ѵ�.
ppp �α��� ��ũ��Ʈ�� �Ƹ� ������ ���� ���̴�.
#!/bin/sh # ppplogin - script to fire up pppd on login mesg n stty -echo exec pppd -detach silent modem crtscts
mseg ������ �ٸ� ����ڵ��� ������� tty�� ���⸦ �Ұ����ϰ� �Ѵ�. ����, write ������ �� �� �ִ�. stty ������ ������ echo�� ����. �̰��� peer�� ���� ������ ehco�Ǿ� �ǵ��� �ü��� �ֱ� ������ �ʿ��ϴ�. ������ �־��� ���� �߿��� pppd �ɼ��� -detach �����̴�. �̰��� control���� tty���� pppd�� detach�ϴ� ���� ���� �����̴�. ���� �츮�� �� �ɼ��� ������� �ʴ´ٸ� pppd�� ������ ���� �ǰ�, � �� ��ũ��Ʈ�� ������ ������ ��. �̷� ���� �ø��� ������ ����� ������ �����ȴ�. silent �ɼ��� pppd�� �����ϱ� ���� ��ȭ�Ŵ� �� �ý����� ��Ŷ�� ���� ������ ��ٸ����� �ϰ� �Ѵ�. �̰��� ��ȭ�Ŵ� ���� �ý����� PPP Ŭ���̾�Ʈ�� ������ �ʹ� ���� �� timeout�� �Ǿ� ����� ���� ������ �ش�. ���� ���� peer�� ���ӿ��� ������ �ʾҴ��� �����ϴ� DTR ������ pppd watch�� �����, crtscts�� �ϵ���� handshake�� �۵���Ų��.
�̷��� �ɼǵ� �̿ܿ���, ����� �� ���� �� ������ ������ ���� ���� �ִ�, �� ���� pppd�� command line���� ������� ������ �����ϰų�, ��ü���� �ɼǿ��� ������ �� �� �ִ�. man �������� �� ���� ������ ���� �������ݿ� ���� �ɼ��� �Ѱ� ���� �Ϳ� ���� ���Ǹ� �ϰ� �ִ�.