서버 정보 :
OS : CentOS 4.4 ServerCD i386 _ 2.6.9-42.0.8.EL
Samba : samba-3.0.10-1.4E.9
IP : 192.168.0.254
Subnet : 255.255.255.0
G/W : 192.168.0.1

아래와 같은 커널 에러메시지 :
kernel: 192.168.0.203 sent an invalid ICMP type 3, code 3 error to a broadcast: 192.168.0.255 on eth0

TCP 덤프 결과 :
[root@Sample-local ~]# tcpdump -i eth0 -n icmp
11:21:16.390614 IP 192.168.0.203 > 192.168.0.254: icmp 36: 192.168.0.255 udp port netbios-ns unreachable
* tcpdump 에서 위 한줄이 검출될때마다 커널 에러메시지 한줄씩이 로깅된다.

해결 방법 :
/etc/sysctl.conf 에 아래 한줄 추가 후 재부팅.
net.ipv4.icmp_ignore_bogus_error_responses=1

또는
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
–> 바로 적용되며
부팅 시 실행되게 하려면 /etc/rc.local에 한 줄 추가.

원인 :
정확한 원인은 192.168.0.203 IP의 서버(유닉스)를 조사해 보아야 나오겠지만, Samba nmbd데몬과 해당 PC와의 netbios 통신 관련 문제인듯 싶다. 아마도 해당 시스템의 netbios 이름을 못 가져와서 그런거 같으며, 해당 시스템이 samba를 운영하지만 netbios 네임 세팅이 제대로 안된거 같다.

– 192.168.0.203 서버(유닉스)는 값이 산출이 안된다.
[root@Sample-local ~]# nmblookup -A 192.168.0.203
Looking up status of 192.168.0.203
No reply from 192.168.0.203

– 정상적인 Windows PC들의 경우 아래와 같이 netbios 이름과 MAC 어드레스가 보인다.
[root@Sample-local ~]# nmblookup -A 192.168.0.205
Looking up status of 192.168.0.205
        HELIOS          <00> –         H
        HELIOS          <03> –         H
        HELIOS          <20> –         H
        WORKGROUP       <00> – <GROUP> H
        WORKGROUP       <1e> – <GROUP> H
        ..__MSBROWSE__. <01> – <GROUP> H
        WORKGROUP       <1d> –         H


        MAC Address = 00-13-F7-8A-79-9B

ICMP Type 3 에러 원인을 설명한 사이트 :
http://dariotigani.wordpress.com/2011/12/26/last-hop-second-packet-the-mystery/

invalid ICMP type 3, code 3 error to a broadcast: 에러처리.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다