PPPOED(8)

명칭
pppoed - PPP over Ethernet 가 기다리고를 취급한다

서식
pppoed [-Fd] [-P pidfile] [-a name] [-e exec | -l label] [-n ngdebug] [-p provider] interface

해설
pppoed 유틸리티는, 지정되었다 interface 에 대해서 PPP over Ethernet (PPPoE) 서비스 요구 패킷을 listen 해, 이 패킷에의 대응으로서 세션 교섭 후에 ppp(8) 프로그램을 기동합니다. 교섭은 “pppoe” netgraph 노드로서 실장되고 있습니다. 자세한 것은 ng_pppoe(4) (을)를 참조해 주세요.

pppoed 유틸리티는, 지정되었다 provider (으)로부터 서비스를 요구하고 있는 클라이언트 에 대해서만, 서비스를 제공합니다. provider (은)는, 지정되지 않는 경우에는 하늘의 이름으로 여겨집니다. provier 이름으로서 “*” 하지만 지정되면(자), 모든 PPPoE 요구에 대해서 서비스가 제공됩니다.

지정했다 name (은)는, 접속 확립시에, 액세스 집중자 (access concentrator) 명으로서 주어집니다. name (을)를 지정하지 않으면 현재의 베이스 호스트명이 사용됩니다.

PPPoE netgraph 노드로부터의 요구 (PADI) 수신 후는, pppoed (은)는 child process를 fork(2) 해, 한층 더 요구에 서비스하기 위해서 돌아옵니다. child process는 ( name (을)를 사용해) 서비스를 제공해, PPPoE 노드로부터의 「성공」 표시를 기다립니다. 「성공」표시를 받으면(자), pppoed (은)는 다음의 명령을 쉘의 서브 프로세스로서 실행합니다.

    exec /usr/sbin/ppp -direct label

label (은)는, 지정되지 않는 경우, provider (이)가 됩니다. exec 인수를 사용하는 것으로써, 다른 명령을 지정 가능합니다. provider (와)과 label (을)를 지정하지 않는 경우에는, 이것은 필수입니다. 이 child process는 개시시에, 표준 입력과 표준 출력이, 같다 netgraph(4) 데이터 소켓 ( ng_socket(4) 참조)에 접속됩니다.

환경 변수 HISMACADDR (와)과 ACNAME (은)는, child process도 사용 가능합니다. 이것들은 각각, 대향의 MAC 주소와 AC 명으로 설정됩니다.

pppoed (은)는 기동시에, “interface”: (을)를 노드명으로서 사용해, “pppoe” netgraph 노드를 적절한 “ether” 노드에 접속합니다. 그 후 이 “pppoe” 노드를 로컬의 “socket” 노드에 접속합니다. -F 옵션을 지정하지 않으면 pppoed (은)는 백그라운드 모드에 이행 해, 제어 단말을 떼어냅니다. -F 옵션을 지정하면(자), pppoed (은)는 foreground에 머무릅니다.

-d 옵션을 지정하면(자), 추가의 진단 기능이 제공됩니다 (후술의 진단 (을)를 참조해 주세요). -n 옵션을 지정하면(자), NgSetDebug() 하지만 인수 ngdebug 그리고 불립니다.

pidfile (을)를 지정하면(자), pppoed (은)는 기동시에, 자기의 프로세스 ID 를 이 파일에 기입합니다.

진단
전술과 같이 필요한 netgraph(4) 노드를 작성한 다음에는, pppoed 하 syslogd(8) (을)를 사용해, 모든 받아들인 접속을 보고합니다. -d 옵션을 지정하면(자), pppoed (은)는 신규 netgraph 소켓에서의 child process 생성과 그 서비스 제공, ppp(8) 프로그램의 기동에 관해서 보고합니다. -n 옵션을 지정하면(자), netgraph 진단 메세지도 syslogd(8) 에 리디렉트 됩니다.

/etc/syslog.conf 우와

    ! pppoed
    *. *				/var/log/pppoed.log

    (을)를 추가해,
    /etc/newsyslog.conf
    우와

        /var/log/pppoed.log			640  3	   100	*     Z

    (을)를 추가하면(자) 편리한 경우가 있습니다.

관련 항목
NgSetDebug(3), netgraph(4), ng_ether(4), ng_pppoe(4), ng_socket(4), syslog.conf(5), ppp(8), syslogd(8)

버그
지정한 인터페이스를 다른 netgraph 노드가 사용하고 있는 경우, pppoed (은)는 개시할 수 없습니다. 현재의 netgraph(4) (은)는, 노드의 연쇄를 허락하지 않기 때문입니다. 장래 이것은 변경될지도 모릅니다.

역사
pppoed 유틸리티는 Brian Somers <brian@Awfulhak.org> 하지만 기술해, FreeBSD 3.4 그리고 첫등장 했습니다.