탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 관리: 네트워크 서비스 Oracle Solaris 11 Information Library (한국어) |
PPP 관련 문제 및 PPPoE 관련 문제를 해결하는 방법에 대한 자세한 내용은 다음 절을 참조하십시오.
PPP 링크가 활성 상태가 되지만 원격 네트워크에서 연결할 수 있는 네트워크가 거의 없는 경우 네트워크 문제가 표시될 수 있습니다. 다음 절차에서는 PPP 링크에 영향을 주는 네트워크 문제를 격리하고 해결하는 방법을 보여줍니다.
자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오.
noccp novj nopcomp noaccomp default-asyncmap
이러한 옵션은 사용 가능한 PPP 중 압축되지 않은 가장 단순한 PPP를 제공합니다. 명령줄에서 pppd에 대한 인수로 이러한 옵션을 호출해 보십시오. 이전에 연결할 수 없었던 호스트에 연결할 수 있는 경우 다음 위치 중 하나에 옵션을 추가합니다.
/etc/ppp/peers/peer-name에서 call 옵션 뒤
/etc/ppp/options(옵션이 전역적으로 적용되는지 확인)
% pppd debug call peer-name
예를 들어, 모든 PPP 구성 파일에서 다음 형식을 사용합니다.
connect 'chat -v -f /etc/ppp/chatfile'
/etc/ppp/chatfile은 채트 파일의 이름을 나타냅니다.
디버깅 로그를 관찰합니다. 계속 원격 호스트에 연결할 수 없으면 PPP 문제가 네트워크 관련 문제일 수 있습니다.
일부 조직에서는 로컬 네트워크 내에서 알려져 있지만 인터넷으로 경로를 지정할 수 없는 내부 IP 주소를 지정합니다. 원격 호스트가 회사 내에 있는 경우 NAT(이름-주소 변환) 서버 또는 프록시 서버를 설정해야 인터넷에 연결할 수 있습니다. 원격 호스트가 회사 내에 있지 않은 경우에는 원격 조직에 문제를 보고해야 합니다.
# ndd -set /dev/ip ip_forwarding 1
ndd에 대한 자세한 내용은 ndd(1M) 매뉴얼 페이지를 참조하십시오.
Solaris 10 릴리스에서는 ndd(1M) 대신 routeadm(1M)을 사용할 수 있습니다.
# routeadm -e ipv4-forwarding -u
주 - ndd 명령은 지속되지 않습니다. 이 명령을 사용하여 설정하는 값은 시스템을 재부트할 때 손실됩니다. routeadm 명령은 지속됩니다. 이 명령을 사용하여 설정하는 값은 시스템을 재부트한 후에도 유지됩니다.
netstat에 대한 자세한 내용은 netstat(1M) 매뉴얼 페이지를 참조하십시오.
자세한 내용은 PPP에 영향을 주는 일반적인 네트워크 문제를 참조하십시오.
잘못된 이름 서비스 구성을 사용하면 IP 주소를 확인할 수 없기 때문에 응용 프로그램에 오류가 발생합니다.
netstat - s에 의해 생성되는 메시지를 사용하여 다음 표에 나와 있는 네트워크 문제를 해결할 수 있습니다. 관련 절차 정보는 네트워크 문제를 진단하는 방법을 참조하십시오.
표 21-2 PPP에 영향을 주는 일반적인 네트워크 문제
|
통신 문제는 두 피어가 성공적으로 링크를 설정할 수 없을 때 발생합니다. 실제로는 이러한 문제가 잘못 구성된 채트 스크립트로 인해 발생하는 협상 문제인 경우도 있습니다. 다음 절차에서는 통신 문제를 해결하는 방법을 보여줍니다. 잘못된 채트 스크립트로 인해 발생하는 협상 문제를 해결하려면 표 21-5를 참조하십시오.
자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오.
% pppd debug call peer-name
특정 통신 문제를 해결하려면 피어에서 디버깅 정보를 가져와야 할 수도 있습니다.
다음 표에는 통신 문제를 진단하고 해결하는 방법 절차의 로그 출력과 관련된 증상이 설명되어 있습니다.
표 21-3 PPP에 영향을 주는 일반적인 통신 문제
|
일부 PPP 문제는 PPP 구성 파일의 문제 때문에 발생할 수 있습니다. 다음 절차에서는 일반적인 구성 문제를 격리하고 해결하는 방법을 보여줍니다.
자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오.
% pppd debug call peer-name
다음 표에는 PPP 구성을 사용하여 문제를 진단하는 방법 절차의 로그 출력과 관련된 증상이 설명되어 있습니다.
표 21-4 일반적인 PPP 구성 문제
|
모뎀은 다이얼 업 링크의 주요 문제 영역이 될 수 있습니다. 흔히 피어로부터 응답이 없을 때 모뎀 구성에 문제가 있다는 사실을 알 수 있습니다. 그러나 링크 문제가 정말로 모뎀 구성 문제의 결과인지는 확인하기가 어려울 수 있습니다.
모뎀 제조업체의 설명서 및 웹 사이트에 특정 장비 문제에 대한 해결 방법이 포함되어 있습니다. 다음 절차는 잘못된 모뎀 구성으로 인해 링크 문제가 발생했는지 여부를 확인하는 데 도움이 됩니다.
ping에 대한 자세한 내용은 ping(1M) 매뉴얼 페이지를 참조하십시오.
작은 패킷을 받았지만 더 큰 패킷을 삭제한 경우에는 모뎀 문제가 표시됩니다.
% netstat -ni Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue lo0 8232 127.0.0.0 127.0.0.1 826808 0 826808 0 0 0 hme0 1500 172.21.0.0 172.21.3.228 13800032 0 1648464 0 0 0 sppp0 1500 10.0.0.2 10.0.0.1 210 0 128 0 0 0
시간이 지남에 따라 인터페이스 오류가 늘어나면 모뎀 구성에 문제가 있을 수 있습니다.
일반 오류
결과 /var/log/pppdebug 로그를 표시할 때 출력에 다음 증상이 나타나면 모뎀 구성이 잘못된 것일 수 있습니다. 로컬 시스템은 피어를 들을 수 있지만 피어는 로컬 시스템을 들을 수 없습니다.
피어로부터 아무 “recvd” 메시지도 받지 못했습니다.
출력에 피어로부터 받은 LCP 메시지가 포함되어 있지만 로컬 시스템이 보낸 too many LCP Configure Requests 메시지와 함께 링크가 실패합니다.
링크가 SIGHUP 신호와 함께 종료됩니다.
chat에서 디버깅 정보를 가져오기 위한 다음 절차와 일반적인 문제를 해결하는 방법에 대한 제안 사항을 사용하십시오. 자세한 내용은 일반적인 채트 스크립트 문제를 참조하십시오.
자세한 내용은 Oracle Solaris 관리: 보안 서비스의 관리 권한을 얻는 방법을 참조하십시오.
connect "/usr/bin/chat -v -f /etc/ppp/chat-script-name"
다음은 chat에 대해 발생하는 주요 오류입니다.
Oct 31 08:57:13 deino chat[107294]: [ID 702911 local2.info] expect (CONNECT) Oct 31 08:57:58 deino chat[107294]: [ID 702911 local2.info] alarm Oct 31 08:57:58 deino chat[107294]: [ID 702911 local2.info] Failed
예에서는 (CONNECT) 문자열을 기다리는 동안 시간이 초과되었음을 보여줍니다. chat가 실패하면 pppd로부터 다음 메시지가 반환됩니다.
Connect script failed
채트 스크립트는 다이얼 업 링크에 대해 문제가 발생하기 쉬운 영역입니다. 다음 표에는 일반적인 채트 스크립트 오류와 오류를 해결하기 위한 제안 사항이 나와 있습니다. 절차 정보는 채트 스크립트에 대한 디버깅 정보를 가져오는 방법을 참조하십시오.
표 21-5 일반적인 채트 스크립트 문제
|
속도 설정이 충돌하여 다이얼 인 서버에 문제가 발생할 수 있습니다. 다음 절차는 링크 문제의 원인을 충돌하는 직렬 회선 속도로 격리하는 데 도움이 됩니다.
다음 동작으로 인해 속도 문제가 발생합니다.
/bin/login과 같은 프로그램을 통해 PPP를 호출하고 회선의 속도를 지정했습니다.
mgetty에서 PPP를 시작하고 실수로 비트 속도를 제공했습니다.
pppd는 회선에 대해 원래 설정된 속도를 /bin/login 또는 mgetty에 의해 설정된 속도로 변경합니다. 결과적으로 회선에 문제가 발생합니다.
지침이 필요하면 PPP 디버깅을 켜는 방법을 참조하십시오.
출력에서 다음 메시지를 확인합니다.
LCP too many configure requests
이 메시지는 PPP에 대해 구성된 직렬 회선의 속도가 충돌했을 수 있음을 나타냅니다.
그런 경우 pppd가 원래 구성된 회선 속도를 /bin/login에 지정된 속도로 변경합니다.
이 작업도 직렬 회선 속도가 충돌하게 만듭니다.
PPP 및 표준 UNIX 유틸리티를 사용하여 PPPoE 문제를 식별할 수 있습니다. PPPoE가 링크 문제의 원인으로 의심되는 경우 다음 진단 도구를 사용하여 문제 해결 정보를 얻으십시오.
다음 예에서는 PPPoE 터널과의 링크에 대해 생성된 로그 파일의 일부분을 보여줍니다.
Sep 6 16:28:45 enyo pppd[100563]: [ID 702911 daemon.info] Plugin pppoe.so loaded. Sep 6 16:28:45 enyo pppd[100563]: [ID 860527 daemon.notice] pppd 2.4.0b1 (Sun Microsystems, Inc., Sep 5 2001 10:42:05) started by troot, uid 0 Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] connect option: '/usr/lib/inet/pppoec -v hme0' started (pid 100564) Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.info] Serial connection established. Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.info] Using interface sppp0 Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.notice] Connect: sppp0 <--> /dev/sppptun Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] /etc/ppp/pap-secrets is apparently empty Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] /etc/ppp/chap-secrets is apparently empty Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] sent [LCP ConfReq id=0xef <mru 1492> asyncmap 0x0 <magic 0x77d3e953><pcomp><acomp> Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] rcvd [LCP ConfReq id=0x2a <mru 1402> asyncmap 0x0 <magic 0x9985f048><pcomp><acomp
# pppd connect "/usr/lib/inet/pppoec -v interface-name"
pppoec는 진단 정보를 stderr로 보냅니다. 전면에서 pppd를 실행하면 화면에 출력이 나타납니다. 배경에서 pppd를 실행하면 출력이 /etc/ppp/connect-errors로 전송됩니다.
다음 예에서는 PPPoE 터널이 협상되면서 생성되는 메시지를 보여줍니다.
Connect option: '/usr/lib/inet/pppoec -v hme0' started (pid 100564) /usr/lib/inet/pppoec: PPPoE Event Open (1) in state Dead (0): action SendPADI (2) /usr/lib/inet/pppoec: Sending PADI to ff:ff:ff:ff:ff:ff: 18 bytes /usr/lib/inet/pppoec: PPPoE State change Dead (0) -> InitSent (1) /usr/lib/inet/pppoec: Received Active Discovery Offer from 8:0:20:cd:c1:2/hme0:pppoed /usr/lib/inet/pppoec: PPPoE Event rPADO+ (5) in state InitSent (1): action SendPADR+ (5) /usr/lib/inet/pppoec: Sending PADR to 8:0:20:cd:c1:2: 22 bytes /usr/lib/inet/pppoec: PPPoE State change InitSent (1) -> ReqSent (3) /usr/lib/inet/pppoec: Received Active Discovery Session-confirmation from 8:0:20:cd:c1:2/hme0:pppoed /usr/lib/inet/pppoec: PPPoE Event rPADS (7) in state ReqSent (3): action Open (7) /usr/lib/inet/pppoec: Connection open; session 0002 on hme0:pppoe /usr/lib/inet/pppoec: PPPoE State change ReqSent (3) -> Convers (4) /usr/lib/inet/pppoec: connected
진단 메시지가 문제를 격리하는 데 도움이 되지 않는 경우 이 절차를 계속하십시오.
snoop에 대한 자세한 내용은 snoop(1M) 매뉴얼 페이지를 참조하십시오.
# snoop -o pppoe-trace-file
# snoop -i pppoe-trace-file -v pppoe
ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 1 arrived at 6:35:2.77 ETHER: Packet size = 32 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 8:0:20:78:f3:7c, Sun ETHER: Ethertype = 8863 (PPPoE Discovery) ETHER: PPPoE: ----- PPP Over Ethernet ----- PPPoE: PPPoE: Version = 1 PPPoE: Type = 1 PPPoE: Code = 9 (Active Discovery Initiation) PPPoE: Session Id = 0 PPPoE: Length = 12 bytes PPPoE: PPPoE: ----- Service-Name ----- PPPoE: Tag Type = 257 PPPoE: Tag Length = 0 bytes PPPoE: PPPoE: ----- Host-Uniq ----- PPPoE: Tag Type = 259 PPPoE: Tag Length = 4 bytes PPPoE: Data = Ox00000002 PPPoE: . . . ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 5 arrived at 6:35:2.87 ETHER: Packet size = 60 bytes ETHER: Destination = 8:0:20:78:f3:7c, Sun) ETHER: Source = 0:2:fd:39:7f:7, ETHER: Ethertype = 8864 (PPPoE Session) ETHER: PPPoE: ----- PPP Over Ethernet ----- PPPoE: PPPoE: Version = 1 PPPoE: Type = 1 PPPoE: Code = 0 (PPPoE Session) PPPoE: Session Id = 24383 PPPoE: Length = 20 bytes PPPoE: PPP: ----- Point-to-Point Protocol ----- PPP: PPP-LCP: ----- Link Control Protocol ----- PPP-LCP: PPP-LCP: Code = 1 (Configure Request) PPP-LCP: Identifier = 80 PPP-LCP: Length = 18